Граф коммитов

70885 Коммитов

Автор SHA1 Сообщение Дата
Jim Blandy 91b62e5a8d Bug 1501666: Include suspended generators in count of Debugger.Frames with onStep handlers. r=jorendorff
Debugger::onSingleStep asserts that the script's step mode count is fully
accounted for by Debugger.Frame instances with onStep handlers. The existing
assertion only takes into account live Debugger.Frames --- it simply looks up
the current frame's AbstractFramePtr in existing Debuggers' frame maps. But
Debugger.Frames referring to suspended generator calls also contribute to the
generator's script's step mode count, and need to be included.

Differential Revision: https://phabricator.services.mozilla.com/D27846

--HG--
extra : moz-landing-system : lando
2019-05-08 06:14:24 +00:00
Geoff Brown b999abfaca Bug 1549763 - Skip perma-failing jittest bug1161762.js on aarch64; r=egao
Differential Revision: https://phabricator.services.mozilla.com/D30253

--HG--
extra : moz-landing-system : lando
2019-05-07 20:35:08 +00:00
Csoregi Natalia fb454d3ca1 Merge mozilla-central to autoland. CLOSED TREE 2019-05-08 00:48:33 +03:00
André Bargull ddc52541f4 Bug 1547039: Adjust async-generator state when manually closing an async-generator. r=arai
Similar to AutoSetGeneratorRunning, AdjustGeneratorResumptionValue also needs to modify the
async-generator state in addition to the shared generator state.

Differential Revision: https://phabricator.services.mozilla.com/D30035

--HG--
extra : moz-landing-system : lando
2019-05-07 04:11:58 +00:00
Jim Blandy 60c6545bf5 Bug 1548075: Remove 'closing' state from AbstractGeneratorObject. r=iain
The generator 'closing' state, indicated by the value RESUME_INDEX_CLOSING in an
AbstractGeneratorObject's RESUME_INDEX_SLOT is never distinguished from the
'running' state, so RESUME_INDEX_CLOSING, and its associated setters and
predicates, can be removed.

RESUME_INDEX_RUNNING remains as a magic value appearing in the resume index
slot, and is now used as an upper bound on normal resume index values instead of
RESUME_INDEX_CLOSING.

Differential Revision: https://phabricator.services.mozilla.com/D29391

--HG--
extra : moz-landing-system : lando
2019-05-07 18:04:17 +00:00
Luke Wagner b33189e9bf Bug 1546138 - Baldr: remove indirection from table.get return value (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D29596

--HG--
extra : rebase_source : 4741d62fff7ee8eeccb34c955c8b0c945022398f
extra : histedit_source : 2bd11cb0d65d18dbe2d233a92daa587ced41ae2b
2019-05-01 15:13:43 -05:00
Luke Wagner 924a3e786a Bug 1546138 - Baldr: do failure checking in masm.wasmCallBulitinInstanceMethod (r=lth)
This patch further centralizes builtin signature information into
SymbolicAddressSignature, removing more than 100 lines of code
and preparing the way for the next patch, which will use this
eager error check to return a JSObject* from Instance::tableGet.

Differential Revision: https://phabricator.services.mozilla.com/D29595

--HG--
extra : rebase_source : cea08b16b0caca43ae983584faf39fc020606e71
extra : histedit_source : 72b5da9c3c905f43a0caedbf842b9f950532b473
2019-05-01 16:55:05 -05:00
Luke Wagner 11d65b993a Bug 1546138 - Baldr: remove indirection from table.get return value (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D29596

--HG--
extra : rebase_source : 3a25138794b1c198dccb2d00a612e0c2f469cbf8
2019-05-01 15:13:43 -05:00
Luke Wagner 4db62f1e1f Bug 1546138 - Baldr: do failure checking in masm.wasmCallBulitinInstanceMethod (r=lth)
This patch further centralizes builtin signature information into
SymbolicAddressSignature, removing more than 100 lines of code
and preparing the way for the next patch, which will use this
eager error check to return a JSObject* from Instance::tableGet.

Differential Revision: https://phabricator.services.mozilla.com/D29595

--HG--
extra : rebase_source : 64487029305c1d50c3d525509130a7992e3167b0
2019-05-01 16:55:05 -05:00
Ashley Hauck 59a0ddf3f4 Bug 1547129 - Change JSOP_INITPROP implementation to DefineDataProperty. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D29069

--HG--
extra : moz-landing-system : lando
2019-05-10 19:21:45 +00:00
Ryan Hunt 1751a8ddbf Bug 1548939 - Devirtualize BrowserChild IPDL methods. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D30150

--HG--
extra : rebase_source : d657164153889209adfe4b946c56bcbb8f7c858b
extra : histedit_source : b5df9ab9ec8202f5c00c166baf7029e6290da728
2019-05-06 14:29:29 -05:00
Jon Coppeard f77649fb9f Bug 1548793 - Add some more assertions when creating ProxyObjects r=jandem?
Differential Revision: https://phabricator.services.mozilla.com/D29806

--HG--
extra : moz-landing-system : lando
2019-05-03 11:19:09 +00:00
Lars T Hansen 165d0dafd4 Bug 1545755 - Support (result t) syntax for block and if. r=jseward
wasmTextToBinary allows a naked type name, but standard wat
syntax requires (result t) for ifs and blocks.  Supporting
this in wasmTextToBinary makes it easier to share wasm
source code among the tools.

Differential Revision: https://phabricator.services.mozilla.com/D30098

--HG--
extra : moz-landing-system : lando
2019-05-07 07:12:52 +00:00
Tooru Fujisawa a086143db0 Bug 1549340 - Use macro instead of static method to pass reinterpret_cast to constexpr. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D30158

--HG--
extra : moz-landing-system : lando
2019-05-07 06:53:28 +00:00
Oana Pop Rus 251b4874dc Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-07 01:33:06 +03:00
Oana Pop Rus 65399363fb Merge inbound to mozilla-central. a=merge 2019-05-07 00:45:24 +03:00
Dorel Luca f5e47bf12e Backed out changeset 1f47ae47ceac (bug 1546383) for Spidermonkey failures in js\src\jit-test\tests\cacheir\getter-primitive-value.js. CLOSED TREE 2019-05-07 00:56:51 +03:00
Iain Ireland 4b8f561ab6 Bug 1533890: Turn on CacheIR call ICs by default r=mgaudet
This patch enables CacheIR call ICs by default, and turns off the old call ICs when CacheIR ICs are turned on.

Differential Revision: https://phabricator.services.mozilla.com/D29537

--HG--
extra : moz-landing-system : lando
2019-05-06 20:02:01 +00:00
Iain Ireland 7506da4681 Bug 1549035: Remove const string split optimization r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D30093

--HG--
extra : moz-landing-system : lando
2019-05-06 19:48:29 +00:00
André Bargull 95d79c3288 Bug 1546383: Add CacheIR support for calling getters on primitive values. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D28489

--HG--
extra : moz-landing-system : lando
2019-05-06 13:58:35 +00:00
Ted Campbell f27608353b Bug 1549396 - Disable flaky GC test. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D30058

--HG--
extra : moz-landing-system : lando
2019-05-06 14:56:51 +00:00
Jan de Mooij 5094d3ff5e Bug 1549363 - Add missing mozilla/Sprintf.h include in GeckoProfiler.cpp to fix beta simulation bustage. r=tcampbell
Bug 1548510 part 2 moved some code into this file without including the
header for SprintfLiteral.

Differential Revision: https://phabricator.services.mozilla.com/D30062

--HG--
extra : moz-landing-system : lando
2019-05-06 14:51:48 +00:00
André Bargull 8bb35d6491 Bug 1421400 - Part 4: Enable test262 numeric separator tests. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D28532

--HG--
extra : moz-landing-system : lando
2019-05-05 09:48:46 +00:00
André Bargull 65344b5709 Bug 1421400 - Part 3: Implement "Numeric Separator" stage 3 proposal. r=jorendorff
TokenStream.cpp:
- Allow '_' between digits per the proposal.
- It's a SyntaxError if '_' is not followed by another digit.
- It's also a SyntaxError if '_' is not preceded by a digit, e.g. |1._1|.
- '_' is not allowed in legacy octal literals and (the integer part of) noctal
  literals (|07_1| and |09_1| are disallowed, but |09.1_2| is allowed).

jsnum.{h,cpp}:
- Add an option to GetPrefixInteger(...) to ignore '_' in numbers when called
  from TokenStream.
- Add GetDecimalNonInteger(...) as the counterpart of GetDecimalInteger(...)
  which parses non-integer decimals. Adding a new function is simpler than
  modifying js_strtod to conditionally ignore '_' in this case.
- GetDecimalInteger(...) and GetDecimalNonInteger(...) are only called from
  TokenStream, so both functions always ignore '_'.
- ComputeAccurateDecimalInteger(...) and ComputeAccurateBinaryBaseInteger(...)
  both now ignore '_'. This is correct even when called from GetPrefixInteger(...)
  with |IntegerSeparatorHandling::None|, because GetPrefixInteger(...) already
  selects the parseable integer prefix.

Differential Revision: https://phabricator.services.mozilla.com/D28531

--HG--
extra : moz-landing-system : lando
2019-05-05 09:56:09 +00:00
André Bargull 9084bec132 Bug 1421400 - Part 2: Remove JSMSG_BAD_OCTAL warning now that noctal literals are part of the spec. r=jorendorff
Changes for legacy octal and noctal literal parsing are in preparation for the
next part.

Differential Revision: https://phabricator.services.mozilla.com/D28530

--HG--
extra : moz-landing-system : lando
2019-05-05 09:47:50 +00:00
André Bargull 0bbd4603d7 Bug 1421400 - Part 1: Add TokenStream::matchInteger to parse an integer string. r=jorendorff
Part 3 will add the numeric separator parsing to this function.

Differential Revision: https://phabricator.services.mozilla.com/D28529

--HG--
extra : moz-landing-system : lando
2019-05-05 09:55:48 +00:00
Jan de Mooij 0ef93c53db Bug 1547179 - Remove an assertion that's no longer valid because rt->profilingScripts no longer implies IsLCovEnabled. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D28952

--HG--
extra : moz-landing-system : lando
2019-05-03 12:28:57 +00:00
Paul Bone cc7e371160 Bug 1532838 - Set minimum nursery size to 256KB r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D29816

--HG--
extra : moz-landing-system : lando
2019-05-06 03:16:06 +00:00
Paul Bone d3857d4888 Bug 1532838 - Add a pref for the minimum nursery size r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D29815

--HG--
extra : moz-landing-system : lando
2019-05-06 03:14:22 +00:00
Jeff Walden 710d4d71ea Bug 1547478 - XDR BinAST metadata using deduplicated BinAST data so that pointers in the metadata will correctly point into the deduplicated data, not into user-provided data that hasn't been deduplicated yet. r=tcampbell
Depends on D29266

Differential Revision: https://phabricator.services.mozilla.com/D29547

--HG--
extra : moz-landing-system : lando
2019-05-03 21:49:52 +00:00
Jon Coppeard 4f873399c9 Bug 1548242 - Use cross compartment wrapper map to calculate debugger's sweep group edges where possible r=sfink?
Rather than consulting the debugger weak maps to add reverse edges corresponding to forward edges added for cross compartment wrappers, add both forward and reverse edges when iterating the cross compartment wrapper map.  Remove zone counts from debugger weak maps.

Differential Revision: https://phabricator.services.mozilla.com/D29496

--HG--
extra : moz-landing-system : lando
2019-05-03 16:49:13 +00:00
Iain Ireland 971ff548ca Bug 1548538: Refactor IsCacheableGetPropCall r=tcampbell
Cleaning some stuff up while we're touching this code.

Differential Revision: https://phabricator.services.mozilla.com/D29752

--HG--
extra : moz-landing-system : lando
2019-05-03 19:15:03 +00:00
Ted Campbell d14b20c96c Bug 1548903 - Remove unused JS TypeInference methods. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D29865

--HG--
extra : moz-landing-system : lando
2019-05-03 18:17:39 +00:00
Iain Ireland 0512ebbbac Bug 1533890: Minor cleanups r=mgaudet
1. In bug 1545278, Ted is making our story about guarding on object pointer identity more robust. Since I am adding a new guardSpecificObject call in the ConstStringSplit patch, it seemed reasonable to add guardSpecificFunction now instead of later.
2. It's not directly relevant in the current patch, but in a previous version of the StringSplit patch (before I realized we could delete the whole thing) it turned out that calling isSelfHostedFunctionWithName on an arbitrary function can trigger assertions, because GetSelfHostedFunctionName assumes isExtended, but isSelfHostedBuiltin does not necessarily imply isExtended (in the case of nested anonymous functions).
3. Fixing the format string in a JitSpew message I added in a previous stack.

Depends on D29535

Differential Revision: https://phabricator.services.mozilla.com/D29536

--HG--
extra : moz-landing-system : lando
2019-05-01 20:35:16 +00:00
Iain Ireland 3604082d9d Bug 1533890: Remove StringSplit call IC r=mgaudet
I started changing StringSplit to attach outside of self-hosted code, to match ConstStringSplit. Upon closer examination, the StringSplit IC doesn't actually add any value, and we're better off deleting it. The generated code calls StringSplitHelper, which ends up doing almost exactly the same thing as the call to intrinsic_StringSplitString it replaces. When we first wrote the patch (bug 1366377), the advantage was that we got to skip a lookup to determine the group of the resulting object. However, a subsequent patch created a single group for every StringSplitString result, which is basically free to look up.

I couldn't write a microbenchmark where the StringSplit IC made any difference, so let's just delete it and simplify our codebase.

Depends on D29534

Differential Revision: https://phabricator.services.mozilla.com/D29535

--HG--
extra : moz-landing-system : lando
2019-05-01 20:32:15 +00:00
Iain Ireland 906d1e5086 Bug 1533890: Create template objects for native constructors called without "new" r=mgaudet
Some native functions (for example, the Array constructor) have constructor-like behaviour even when called in a non-constructing context. We still want to create template objects for these cases. This fixes a noticeable regression in Speedometer (particularly in EmberJS-debug).

Depends on D29533

Differential Revision: https://phabricator.services.mozilla.com/D29534

--HG--
extra : moz-landing-system : lando
2019-05-01 20:13:07 +00:00
Iain Ireland 085f399820 Bug 1533890: Rewrite ConstStringSplit to work outside of microbenchmarks r=mgaudet
While trying to pin down a performance regression, I realized that both the new and the old implementations of ConstStringSplit are broken. Three years ago, as part of some ES6 work, we changed String.prototype.split to call a self-hosted String_split function instead of native str_split. In turn, String_split calls intrinsic_StringSplitString in the case we care about. However, because the call to intrinsic_StringSplitString is in self-hosted code, we would only get value out of this stub if there was only one caller of String_split in the entire program.

This patch changes ConstStringSplit to look for the self-hosted String_Split function, which means we can attach a stub to the user script instead of self-hosted code. It also adds support in BaselineInspector for extracting metadata about the string split from the stub, which enables the Ion version of this optimization.

Depends on D29532

Differential Revision: https://phabricator.services.mozilla.com/D29533

--HG--
extra : moz-landing-system : lando
2019-05-02 06:57:27 +00:00
Iain Ireland 1cbb4acb72 Bug 1533890: Don't push callee unnecessarily for jit calls r=mgaudet
When pushing arguments for a JIT call, we push the callee value onto the stack, and then immediately pop it off. This is a remnant of the old implementation.

This patch removes that wart, with a small detour to rewrite/recomment alignJitStackBasedOnNArgs for clarity.

Differential Revision: https://phabricator.services.mozilla.com/D29532

--HG--
extra : moz-landing-system : lando
2019-05-01 19:50:41 +00:00
Geoff Brown 0f0beaf249 Bug 1546553 - Disable some xpcshell tests on Android x86_64; r=jmaher
These tests need to be disabled to get a green run on the Android x86_64
test platform. The failures in toolkit/components/extensions are
concerning and definitely require follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D29843

--HG--
extra : moz-landing-system : lando
2019-05-03 16:50:15 +00:00
Boris Zbarsky e6c83d06e3 Bug 1548613. Get rid of FastGetGlobalJSObject. r=mccr8,jonco
Marking GetGlobalJSObject and GetGlobalJSObjectPreserveColor final and inline
on inner/outer windows allows compilers to de-virtualize and inline them, which
makes them just as fast as calling FastGetGlobalJSObject is now (in the case of
GetGlobalJSObjectPreserveColor; GetGlobalJSObject has to do the gray-unmarking,
which is a bit more work).

In WindowDestroyedEvent::Run we want to switch to GetGlobalJSObject(), because
we want to root the object and hence should unmark gray.

In nsGlobalWindowInner::RunTimeoutHandler we likewise want to unmark gray.  The
AutoEntryScript constructor likely did that already, but it's not that
expensive when it doesn't need to do any work.

Differential Revision: https://phabricator.services.mozilla.com/D29711

--HG--
extra : moz-landing-system : lando
2019-05-03 10:08:07 +00:00
Boris Zbarsky 517a6ebdd7 Bug 1547923 part 6. Make nsIGlobalObject::GetGlobalJSObject always expose to active JS. r=mccr8
See callsite audit in https://bugzilla.mozilla.org/attachment.cgi?id=9061976
for details on why the remaining GetGlobalJSObject callers should switch to the
"always expose" behavior.

Differential Revision: https://phabricator.services.mozilla.com/D29707

--HG--
extra : moz-landing-system : lando
2019-05-02 21:36:15 +00:00
Boris Zbarsky ff72e84ac1 Bug 1547923 part 4. Add nsIGlobalObject::HasJSGlobal(). r=mccr8
Consumers that just care about this boolean state should use this instead of
getting the JSObject* directly.

Differential Revision: https://phabricator.services.mozilla.com/D29705

--HG--
extra : moz-landing-system : lando
2019-05-02 21:32:17 +00:00
Boris Zbarsky 5c1d789bfa Bug 1547923 part 3. Add nsIGlobalObject::GetGlobalJSObjectPreserveColor(). r=mccr8
This can be used in things like assertions or some other rare circumstances
where not exposing the object to active JS is OK.

Differential Revision: https://phabricator.services.mozilla.com/D29704

--HG--
extra : moz-landing-system : lando
2019-05-02 21:23:35 +00:00
Jan de Mooij 1d6260396f Bug 1548510 part 2 - Deduplicate GeckoProfilerRuntime::allocProfileString and JitcodeGlobalEntry::createScriptString. r=jonco
These functions did the same thing in a slightly different way.

Differential Revision: https://phabricator.services.mozilla.com/D29799

--HG--
extra : moz-landing-system : lando
2019-05-03 10:15:51 +00:00
Jan de Mooij 48c9eed618 Bug 1548510 part 1 - Remove unnecessary GeckoProfilerRuntime::strings lock. r=jonco
This lock was necessary when the JITs used these strings (off-thread Ion compilation),
but now the lock was just adding overhead to each script we finalize etc.

This replaces ExclusiveData<> with MainThreadData<> to assert on-main-thread in debug
builds.

Differential Revision: https://phabricator.services.mozilla.com/D29798

--HG--
extra : moz-landing-system : lando
2019-05-03 10:11:16 +00:00
Jan de Mooij df3e7047f4 Bug 1544792 - Abort on try-catch blocks when doing definite properties analysis. r=nbp
Ion does not compile the catch block so the analysis fails to account for code
there.

Differential Revision: https://phabricator.services.mozilla.com/D29475

--HG--
extra : moz-landing-system : lando
2019-05-02 17:51:24 +00:00
Jan de Mooij c4167e27e8 Bug 1541404 part 19 - Add BaselineInterpreter class and use it in various places. r=tcampbell
I considered adding BaselineInterpreter.{h,cpp} files but there are shared
helper functions so this might get awkward. Maybe once the rest of the code is
in we can experiment with changes in this area.

Differential Revision: https://phabricator.services.mozilla.com/D29158

--HG--
extra : moz-landing-system : lando
2019-05-03 07:42:31 +00:00
Luke Wagner f738a3bed3 Bug 1546138 - Baldr: rename TableKind::TypedFunction to AsmJS (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D29299

--HG--
extra : rebase_source : 0e87c57ae41f64c1535c3b00386c0f91868b2222
extra : histedit_source : 20a27667dd5543b244ebd2cd979dc424439f820e
2019-04-24 16:57:07 -05:00
Luke Wagner 61a3900e67 Bug 1546138 - Baldr: add FuncRef to ValType (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D28724
***
Bug 1546138 - Baldr: remove (ref T) special case from Val union (r=lth)

Differential Revision: https://phabricator.services.mozilla.com/D29298

--HG--
extra : rebase_source : 1495303130eaf5e81e0222276ec628c6765c2e24
extra : histedit_source : baa9e0b47d5f2f05778a5bde3232df1bdbdd3408%2Cbf572fbe0950726a3dd119d17f2caa8150bf1bb3
2019-04-29 19:13:55 -05:00
Luke Wagner 4974aa1001 Bug 1546138 - Baldr: reflect 'anyfunc' to 'funcref' renaming in methods (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D28723

--HG--
extra : rebase_source : 83d1f179fbf3c402d8570dc533399f7152b87826
2019-04-29 18:00:26 -05:00
Luke Wagner 33c213e01c Bug 1546138 - Baldr: rename TableKind::TypedFunction to AsmJS (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D29299

--HG--
extra : rebase_source : 4a97e05742737484284d75565d74b0a92da03358
2019-04-24 16:57:07 -05:00
Luke Wagner 25379bbf0c Bug 1546138 - Baldr: add FuncRef to ValType (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D28724
***
Bug 1546138 - Baldr: remove (ref T) special case from Val union (r=lth)

Differential Revision: https://phabricator.services.mozilla.com/D29298

--HG--
extra : rebase_source : d0984d537dd8f45905e7f75585f1c2fc0560ffd0
2019-04-29 19:13:55 -05:00
Luke Wagner 0f61abc859 Bug 1546138 - Baldr: reflect 'anyfunc' to 'funcref' renaming in methods (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D28723

--HG--
extra : rebase_source : ad636421f4dfd37f845a72174de06d0f705082c6
2019-04-29 18:00:26 -05:00
Jan de Mooij 95888b91d6 Bug 1546228 - Check for dynamic protos in AddClearDefiniteGetterSetterForPrototypeChain. r=tcampbell
This likely was exposed to fuzzing when we added WindowProxy to the shell.

Differential Revision: https://phabricator.services.mozilla.com/D28667

--HG--
extra : moz-landing-system : lando
2019-04-24 19:36:17 +00:00
Jan de Mooij 05ef7dabfe Bug 1546594 - Move JitRuntime::generateDebugTrapHandler to shared code. r=nbp
This trampoline isn't performance sensitive so platform-specific optimizations
are not worth it.

Differential Revision: https://phabricator.services.mozilla.com/D28601

--HG--
extra : moz-landing-system : lando
2019-05-02 12:20:40 +00:00
Gurzau Raul b4e790d05f Merge inbound to mozilla-central. a=merge 2019-05-03 07:16:59 +03:00
Bogdan Tara 6d06f3decd Backed out 5 changesets (bug 1546138) for WasmTypes.h related spidermonkey builds bustages
Backed out changeset f9d1ae270d58 (bug 1546138)
Backed out changeset 094145132b7f (bug 1546138)
Backed out changeset 9f78bcde2e81 (bug 1546138)
Backed out changeset 54beb5e36110 (bug 1546138)
Backed out changeset 2b42fdbc6f6b (bug 1546138)
2019-05-03 02:28:05 +03:00
Luke Wagner a3d36caa05 Bug 1546138 - Baldr: remove indirection from table.get return value (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D29596

--HG--
extra : rebase_source : b2ac38d09e25e709ea4e75faeff5ac60eb59e969
2019-05-01 15:13:43 -05:00
Luke Wagner abf7ea566e Bug 1546138 - Baldr: do failure checking in masm.wasmCallBulitinInstanceMethod (r=lth)
This patch further centralizes builtin signature information into
SymbolicAddressSignature, removing more than 100 lines of code
and preparing the way for the next patch, which will use this
eager error check to return a JSObject* from Instance::tableGet.

Differential Revision: https://phabricator.services.mozilla.com/D29595

--HG--
extra : rebase_source : d2c7f27b80ebe3c0884845b471c3de61c0979047
2019-05-01 16:55:05 -05:00
Chris Martin 973f7ba7af Bug 1052579 - Remove arenaId member that was introduced in D25705 r=sfink
In D25705, I added a new arenaId member to the js::BaseAllocPolicy. This
increased the size of everything that uses a JS AllocPolicy, which is a
lot.

This change follows suit from earlier work, which is to make everything
allocation-related have an "arena" version and a "default" version that
uses the arena version with the implied default arena.

StringBuffer is then changed to use this new functionity to define its
own alloc policy that uses the new StringBufferArena.

Differential Revision: https://phabricator.services.mozilla.com/D29685

--HG--
extra : moz-landing-system : lando
2019-05-02 16:31:53 +00:00
Jim Porter c62f65e325 Bug 1548565 - Fix crash in XPCJSContext::InterruptCallback from bug 1493225; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D29710

--HG--
extra : moz-landing-system : lando
2019-05-02 19:35:08 +00:00
Robin Templeton fe9c5481dd Bug 1531647 - Implement atomic operations on BigInt TypedArrays r=lth
Differential Revision: https://phabricator.services.mozilla.com/D21648

--HG--
extra : moz-landing-system : lando
2019-04-29 23:20:17 +00:00
Robin Templeton fa340ddad3 Bug 1527902 - Enable javascript.options.bigint by default r=jandem,kmag
Differential Revision: https://phabricator.services.mozilla.com/D29182

--HG--
extra : moz-landing-system : lando
2019-05-02 19:19:00 +00:00
Jan de Mooij 9818272c76 Bug 1548223 - Don't assert in Realm's destructor if we have shutdown GC leaks. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D29623

--HG--
extra : moz-landing-system : lando
2019-05-02 11:35:52 +00:00
Jan de Mooij 6f28e94619 Bug 1537908 part 4 - Replace overflow check with a static_assert. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D29470

--HG--
extra : moz-landing-system : lando
2019-05-01 15:40:11 +00:00
Tom Schuster 069f9b2851 Bug 1547131 - JS shell: show the stack for thrown values that are not Error objects. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D28967

--HG--
extra : moz-landing-system : lando
2019-05-02 11:12:27 +00:00
Jan de Mooij 5e3db1106f Bug 1541404 part 18 - Various minor changes for debugger support. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D28993

--HG--
extra : moz-landing-system : lando
2019-05-02 08:38:06 +00:00
Luke Wagner 88fdbed8e4 Bug 1546138 - Baldr: rename TableKind::TypedFunction to AsmJS (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D29299

--HG--
extra : rebase_source : 5e03322e1ebc5ffaa8f55de0fa5c359b492dc647
2019-04-24 16:57:07 -05:00
Luke Wagner 45279425f2 Bug 1546138 - Baldr: add FuncRef to ValType (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D28724
***
Bug 1546138 - Baldr: remove (ref T) special case from Val union (r=lth)

Differential Revision: https://phabricator.services.mozilla.com/D29298

--HG--
extra : rebase_source : f0f259bb893900d4402cfa9f88b13dcbd31caa16
2019-04-29 19:13:55 -05:00
Luke Wagner d42d918d39 Bug 1546138 - Baldr: reflect 'anyfunc' to 'funcref' renaming in methods (r=lth)
Differential Revision: https://phabricator.services.mozilla.com/D28723

--HG--
extra : rebase_source : bead7ea1c74b2dad2163974eee6da6fae1f2e322
2019-04-29 18:00:26 -05:00
Jeff Walden 597302311d Bug 1546300 - Add a runtime check for structured-clone of RegExp flags not producing an invalid value, rather than merely asserting it. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D29579

--HG--
extra : rebase_source : c94ed1d4764da494fc3f5d1e2372b2de38657bdd
2019-05-01 14:56:22 -07:00
Jeff Walden e471f6923b Bug 1547478 - Flip the sense of a |mode == XDR_ENCODE| so that BinAST source data is properly XDR'd. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D29266

--HG--
extra : rebase_source : 1bff647a52389a4a89cf12c5cd94683b34eac68b
2019-04-29 20:30:39 -07:00
Jeff Walden 8444b0508a Bug 1547478 - Add more assertions verifying that ScriptSources contain expected types of data during the XDR process. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D29315

--HG--
extra : rebase_source : 939e81484ba149e70f8c05b02db488848b3551af
2019-04-29 16:44:16 -07:00
Jeff Walden d4794cc364 Bug 1547478 - Root fresh BinAST metadata created during XDR decoding until it's transferred into its ScriptSource. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D29314

--HG--
extra : rebase_source : 5b7c855256b117ea39eacab6f56f1b38d20ef574
2019-04-29 14:33:55 -07:00
Brindusan Cristian 05b6a8de1e Backed out 6 changesets (bug 1392408) for build bustages at nsContentPolicy.cpp and nsFrameLoaderOwner.cpp. CLOSED TREE
Backed out changeset a32ab60deb60 (bug 1392408)
Backed out changeset 69cbc0afb1f1 (bug 1392408)
Backed out changeset cd9081aac4bf (bug 1392408)
Backed out changeset d88d5959f4a6 (bug 1392408)
Backed out changeset 01fd757e335b (bug 1392408)
Backed out changeset 872645a5122c (bug 1392408)
2019-05-02 19:57:25 +03:00
André Bargull 4fc911a757 Bug 1546383: Add CacheIR support for calling getters on primitive values. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D28489

--HG--
extra : moz-landing-system : lando
2019-05-07 11:43:19 +00:00
Brian Hackett 961e486752 Bug 1392408 Part 1 - Add interface to help convert SavedFrames to JSON, r=jimb.
--HG--
extra : rebase_source : 994a07e6f5af10d4f1c94e459d9af5b7db22703e
2019-04-19 06:57:06 -10:00
Daniel Varga d8462f46cb Merge mozilla-central to mozilla-inbound. a=merge 2019-05-08 14:19:35 +03:00
Csoregi Natalia 26aadf7f93 Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-05-08 06:40:43 +03:00
Brian Hackett b2e82bb4e7 Bug 1230194 Part 1 - Supply stack trace in completion value when throwing, r=jorendorff.
Differential Revision: https://phabricator.services.mozilla.com/D27826

--HG--
extra : rebase_source : b4481e0bf8ead8aa361bca37cd6ce31d5d4e190f
2019-04-16 11:49:13 -10:00
Brian Hackett 0af78c59e0 Bug 1392408 Part 1 - Add interface to help convert SavedFrames to JSON, r=jimb.
--HG--
extra : rebase_source : 4644d0692e71256ffec46730851faf5c9296ed1a
2019-05-02 08:25:26 -10:00
Paul Bone 6a6e6728fd Bug 1548161 - Add a JSGC parameter for zoneAllocDelayBytes r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D29476

--HG--
extra : moz-landing-system : lando
2019-05-01 12:30:46 +00:00
Ted Campbell 39a94f4b88 Bug 1545537 - Disable some jit-tests on android due to harness issues. r=sstangl
Disable certain jit-tests until Bug 1532654 is fixed.

Differential Revision: https://phabricator.services.mozilla.com/D28843

--HG--
extra : moz-landing-system : lando
2019-05-01 22:08:40 +00:00
Ted Campbell deb97066b7 Bug 1545537 - Add 'android' as a jsshell buildConfiguration property. r=sstangl
Differential Revision: https://phabricator.services.mozilla.com/D28842

--HG--
extra : moz-landing-system : lando
2019-05-01 22:06:53 +00:00
Ashley Hauck f81622c868 Bug 1547130 - Always use a tdzCache for class scopes. r=jorendorff
This was incorrectly implemented in bug 1542448 - for a class without a
name, the .initializers varaible would correctly use the class scope,
but would incorrectly use the tdzCache of the *surrounding* scope.
Having two distinct .initializer variables use the same tdzCache caused
the crash in this bug.

Differential Revision: https://phabricator.services.mozilla.com/D29574

--HG--
extra : moz-landing-system : lando
2019-05-01 22:11:41 +00:00
Ashley Hauck bee60b265c Bug 1540789 - Correctly scope .this in field initializers. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D27950

--HG--
extra : moz-landing-system : lando
2019-05-01 22:08:47 +00:00
Mike Conley bff8e0ac63 Bug 1533955 - Show some UI to indicate that a subframe has crashed. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D29238

--HG--
extra : moz-landing-system : lando
2019-05-01 20:05:24 +00:00
Ashley Hauck e0e53baaf8 Bug 1547915 - Correctly handle private identifiers with escapes. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D29392

--HG--
extra : moz-landing-system : lando
2019-05-01 18:04:42 +00:00
Andreea Pavel accc389b66 Merge mozilla-inbound to mozilla-central. a=merge 2019-05-01 18:56:07 +03:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Jan de Mooij a3adeb35b2 Bug 1546620 - Add a numDebuggeeRealms counter to JSRuntime. r=jorendorff
The Baseline Interpreter will use incrementNumDebuggeeRealms and
decrementNumDebuggeeRealms to toggle some debugging things if needed.

Differential Revision: https://phabricator.services.mozilla.com/D28636

--HG--
extra : moz-landing-system : lando
2019-05-01 08:07:31 +00:00
Jim Porter 04d397e55f Bug 1493225, part 1 - Cancel content JS when navigating through history to prevent hangs r=smaug
This patch passes a message through the HangMonitor channel when navigating
through history to cancel content JS that could hang the chrome JS in the
content process responsible for history navigation. If the content JS is
actually canceled, this also disables the BF cache for the current page, since
it could end up in an inconsistent state due to the JS cancellation.

Differential Revision: https://phabricator.services.mozilla.com/D23089

--HG--
extra : moz-landing-system : lando
2019-04-30 23:56:17 +00:00
Ashley Hauck 6d0ca3e27e Bug 1545212 - Use more explicit types for ParseNodes. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D27962

--HG--
extra : moz-landing-system : lando
2019-04-30 23:36:04 +00:00
Ashley Hauck e6c5744543 Bug 1547133 - Change .fieldKeys from var to let. r=jorendorff
Also fixes bug 1547136.

Differential Revision: https://phabricator.services.mozilla.com/D28928

--HG--
extra : moz-landing-system : lando
2019-04-30 23:09:09 +00:00
Steve Fink 8484af2fa6 Bug 1547782 - Implement GCPolicy<T>::isValid for Gecko specializations r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D29302

--HG--
extra : moz-landing-system : lando
2019-04-30 21:48:32 +00:00
Steve Fink 2bda356e27 Bug 1538779 - Make `Rooted<MyContainer> c(cx)` the equivalent of `Rooted<MyContainer> c(cx, MyContainer(cx))` if possible r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D26797

--HG--
extra : moz-landing-system : lando
2019-04-30 21:25:15 +00:00
Chris Martin ae3e160b94 Bug 1546881 - Fix OOM causing realloc to wrong arena r=sfink
Bug 1052579 introduced a new mozjemalloc arena for JSString char buffers.
Unfortunately, my testing missed the case where JSStringBuilder causes an OOM
condition, causing the OOM handler to realloc to the default arena, regardless
of what arena is actually indicated by the AllocPolicy for the char vector.

The realloc now passes the arena from the AllocPolicy to mozjemalloc.

Differential Revision: https://phabricator.services.mozilla.com/D29092

--HG--
extra : moz-landing-system : lando
2019-04-30 15:37:45 +00:00
Jon Coppeard 899d5a2eac Bug 1547677 - Rename the ReadBarriered wrapper type to WeakHeapPtr and remove WeakRef r=sfink
I removed WeakRef since this is already very close to WeakHeapPtr and is an alias of it.  I think having the two is more confusing than using the same name for both (the difference is whether you trace it with TraceWeakEdge or sweep it in a more manual fashion).

Differential Revision: https://phabricator.services.mozilla.com/D29180
Differential Revision: https://phabricator.services.mozilla.com/D29337
2019-04-29 11:30:29 +01:00
Coroiu Cristina 3b1ccb8045 Merge mozilla-central to inbound a=merge 2019-05-01 07:27:22 +03:00
Coroiu Cristina 02cf69641a Merge mozilla-central to inbound a=merge 2019-05-01 00:58:36 +03:00
Sebastian Hengst c0641c2ded Merge mozilla-central to autoland. CLOSED TREE 2019-04-30 13:35:58 +02:00
Jeff Walden e2e9432702 Bug 1547478 - Whoops, stylemageddon style patrol nitfixes. r=me, DONTBUILD
--HG--
extra : rebase_source : 0c4546ef2caac2931964420f168d1e7645bcb0a5
2019-04-29 20:46:13 -07:00
Jeff Walden 4fe3077206 Bug 1547478 - Make the |CodeBinASTData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, consistent with the other code-particular-type-of-data functions. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D29265

--HG--
extra : rebase_source : 030e5fa9fe0d89592b60126805695c80818f304a
2019-04-29 13:05:32 -07:00
Jeff Walden c6a86ede05 Bug 1547478 - Make the |CodeCompressedData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, avoiding the need to pass an ignored |Unit| argument to it purely for overload selection. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D29264

--HG--
extra : rebase_source : 639550e3508887b4ba2d6cd9bbd0f410ab86146e
2019-04-29 12:51:45 -07:00
Jeff Walden 6acd562c4d Bug 1547478 - Make the |CodeUncompressedData| generic lambda inside |ScriptSource::xdrData| instead be a static member function in |ScriptSource|, avoiding the need to pass an ignored |Unit| argument to it purely for overload selection. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D29263

--HG--
extra : rebase_source : 108184deb3868ef8536a18f6643da044af7bd42e
2019-04-29 12:36:35 -07:00
Jeff Walden 5abce26f66 Bug 1547809 - Respond to partially-ignored review comments in bug 1544882, and incidentally fix a minor regression that nitpicking would have made a bit more obvious. :-| Aggressively, r=arai
--HG--
extra : rebase_source : c29647a8c39971a9ab458efd8b8e9af6d04ca9ed
2019-04-29 18:55:46 -07:00
Brindusan Cristian 318a177f68 Backed out changeset f2a3fb166dfb (bug 1538779) for nojit build bustages at backup-point-bug1315634.js. CLOSED TREE 2019-04-29 21:27:59 +03:00
Steve Fink c8c09edba2 Bug 1538779 - Make `Rooted<MyContainer> c(cx)` the equivalent of `Rooted<MyContainer> c(cx, MyContainer(cx))` if possible r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D26797

--HG--
extra : moz-landing-system : lando
2019-04-29 17:38:14 +00:00
André Bargull bb38e534ae Bug 1543948: Add ifdef NIGHTLY_BUILD guards around all Promise.allSettled functions. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D28479

--HG--
extra : moz-landing-system : lando
2019-04-24 18:50:30 +00:00
David Teller 2267b2f90a Bug 1545751 - In BinAST, pass Context while parsing;r=arai
The Context 0.1 format specifies that the (de)compression of nodes is determined by:
- its node type;
- its parent type;
- the index in the parent node;
- whether the node is an element of an array.

This patch modifies the parser generator to pass the information during parsing.

Differential Revision: https://phabricator.services.mozilla.com/D28534

--HG--
extra : moz-landing-system : lando
2019-04-29 17:24:55 +00:00
Jan de Mooij 39d8ddcb3c Bug 1547721 - Add an Ion script size limit. r=tcampbell
We had a script size limit (and number of locals/args limit) when off-thread Ion
compilation wasn't available, but no hard limit when off-thread compilation is
available. This patch addresses that.

This patch also converts the main-thread limits from constants to JitOptions
because that's what we use for new code.

Differential Revision: https://phabricator.services.mozilla.com/D29217

--HG--
extra : moz-landing-system : lando
2019-04-29 15:28:53 +00:00
Cosmin Sabou a173c152b2 Merge mozilla-central to autoland. 2019-04-29 19:04:27 +03:00
Cosmin Sabou cefec2692f Merge mozilla-inbound to mozilla-central. a=merge 2019-04-29 19:02:11 +03:00
Jan de Mooij 78fda3eed3 Bug 1546327 - Clean up bytecode and source note allocation. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D28469

--HG--
extra : moz-landing-system : lando
2019-04-29 12:55:20 +00:00
Jan de Mooij a0e22c1349 Bug 1547655 - Move RootedAtom before LabelEmitter to work around LabelControl issues with Maybe<> and RootedAtom. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D29186

--HG--
extra : moz-landing-system : lando
2019-04-29 12:01:19 +00:00
Gurzau Raul 56df34e281 Merge inbound to mozilla-central. a=merge 2019-04-29 00:53:59 +03:00
Dorel Luca 6e197e5a1d Merge mozilla-central to mozilla-inbound 2019-04-28 12:48:29 +03:00
Dorel Luca 6608634546 Merge mozilla-inbound to mozilla-central. a=merge 2019-04-28 12:40:12 +03:00
Jeff Walden 786dda522a Bug 1547471 - Add #ifdefs for a lambda capture that's unused when BinAST code isn't being built (e.g. when the next uplift to beta happens). r=bustage 2019-04-27 17:08:50 -07:00
Dorel Luca f7ee5a5236 Merge mozilla-central to autoland 2019-04-28 12:45:12 +03:00
Sylvestre Ledru 96da5036ad Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D28948

--HG--
extra : moz-landing-system : lando
2019-04-28 09:30:05 +00:00
Julian Seward 894b9f8cc9 Bug 1541770 - Allow data.drop / elem.drop without memory or tables. r=lhansen.
Our Wasm implementations current reject data.drop and elem.drop if there is no
memory or table in the module.  This isn't consistent with the current
bulk-memory specification, though.
See https://github.com/WebAssembly/bulk-memory-operations/issues/79.

This patch fixes that by slightly loosening the relevant checks, so as to
allow a segment to be dropped even if there is no memory, providing that that
segment is a passive one.

Most of the changes are in the test file passive-segs-nonboundary.js:

* There are four new checks for data.drop without memory and the equivalents
  for table.drop.

* Test construction function `do_test` has been made more flexible, so it is
  now possible to independently specify whether a table/memory is present,
  whether active initialisers are present, and whether passive initialisers
  are present.

In WasmModule.cpp, a couple of places where a segment vector was asserted to
be empty have been changed to assert that it contains only passive segments.
Attempts to do this using std::all_of and a closure were unsuccessful (see bug
1547031) and instead a debug-only helper function `AllSegmentsArePassive` was
added.

Differential Revision: https://phabricator.services.mozilla.com/D28951

--HG--
extra : rebase_source : 2f85bf4fb32a424098ba24670790adee917f882f
2019-04-26 06:39:49 +02:00
Brian Hackett 0e926d34f6 Bug 1546603 - Don't finalize stream sources from JS if creating the stream object failed, r=arai.
Differential Revision: https://phabricator.services.mozilla.com/D28931

--HG--
extra : rebase_source : 558bd2bfdba22088906449c3388f25edc8c62786
extra : histedit_source : 643d9c253e5d00159c571651cf85e61956f1eca5
2019-04-25 12:13:30 -10:00
Jon Coppeard 19b4137bf3 Bug 1546622 - Make incremental-abort test more robust r=pbone
Add a gc() call so that any in-progress GC triggered by creating objects gets finished up and the test starts from a known state.

I also updated the binjs compiled versions of this test.

Differential Revision: https://phabricator.services.mozilla.com/D28699
2019-04-24 15:58:43 +01:00
Jim Blandy 35bc5e542d Bug 1501666: Make js::AbstractGeneratorObject state checks independent. r=jorendorff
An AbstractGeneratorObject's RESUME_INDEX_SLOT indicates the state of the
generator object: it may be `undefined` (before initial yield), `null` (closed),
or an integer (running, closing, or suspended).

AbstractGeneratorObject has a number of predicate methods to test for these
various states. Unfortunately, some of the predicates grab RESUME_INDEX_SLOT and
immediately call `toInt32` on its value, which crashes if it is not an Int32.
This means the only safe way to ask if an AbstractGeneratorObject is suspended
is:

    !isBeforeInitialYield() && !isClosed() && isSuspended()

If either of the first two conditions is true, isSuspended will assert. This is
verbose, and means the predicates cannot be used without studying the details of
the RESUME_INDEX_SLOT's representation.

This patch makes the predicates assertion-free. isSuspended acquires a new
branch, but the others should be just as efficient as they were before.

Differential Revision: https://phabricator.services.mozilla.com/D27941

--HG--
extra : moz-landing-system : lando
2019-04-25 16:27:26 +00:00
Narcis Beleuzu 1583fed185 Merge inbound to mozilla-central. a=merge 2019-04-27 12:48:24 +03:00
Robin Templeton 41114d2473 Bug 1546169 - Enable 64-bit atomics for more platforms in AtomicOperations-feeling-lucky-gcc.h. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D28394

--HG--
extra : moz-landing-system : lando
2019-04-26 21:03:37 +00:00
Ted Campbell 474b9418f0 Bug 1508098 - Clean up formatting of jshell option parsing. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D29031

--HG--
extra : moz-landing-system : lando
2019-04-26 19:10:19 +00:00
Cosmin Sabou 889d5aa9e6 Backed out changeset d6f935d90da4 (bug 1538779) for causing build bustages on RootingAPI.h CLOSED TREE 2019-04-26 21:27:29 +03:00
Steve Fink 5a33bd5976 Bug 1538779 - Make `Rooted<MyContainer> c(cx)` the equivalent of `Rooted<MyContainer> c(cx, MyContainer(cx))` if possible r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D26797

--HG--
extra : moz-landing-system : lando
2019-04-26 16:54:43 +00:00
Razvan Maries 90f6351901 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-04-26 19:05:13 +03:00
Razvan Maries ebb7081cb2 Merge mozilla-inbound to mozilla-central a=merge 2019-04-26 18:35:43 +03:00
Razvan Maries 11e9f0fe22 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-04-26 12:54:36 +03:00
Razvan Maries 444ee13e14 Merge mozilla-inbound to mozilla-central a=merge 2019-04-26 12:46:15 +03:00
Jan de Mooij 67e473ab7f Bug 1537908 part 3 - Use SharedScriptData::numICEntries to allocate and initialize ICScript directly. r=tcampbell
Because SharedScriptData now contains numICEntries, we can allocate the ICScript
up front and fill it in directly. Advantages are: no Vector malloc/free overhead,
no ICEntry copying, no more LifoAlloc::steal, better cache locality, fewer moving
parts. This also makes it easier to merge ICScript and TypeScript in the future.

Differential Revision: https://phabricator.services.mozilla.com/D28451

--HG--
extra : moz-landing-system : lando
2019-04-26 09:16:27 +00:00
Jan de Mooij cfa9e08603 Bug 1537908 part 2 - Store numICEntries in SharedScriptData. r=tcampbell
This also tidies up overflow checks to ensure numICEntries never overflows
UINT32_MAX in the emitter.

ICScript currently stores numICEntries as uint32_t, but it's not an
issue due to BaselineMaxScriptLength.

Differential Revision: https://phabricator.services.mozilla.com/D28450

--HG--
extra : moz-landing-system : lando
2019-04-26 09:16:49 +00:00
Jan de Mooij 90646ee8bc Bug 1537908 part 1 - Clean up BytecodeEmitter's TypeSet count a bit. r=tcampbell
This makes the naming more consistent. Also, instead of checking against
JSScript::MaxBytecodeTypeSets at every JOF_TYPESET op, we can move this
condition to SharedScriptData creation if we use uint32_t instead of uint16_t.
This is more efficient and also nicer because MaxBytecodeTypeSets seems to be
more of a JSScript implementation detail the bytecode emitter doesn't need to
worry about.

Differential Revision: https://phabricator.services.mozilla.com/D28449

--HG--
extra : moz-landing-system : lando
2019-04-26 09:16:32 +00:00
Christian Holler 9b898220a5 Bug 1547203 - Don't expose CTypes with --fuzzing-safe in JS shell. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D28961

--HG--
extra : moz-landing-system : lando
2019-04-26 09:19:12 +00:00
Iain Ireland 7d6b2fbc12 Bug 1542740: Convert SetPropIRGenerator to use AttachDecision r=tcampbell
This is the other patch with non-trivial refactoring. (GetPropIRGenerator was the first.)

Differential Revision: https://phabricator.services.mozilla.com/D27312

--HG--
extra : moz-landing-system : lando
2019-04-26 14:30:19 +00:00
Iain Ireland d202c26601 Bug 1542740: Convert NewObjectIRGenerator to use AttachDecision r=mgaudet
This was the last consumer of the old implementation of TryAttachStub/TryAttachIonStub. This patch removes the transitional version.

Differential Revision: https://phabricator.services.mozilla.com/D27310

--HG--
extra : moz-landing-system : lando
2019-04-26 14:30:15 +00:00
Iain Ireland f983238229 Bug 1542740: Convert BinaryArithIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27309

--HG--
extra : moz-landing-system : lando
2019-04-26 14:29:56 +00:00
Iain Ireland 4e2871b298 Bug 1542740: Convert UnaryArithIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27308

--HG--
extra : moz-landing-system : lando
2019-04-26 14:29:43 +00:00
Iain Ireland cc293647a5 Bug 1542740: Convert GetIntrinsicIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27307

--HG--
extra : moz-landing-system : lando
2019-04-26 14:29:36 +00:00
Iain Ireland adc9692dfa Bug 1542740: Convert ToBoolIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27306

--HG--
extra : moz-landing-system : lando
2019-04-26 14:29:28 +00:00
Iain Ireland 389800debb Bug 1542740: Convert CompareIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27305

--HG--
extra : moz-landing-system : lando
2019-04-26 14:29:13 +00:00
Iain Ireland c897ea5db7 Bug 1542740: Convert GetIteratorIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27304

--HG--
extra : moz-landing-system : lando
2019-04-26 14:29:06 +00:00
Iain Ireland 097c764d09 Bug 1542740: Convert TypeOfIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27303

--HG--
extra : moz-landing-system : lando
2019-04-26 14:28:56 +00:00
Iain Ireland 69f577344c Bug 1542740: Convert InstanceOfIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27302

--HG--
extra : moz-landing-system : lando
2019-04-26 14:28:44 +00:00
Iain Ireland 29c3f9146f Bug 1542740: Convert HasPropIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27301

--HG--
extra : moz-landing-system : lando
2019-04-26 14:28:36 +00:00
Iain Ireland 40c36eec7f Bug 1542740: Convert BindNameIRGenerator to use AttachDecision r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D27300

--HG--
extra : moz-landing-system : lando
2019-04-26 14:28:23 +00:00