Commit Graph

70146 Commits

Author SHA1 Message Date
Sean Stangl
6661b6d612 Bug 1533295 - Ignore basic/testTypedArrayInit.js in ARM64 Simulator. r=nbp
The ARM64 Simulator can take upwards of 6 minutes to execute this test, causing intermittent timeouts.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 16:06:03 +00:00
Oana Pop Rus
a759d6f62b Merge inbound to mozilla-central. a=merge 2019-03-29 23:54:39 +02:00
Jan de Mooij
126dd4fe64 Bug 1534902 - Move more of XPConnect's PreWrap code into the JS engine. r=kmag
This ensures the JS shell and browser behave the same way and it's nice for fuzzing.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 09:06:31 +00:00
violet
de4e05e120 Bug 1538622 - StructuredClone serialize and deserialize should treat back reference consistently r=jorendorff
1. If an object needs a custom function to |write|, it will be added to |memory|
   in |JSStructuredCloneWriter| before calling the custom function. But in
   JSStructuredCloneReader::startRead we did the opposite. This will cause
   out-of-order if the custom function also writes some objects (e.g.
   WriteStructuredCloneImageData). We fix this by keeping the same order in
   |startRead|.
2. |JS_WriteTypedArray| should not call |writeTypedArray| directly, because it
   will miss an entry in |memory| for the typed array itself. We fix this by calling
   |startWrite| instead.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 00:42:08 +00:00
Tom Schuster
e79fae2c02 Bug 1536860 - Remove Array.slice from lib/asm.js. r=jorendorff
This was causing test failures in some uncommon try configurations like fuzzing.

Depends on D24208

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

--HG--
extra : moz-landing-system : lando
2019-03-28 18:35:27 +00:00
Tom Schuster
9d316167b9 Bug 1536860 - Telemetry for deprecated Array generics. r=jorendorff datareview=chutten
Differential Revision: https://phabricator.services.mozilla.com/D24208

--HG--
extra : moz-landing-system : lando
2019-03-28 17:15:37 +00:00
Tom Schuster
0be4c58b6c Bug 1536860 - Warn about deprecated Array generics. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D24207

--HG--
extra : moz-landing-system : lando
2019-03-28 17:15:07 +00:00
André Bargull
20cf72c49d Bug 1538542: Report an error in the transplant testing function when new wrappers can't be created. r=jandem
And also assert this case can't happen in the browser case.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 17:27:49 +00:00
André Bargull
d87f68a742 Bug 1512491 - Part 2: Hoist access to MConstantElements. r=nbp
Depends on D24351

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

--HG--
extra : moz-landing-system : lando
2019-03-25 17:55:37 +00:00
André Bargull
841d19e8b9 Bug 1512491 - Part 1: Hoist bound checks with constants. r=nbp,jandem
Differential Revision: https://phabricator.services.mozilla.com/D24351

--HG--
extra : moz-landing-system : lando
2019-03-28 08:30:26 +00:00
André Bargull
cbe9fd9d7a Bug 1538690: Emit char-code comparison when comparing strings character by character. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D24701

--HG--
extra : moz-landing-system : lando
2019-03-28 08:18:01 +00:00
Matthew Gaudet
0f28ae1172 Bug 1536439 - [Part 3] Convert shape pointer to a GCPtrShape and remove manual barriering r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25075

--HG--
extra : moz-landing-system : lando
2019-03-28 15:03:20 +00:00
Matthew Gaudet
342cb7924c Bug 1536439 - [Part 2] Simplify ensureShape and maybeShape into nothingness r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25074

--HG--
extra : moz-landing-system : lando
2019-03-28 15:03:09 +00:00
Matthew Gaudet
d5a58c7249 Bug 1536439 - [Part 1] Removing Shaped Objects r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25072

--HG--
extra : moz-landing-system : lando
2019-03-28 15:02:59 +00:00
Peter Van der Beken
85c5f963e6 Bug 1532025 - Remove support for WrappedNatives from PreserveWrapper, since we don't have DOM objects using WrappedNatives anymore. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D21832

--HG--
extra : moz-landing-system : lando
2019-03-28 14:19:53 +00:00
Narcis Beleuzu
29bb054a50 Backed out 3 changesets (bug 1536439) for SM bustages on ProxyObject.h
Backed out changeset 4016c86b98ec (bug 1536439)
Backed out changeset f62fe53a0c53 (bug 1536439)
Backed out changeset 6043e621c80c (bug 1536439)
2019-03-28 16:09:16 +02:00
Matthew Gaudet
a4adc10f55 Bug 1536439 - [Part 3] Convert shape pointer to a GCPtrShape and remove manual barriering r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25075

--HG--
extra : moz-landing-system : lando
2019-03-28 13:37:01 +00:00
Matthew Gaudet
c462483106 Bug 1536439 - [Part 2] Simplify ensureShape and maybeShape into nothingness r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25074

--HG--
extra : moz-landing-system : lando
2019-03-28 13:36:57 +00:00
Matthew Gaudet
e57412e591 Bug 1536439 - [Part 1] Removing Shaped Objects r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D25072

--HG--
extra : moz-landing-system : lando
2019-03-28 13:36:45 +00:00
Hamzah
3c675f7b60 Bug 1507368 - Use constants defined in util/Unicode.h in CharacterEncoding.cpp r=arai
Replacing values defined as constants in Unicode.h in the CharacterEncoding.cpp file

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

--HG--
extra : moz-landing-system : lando
2019-03-28 10:32:37 +00:00
Jan de Mooij
62e4f9a5cb Bug 1382650 part 7 - Use a separate Ion optimization level for very hot code. r=nbp
Ion can do aggressive inlining, but inlining a lot of code has a negative
effect on compilation time and memory usage. It also means we spend more time
in the slower Baseline code while compiling the Ion code off-thread or after an
invalidation.

To address this, Ion now consists of two tiers:

* Normal: the first tier (warm-up threshold of 1,000) only inlines small
          functions one level deep. This tier also has recompile checks to
          recompile the script when it becomes very hot.

* Full: the second tier (warm-up threshold of 100,000) is only used for very
        hot code so we can afford inlining a lot more code.

This improves Speedometer and GDocs by more than 5%.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 07:35:40 +00:00
Oana Pop Rus
47e94b5d6e Merge inbound to mozilla-central. a=merge 2019-03-28 12:11:35 +02:00
Andrew McCreight
44f182bf3b Bug 1539261, part 2 - Mark various JSStructuredCloneData methods MOZ_MUST_USE. r=sfink
Also, fix up various places that call these methods.

Depends on D24991

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

--HG--
extra : moz-landing-system : lando
2019-03-27 20:41:17 +00:00
arthur.iakab
7ae8fb76e1 Backed out 2 changesets (bug 1539261) for multiple build bustages on /fuzz-tests/testStructuredCloneReader.cpp CLOSED TREE
Backed out changeset 526daf87fff9 (bug 1539261)
Backed out changeset 5b070b6ae224 (bug 1539261)
2019-03-27 21:59:29 +02:00
Andrew McCreight
c5ae898857 Bug 1539261, part 2 - Mark various JSStructuredCloneData methods MOZ_MUST_USE. r=sfink
Also, fix up various places that call these methods.

Depends on D24991

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

--HG--
extra : moz-landing-system : lando
2019-03-27 19:34:46 +00:00
Jan de Mooij
57ba0d7472 Bug 1382650 part 6 - Fix ARM64 implementation of branch32(AbsoluteAddress, Imm32). r=nbp
The old code would assert because we needed too many scratch registers, but it
was dead code until this patch.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 18:58:27 +00:00
Jan de Mooij
ce4b1432b8 Bug 1382650 part 5 - Calculate OSR warm-up threshold difference based on the warm-up threshold instead of hard-coding 100. r=nbp
We want this to be more than 100 for the full-optimizations tier. Making this
relative also works better for tests that set a small Ion warm-up threshold.

Also disables OSR in some tests depending on the old behavior.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 18:58:13 +00:00
Jan de Mooij
3ad6efea42 Bug 1382650 part 4 - Split Ion warmup threshold JitOption in 'normal' and 'full' options. r=nbp
Also adds a javascript.options.ion.full.threshold browser pref and similar shell
flags.

This doesn't rename the existing prefs yet.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 18:57:58 +00:00
Jason Orendorff
785ed53165 Bug 1537609 - Cap the stack size at 2MB on Windows. r=jandem
In bug 256180, the size of the stack on 64-bit Windows was changed from 2MB to
8MB, and on 32-bit Windows, from 1MB to 1.5MB. This is so large that it takes
significantly longer for a runaway recursive function to throw "too much
recursion", which causes terrible performance in scripts obfuscated using
obfuscator.io.

This patch leaves the actual stack size as-is, but changes the
JS-engine-specific stack quota back to 2MB on 64-bit Windows (6MB if ASAN is
enabled). 32-bit Windows is unaffected by the new cap.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 15:12:00 +00:00
Emilio Cobos Álvarez
cfa6b9a741 Bug 1529681 - Update bindgen. r=bbouvier
This works around an LLVM bug and also pulls a fair amount of bugfixes and perf
improvements. None of the breaking changes affect either the style system or
cranelift stuff.

Changelog for convenience:

https://github.com/rust-lang/rust-bindgen/compare/v0.43.2...v0.49.0

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

--HG--
extra : moz-landing-system : lando
2019-03-27 14:39:41 +00:00
Jan de Mooij
d9bd846d1b Bug 1382650 part 3 - Clean up Ion eager compilation code. r=nbp
There's a lot of complexity around setting/unsetting the eagerCompilation flag.
It's simpler to determine this based on the warm-up threshold being 0.

The patch also fixes some jit-tests where this patch would result in a change in
behavior.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 12:18:59 +00:00
Jan de Mooij
e3d555c94c Bug 1382650 part 2 - Store Ion warmup threshold only in JitOptions. r=nbp
Storing this also in IonOptimizationLevels.h/cpp is more complicated than
necessary.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 12:30:10 +00:00
Jan de Mooij
0aefddb6f9 Bug 1382650 part 1 - Remove separate Ion warmup threshold for small functions, as it's equivalent to the normal one. r=nbp
We used to have a different threshold for small functions but now they're both
set to 1000 so there's no need to special-case small functions.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 12:18:22 +00:00
Cosmin Sabou
224fe6cff2 Merge mozilla-central to autoland. 2019-03-27 06:51:51 +02:00
Cosmin Sabou
3d469329a4 Merge mozilla-inbound to mozilla-central. a=merge 2019-03-27 06:45:13 +02:00
Jeff Walden
9c165b28d3 Bug 1537536 - Forcibly generate Rust bindings for the JS::RootedValue typedef now that it happens the Rust bindings never themselves use the typedef. r=bustage
--HG--
extra : rebase_source : 171442f8da86a99ea0d6ad5b058825db2609705f
2019-03-26 16:32:42 -07:00
André Bargull
3b306926a8 Bug 1526394: Treat self-hosted functions the same as non-interpreted functions in Debugger code. r=jorendorff 2019-03-26 12:27:54 -07:00
Paul Bone
b0496498f4 Bug 1539031 - (part 2) Add a incremental non-zonal mode r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D24850

--HG--
extra : moz-landing-system : lando
2019-03-26 23:18:05 +00:00
Paul Bone
ce0c450e03 Bug 1539031 - (part 1) Rename JSGC_MODE_INCREMENTAL r=jonco
Since this mode covers both incremental and zonal GC, let's rename it to
reflect that.  JSGC_MODE_ZONE_INCREMENTAL.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 16:57:40 +00:00
Yoshi Cheng-Hao Huang
b520674b78 Bug 1521732 - Part 7: remove AutoValueVector and AutoObjectVector. r=sfink
Remove legacy AutoValueVector and AutoObjectVector.

Depends on D23187

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

--HG--
extra : moz-landing-system : lando
2019-03-25 06:39:32 +00:00
Yoshi Cheng-Hao Huang
de26884559 Bug 1521732 - Part 6: rust binding for RootedObjectVector. r=sfink
use RootedObjectVector in rust glue code.

Depends on D23186

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

--HG--
extra : moz-landing-system : lando
2019-03-25 06:39:30 +00:00
Yoshi Cheng-Hao Huang
7f012345b7 Bug 1521732 - Part 5: RootedObjectVector. r=sfink,jonco
s/AutoObjectVector/RootedObjectVector/g

Depends on D23185

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

--HG--
extra : moz-landing-system : lando
2019-03-26 14:00:51 +00:00
Yoshi Cheng-Hao Huang
813bbc9ed9 Bug 1521732 - Part 4: fix SM rust binging test. r=fitzgen
StackGCVector and RootedVector are partial template specialization and cause
cargo test failure. Bypass the classes by adding them to OPAQUE_TYPES.

Depends on D23184

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

--HG--
extra : moz-landing-system : lando
2019-03-25 06:39:25 +00:00
Yoshi Cheng-Hao Huang
edbc333422 Bug 1521732 - Part 3: Use RootedValueVector instead. r=sfink,jonco
s/AutoValueVector/RootedValueVector/g

Depends on D23183

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

--HG--
extra : moz-landing-system : lando
2019-03-26 13:58:20 +00:00
Yoshi Cheng-Hao Huang
61c7fcebcc Bug 1521732 - Part 2: convert RootedValueVector to HandleValueArray. r=sfink,jonco
Add a conversion constructor to HandleValueArray.

Depends on D23182

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

--HG--
extra : moz-landing-system : lando
2019-03-26 13:56:18 +00:00
Yoshi Cheng-Hao Huang
9125968c60 Bug 1521732 - Part 1: StackGCVector and RootedVector. r=sfink
Introduce a MOZ_STACK_CLASS StackGCVector, which is
specialization of inline capacity to 8 of GCVector.

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

--HG--
extra : moz-landing-system : lando
2019-03-25 06:39:12 +00:00
André Bargull
24bb28b814 Bug 1380031: Ensure Math.exp(1) returns Math.E. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D24354

--HG--
extra : moz-landing-system : lando
2019-03-25 09:15:27 +00:00
André Bargull
d3b5c44b6b Bug 1491813: Add fast path when TypedArray.from is called with a TypedArray. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D24353

--HG--
extra : moz-landing-system : lando
2019-03-26 10:09:51 +00:00
André Bargull
b1d92147e2 Bug 1538692 - Part 3: Change bool template parameter to bool enum class. r=mgaudet
Depends on D24707

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

--HG--
extra : moz-landing-system : lando
2019-03-26 16:01:36 +00:00
André Bargull
3d274f3ace Bug 1538692 - Part 2: Support relational string comparison in CacheIR. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D24707

--HG--
extra : moz-landing-system : lando
2019-03-26 14:49:35 +00:00