Commit Graph

72236 Commits

Author SHA1 Message Date
Mike Hommey
2bf1cc53d8 Bug 1555894 - Only enable cranelift on JS standalone builds. r=lth,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42261

--HG--
extra : moz-landing-system : lando
2019-08-19 13:12:25 +00:00
arthur.iakab
813ffcab93 Backed out 4 changesets (bug 1574002) for causing spidermonkey bustage on Disassemble.h CLOSED TREE
Backed out changeset ac0c1beee54f (bug 1574002)
Backed out changeset 3807af5c121a (bug 1574002)
Backed out changeset 9f6b91a72f1f (bug 1574002)
Backed out changeset 7e315ddebb02 (bug 1574002)
2019-08-19 21:21:53 +03:00
Ryan Hunt
500e76b466 Bug 1574002 - Add wasmDis(func) testing function for viewing disassembly of Wasm exported function. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D42224

--HG--
extra : moz-landing-system : lando
2019-08-19 17:56:30 +00:00
Ryan Hunt
4b1f864ad8 Bug 1574002 - Use jit::Disassemble for Cranelift JitSpew. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D42223

--HG--
extra : moz-landing-system : lando
2019-08-19 17:52:58 +00:00
Ryan Hunt
d0347517be Bug 1574002 - Add jit::Disassemble as a wrapper around existing in-tree disassemblers. r=lth
Differential Revision: https://phabricator.services.mozilla.com/D42052

--HG--
extra : moz-landing-system : lando
2019-08-19 17:57:42 +00:00
Ryan Hunt
4c9ae9a154 Bug 1574002 - Build Zydis even when not using Cranelift. r=lth
The #ifdef(JS_JITSPEW) restriction is still kept.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 17:57:42 +00:00
Kashav Madan
8f75b0e335 Bug 1574319 - Remove ContentParent::Recv* skip-if annotations, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D42374

--HG--
extra : moz-landing-system : lando
2019-08-16 21:00:17 +00:00
Benjamin Bouvier
2f3fc9c4ca Bug 1573550: Pass a null StackmapSink in Cranelift until we implement it; r=jseward
Differential Revision: https://phabricator.services.mozilla.com/D42478

--HG--
extra : moz-landing-system : lando
2019-08-19 10:44:56 +00:00
Benjamin Bouvier
1db724abed Bug 1573550: Cranelift: use the Windows calling convention on Windows; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D41944

--HG--
extra : moz-landing-system : lando
2019-08-19 10:22:41 +00:00
Jon Coppeard
ec0afec70b Bug 1573879 - Remove some more unnecessary includes r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D41989

--HG--
extra : moz-landing-system : lando
2019-08-19 09:58:26 +00:00
Jon Coppeard
19abd935f9 Bug 1573879 - Refactor ZoneAllocator to remove the dependency on JSRuntime r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D41988

--HG--
extra : moz-landing-system : lando
2019-08-19 09:58:12 +00:00
Ciure Andrei
9a123fb597 Backed out changeset 81156ff3f4fa (bug 1571656) for causing browser_PageActions.js and test_insertTree_fixupOrSkipInvalidEntries.js to perma fail CLOSED TREE 2019-08-19 13:00:44 +03:00
Jon Coppeard
3e56e9eb4b Bug 1574339 - Use a default GC invocation kind if embedding callbacks finish the current GC as we're tring to start a slice r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D42331

--HG--
extra : moz-landing-system : lando
2019-08-17 00:50:18 +00:00
Moritz Birghan
240771fa29 Bug 1571656 - Use Assert.jsm numeric comparison functions in tests r=mixedpuppy,MattN
Differential Revision: https://phabricator.services.mozilla.com/D40614

--HG--
extra : moz-landing-system : lando
2019-08-19 07:17:12 +00:00
Jon Coppeard
5912f376ab Bug 1573458 - Leave the atoms zone when performing a GC r=tcampbell
Entering the atoms zone with AutoAllocInAtomsZone is a bit of a special case and we don't support entering another realm in this state. Unfortunately this can happen during GC in a couple of place. The patch temporarily leaves the atoms zone during GC so that callbacks can enter whatever zones they like.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 16:26:30 +00:00
Steve Fink
67c5ad8613 Bug 1572988 - error check registerMallocedBuffer r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D41847

--HG--
extra : moz-landing-system : lando
2019-08-17 01:15:44 +00:00
Mike Hommey
734aade396 Bug 1574421 - Don't build editline when we don't use it. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42278

--HG--
extra : moz-landing-system : lando
2019-08-16 13:11:16 +00:00
Brian Hackett
091f2992d2 Bug 1573938 - Never collect wrapper JSObjects when recording/replaying, r=mccr8.
Differential Revision: https://phabricator.services.mozilla.com/D42011

--HG--
extra : moz-landing-system : lando
2019-08-16 20:51:12 +00:00
Ryan Hunt
cbd1250927 Bug 1573818 - Add NormalizeElemSegmentKind helper for converting between enum representations. r=bbouvier
Differential Revision: https://phabricator.services.mozilla.com/D42049

--HG--
extra : moz-landing-system : lando
2019-08-16 20:12:59 +00:00
Jan de Mooij
dd846f7248 Bug 1571446 part 2 - Use accessors instead of accessing jitScript_ directly in various JSScript methods. r=tcampbell
This makes it easier to change the jitScript_ field in later patches.

Depends on D42288

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

--HG--
extra : moz-landing-system : lando
2019-08-16 12:41:34 +00:00
Jan de Mooij
d42ec6a97b Bug 1571446 part 1 - Make JSScript::jitScript() assert hasJitScript() and add JSScript::maybeJitScript(). r=tcampbell
maybeJitScript() will become a bit slower in the future but many callers know
statically they have a script with a JitScript so by calling jitScript() there
we can avoid the hasJitScript() check in opt builds.

This is also consistent with the baselineScript() and ionScript() accessors.

I renamed jitScript() to jitScriptX() and then fixed all callers to call
the right method.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 12:40:20 +00:00
Benjamin Bouvier
8227aa48e2 Bug 1573098: Build Spidermonkey Rust's library unconditionally; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41992

--HG--
extra : moz-landing-system : lando
2019-08-15 15:06:07 +00:00
Benjamin Bouvier
01bebbc58d Bug 1573817: Remove unused parameter in Instance::onMovingGrowMemory; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D41969

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:30 +00:00
Benjamin Bouvier
b66e555948 Bug 1573817: Remove unused parameter from wasm::ProfilingFrameIterator; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D41968

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:30 +00:00
Benjamin Bouvier
a1aaafbbcb Bug 1573817: Remove unused cx parameters from WasmDebug methods; r=yury
Differential Revision: https://phabricator.services.mozilla.com/D41967

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:29 +00:00
Benjamin Bouvier
0a82c8db8d Bug 1573817: Remove unused parameter in EffectiveCores; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D41966

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:29 +00:00
Benjamin Bouvier
6a195d652a Bug 1573817: Remove unused parameter in emitBarrieredStore; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D41965

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:29 +00:00
Benjamin Bouvier
7cba4f993a Bug 1573817: Remove unused parameters in checkDivideByZeroI32; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D41964

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:29 +00:00
Benjamin Bouvier
2d93c5fbc5 Bug 1573817: Remove unused parameter in emitAtomicXchg64; r=lth
Differential Revision: https://phabricator.services.mozilla.com/D41963

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:28 +00:00
Benjamin Bouvier
68dbbbd525 Bug 1573817: Remove unused parameter in GlobalIsJSCompatible; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D41962

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:28 +00:00
Benjamin Bouvier
65cff2d754 Bug 1573817: Remove unused parameters in WasmTextToBinary and simplify it; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D41961

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:28 +00:00
Benjamin Bouvier
0c80d63511 Bug 1573817: Remove unused cx parameters in WasmTable::grow; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D41960

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:28 +00:00
Benjamin Bouvier
5300b32c2e Bug 1573817: Remove unused seenBytes parameters from misc wasm memory accounting methods; r=luke
Differential Revision: https://phabricator.services.mozilla.com/D41959

--HG--
extra : moz-landing-system : lando
2019-08-14 18:54:27 +00:00
Jon Coppeard
e58f93e27b Bug 1571682 - Make allocationSiteGroup fail cleanly on OOM r=tcampbell,jandem
This should make this fail cleanly on OOM rather than crashing, which should make this crash go away (without reducing memory usage obviously). The problem was the lack of hasHash/ensureHash methods that we use to handle OOM when generating unique IDs for GC things. I also tidied the equivalent code for ObjectGroupRealm::NewEntry (FallibleHashMethods is already implemented for MovableCellHasher).

We could further improve this by giving each script an immutable hash code on creation if you think it's worth the tradeoff of storing this for every script.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:18:21 +00:00
Jan de Mooij
a5eeb9a2c0 Bug 1505689 part 9 - Use static const values instead of macros for magic BASELINE_*_SCRIPT and ION_*_SCRIPT values. r=tcampbell
This defines both |constexpr uintptr_t| and |const pointer| values. reinterpret_cast
in constexpr is not allowed and this way we can still use these values in static_asserts.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:14:26 +00:00
Jan de Mooij
99d8816f1a Bug 1505689 part 8 - Make JitScript::clear{Baseline,Ion}Script return the cleared script. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D42108

--HG--
extra : moz-landing-system : lando
2019-08-15 16:14:16 +00:00
Jan de Mooij
fd8d7107b8 Bug 1505689 part 7 - Rename DestroyJitScripts to JSScript::releaseJitScriptOnFinalize. r=tcampbell
This is more consistent with the rest of the code.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:14:04 +00:00
Jan de Mooij
ac94ea55dd Bug 1505689 part 6 - Merge TraceJitScripts into JitScript::trace. r=tcampbell
This also removes BaselineScript::Trace and IonScript::Trace that were just
forwarding to the non-static trace().

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:13:57 +00:00
Jan de Mooij
06546e9a5c Bug 1505689 part 5 - Move BaselineScript and IonScript pointers from JSScript to JitScript. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D41582

--HG--
extra : moz-landing-system : lando
2019-08-15 16:13:50 +00:00
Jan de Mooij
9b88308c65 Bug 1505689 part 4 - Add DisabledBaseline and DisabledIon flags to JSScript. r=tcampbell
We want to move BaselineScript and IonScript to JitScript, but JitScript can be
discarded on GC. These flags ensure this state is persisted when that happens.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:13:45 +00:00
Jan de Mooij
5c4b52c9ce Bug 1505689 part 3 - Clean up lazy linking code a bit, remove ION_PENDING_SCRIPT. r=tcampbell
ION_PENDING_SCRIPT didn't add anything over setting |ion| to nullptr.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:13:41 +00:00
Jan de Mooij
5e530af754 Bug 1505689 part 2 - Check for ION_DISABLED_SCRIPT in Baseline JIT code. r=tcampbell
This is more consistent with Baseline Interpreter -> Baseline JIT code and
avoids calling into C++ repeatedly when we disable Ion compilation for the
script after Baseline JIT compilation.

The inIon fix prevents an iloop when running jit-test/tests/ion/bug1324521.js

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:12:37 +00:00
Jan de Mooij
b82195d4b7 Bug 1505689 part 1 - Tidy up JSScript BaselineScript/IonScript methods. r=tcampbell
The main goal was to abstract the special BASELINE_DISABLED_SCRIPT and
ION_*_SCRIPT values better. Each of these values now has its own setter
method instead of passing these values to setBaselineScript and setIonScript.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:12:25 +00:00
Jon Coppeard
1f8e589f72 Bug 1574119 - Add a test for bug 1568029 r=jandem
This adds a testcase for the fix in bug 1568029. This adds a testing function markObjectPropertiesUnknown() which will hopefully be useful for fuzzing.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:23:30 +00:00
Brian Hackett
a3cf96af6e Bug 1573931 - Disallow INCREMENTAL_ALLOC_TRIGGER GCs when recording/replaying, r=jonco.
Differential Revision: https://phabricator.services.mozilla.com/D42003

--HG--
extra : moz-landing-system : lando
2019-08-15 08:25:35 +00:00
Mihai Alexandru Michis
7a7b710020 Backed out changeset d8d687ca13f8 (bug 1571682) for causing spidermonkey bustages. CLOSED TREE 2019-08-15 18:16:16 +03:00
Jon Coppeard
928e50ddcf Bug 1571682 - Make allocationSiteGroup fail cleanly on OOM r=tcampbell,jandem?
This should make this fail cleanly on OOM rather than crashing, which should make this crash go away (without reducing memory usage obviously). The problem was the lack of hasHash/ensureHash methods that we use to handle OOM when generating unique IDs for GC things. I also tidied the equivalent code for ObjectGroupRealm::NewEntry (FallibleHashMethods is already implemented for MovableCellHasher).

We could further improve this by giving each script an immutable hash code on creation if you think it's worth the tradeoff of storing this for every script.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 14:21:35 +00:00
Ryan Hunt
4b3e79c17f Bug 1573815 - Wasm: Report OOM correctly in 'ref.func' r=lth
WasmInstance::funcRef has 'FailureMode::FailOnInvalidRef' so it looks like we
just need to report the OOM and return InvalidRef.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 14:21:28 +00:00
Jon Coppeard
45a3b432c0 Bug 1574098 - Remove unused defines from Class.h r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D42086

--HG--
extra : moz-landing-system : lando
2019-08-15 13:04:43 +00:00
Brindusan Cristian
d674f265db Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
rename : layout/reftests/mathml/dir-6-ref.html => testing/web-platform/tests/mathml/presentation-markup/direction/direction-006-ref.html
2019-08-15 12:50:36 +03:00