Commit Graph

68692 Commits

Author SHA1 Message Date
Nicolas B. Pierron
5bbef34d33 Bug 1517553 - ARM64 JIT: Change JSVAL_TAG comparisons to require only 2 instructions and 1 register. r=sstangl 2019-01-09 18:22:56 +01:00
Brian Hackett
655a9a04fe Bug 1517167 Part 1 - Set introduction information for dynamically generated <script> elements, r=jorendorff.
--HG--
extra : rebase_source : 6a2080d724ccac7ccc5f1c45191a1f46ceed6c56
2019-01-03 06:27:01 -10:00
Razvan Maries
83db861464 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-01-09 00:11:59 +02:00
Bob Clary
86e161e8f7 Bug 1517351 - Disable jit-test/tests/wasm/spec/{address.wast,call_indirect.wast}.js on arm-32, r=jmaher 2019-01-08 10:09:00 +02:00
Sean Stangl
8751eac174 Bug 1518289 - Implement ARM64 CodeGenerator::visitRoundF(). r=nbp 2019-01-08 10:19:00 +02:00
Daniel Varga
0d21c9eedd Merge mozilla-inbound to mozilla-central. a=merge 2019-01-08 18:23:16 +02:00
Nicolas B. Pierron
f432b924a9 Bug 1518181 - IonAssemblerBufferWithConstantPools skip no-pool constraints after running out-of-memory. r=sstangl
When running out-of-memory, we are no longer allowed to read the content of the
MacroAssembler buffer, as such we can safely ignore the soundness of the
enterNoPool and leaveNoPool scopes if we ran out of memory.
2019-01-08 14:44:32 +01:00
Daniel Varga
8306d673ed Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-01-08 18:31:08 +02:00
André Bargull
039d42cd5a Bug 1517823 - Part 2: Pass arena to MallocProvider client. r=sfink 2019-01-07 05:47:09 -08:00
André Bargull
cd2bf34a4f Bug 1517823 - Part 1: Store out of line TypedArray data in ArrayBuffer malloc-arena. r=sfink 2019-01-07 05:46:34 -08:00
Oana Pop Rus
aec8de62bb Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-08 12:37:02 +02:00
Oana Pop Rus
3adbeba770 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-08 12:13:02 +02:00
Tooru Fujisawa
ac8d39d656 Bug 1517868 - Report unhandled rejections in JS shell. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D15792

--HG--
extra : moz-landing-system : lando
2019-01-08 02:34:57 +00:00
André Bargull
5a7ec10946 Bug 1518101: Use calloc instead of malloc followed by memset for inlined TypedArray data allocation. r=jonco 2019-01-07 05:45:48 -08:00
Csoregi Natalia
498c659ff8 Merge inbound to mozilla-central. a=merge 2019-01-07 23:46:59 +02:00
Tooru Fujisawa
66ebd26630 Bug 1500836 - Call setBindingsAccessedDynamically if delete with name operand appears in BinAST. r=Yoric 2019-01-08 11:33:21 +09:00
Tooru Fujisawa
7dd547507b Bug 1502792 - Part 2: Add ErrorReportMixin which implements error reporting methods, and make them available in Parser and Tokenizer. r=jwalden 2019-01-08 11:33:20 +09:00
Tooru Fujisawa
fdf5f96e93 Bug 1502792 - Part 1: Use va_list* instead of va_list in ReportCompile{Error,Warning} parameter type. r=jwalden 2019-01-08 11:33:20 +09:00
Jeff Walden
4119074e02 Bug 1517624 - Followup fix for the sm-rust job, r=bustage, r=me as trivial 2019-01-07 17:35:48 -08:00
David Major
46bdab596b Bug 1517594 - Don't use mrs instruction in aarch64-windows r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D15680

--HG--
extra : moz-landing-system : lando
2019-01-04 15:29:07 +00:00
Jan de Mooij
a0640935f5 Bug 1518077 part 2 - Add MEMORY_JS_REALMS_{USER,SYSTEM} similar to the MEMORY_JS_COMPARTMENTS_{USER,SYSTEM} counts. r=njn,chutten
Differential Revision: https://phabricator.services.mozilla.com/D15809

--HG--
extra : moz-landing-system : lando
2019-01-08 15:11:36 +00:00
Jan de Mooij
5b05f372ab Bug 1518077 part 1 - Fix MEMORY_JS_COMPARTMENTS_{USER,SYSTEM} telemetry to count number of compartments instead of realms. r=njn
Differential Revision: https://phabricator.services.mozilla.com/D15808

--HG--
extra : moz-landing-system : lando
2019-01-08 15:11:08 +00:00
André Bargull
257562448d Bug 1517461: Use background allocation kind when tenuring typed arrays allocated from JIT code. r=jonco 2019-01-03 04:59:58 -08:00
Yoshi Cheng-Hao Huang
d38247a38e Bug 1517158 - add hasGlobal for AbstractFramePtr, DebugFrame and JSScript. r=jonco
To prevent triggering read barrier while accessing GlobalObject.
2019-01-07 16:37:22 +01:00
Jeff Walden
d084a5e469 Back out f8a29b8bb211, d1267711aef0, df1b7a886a9d, 0f6a3dd2c2f7, e6628922b7be, 0a374ac233cd, cf00fd0f080c, 6fc24c4e7798, ab2e4a2e5dd2, 2d17e4ef5e71, 4a8940073f8c, ea3ab4b83152, c7577c232591, e58454c68f0f, and 0e39815d1bce for breaking a single Android J10 and nothing else. (That J10 task must not like deck chairs...) r=bustage
--HG--
extra : rebase_source : f02dabe3ece7955cb223313d3605b825560c62b1
2019-01-04 16:33:01 -06:00
shindli
deb6936a40 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-04 23:50:00 +02:00
Jeff Walden
e78f4907ec Backed out changeset d1267711aef0 for Jit10 failures.
--HG--
extra : histedit_source : 446b67a2bf6a0b7cad32ac06e60a30811e3a7a69
2019-01-04 15:03:28 -06:00
Jan de Mooij
8ce3159350 Bug 1517690 - Fix BaselineInspector to match new CacheIR ops for WindowProxy unwrapping. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D15729

--HG--
extra : moz-landing-system : lando
2019-01-04 17:47:39 +00:00
Jan de Mooij
cc33e58220 Bug 1516406 - Fix DumpScopeChain to propagate exceptions from JSFunction::getOrCreateScript correctly. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D15579

--HG--
extra : moz-landing-system : lando
2019-01-04 16:53:01 +00:00
Cosmin Sabou
c635221c73 Backed out changeset 227f1a73b16f (bug 1477084) for spidermonkey bustages on tests/debug/Frame-onStep-generator-resumption-01.js 2019-01-04 18:59:03 +02:00
Jason Orendorff
317e3adf36 Bug 1477084 - Fix assertion with Debugger forcing return from an async generator before its initial yield. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D14789

--HG--
extra : moz-landing-system : lando
2019-01-04 16:22:31 +00:00
Nicolas B. Pierron
b68f36a865 Bug 1451385 - ARM64: Update the last profiling frame after a JSOP_RESUME return opcode. r=sstangl 2019-01-04 14:52:47 +01:00
Jon Coppeard
c6bba05f15 Bug 1515475 - Remove hardcoded length of config arrays for JS_SetGCParametersBasedOnAvailableMemory a=pbone 2019-01-04 10:48:14 +00:00
André Bargull
e3f92ecf93 Bug 1517259 - Part 13: Move the default getIndexValue method into the anonymous namespace. r=jandem 2019-01-03 02:56:06 -08:00
André Bargull
bf461ba531 Bug 1517259 - Part 14: Add constexpr modifier to variables holding constexpr values. r=tcampbell 2019-01-03 05:51:22 -08:00
André Bargull
f95058f9d1 Bug 1517259 - Part 1: Change parameter name in JS_FOR_EACH_TYPED_ARRAY macro for better clang-format output. r=tcampbell
--HG--
extra : rebase_source : 2f7fa01c2c48a7f2adc798f4d6e1ec3e6b9ef2d8
2019-01-03 02:42:41 -08:00
André Bargull
3c486fecaa Bug 1517259 - Part 12: Use JS_FOR_EACH_TYPED_ARRAY instead of enumerating each typed array kind manually. r=tcampbell
--HG--
extra : rebase_source : 7ae18aa98cbb00af2c250d01b29349d9f17c075f
2019-01-07 02:51:06 -08:00
André Bargull
c91b41083c Bug 1517259 - Part 11: Move friend-api typed array functions closer together. r=tcampbell
--HG--
extra : rebase_source : bc00fd343df4b904d856b25ba7a350f0a4c5e460
2019-01-07 02:50:33 -08:00
André Bargull
11d926df74 Bug 1517259 - Part 10: Use initFixedSlot when initializing typed array slots. r=tcampbell
--HG--
extra : rebase_source : 9cc20ebc75310170e2af242cc8b196d76dbd8980
2019-01-07 02:49:55 -08:00
André Bargull
6b1477e318 Bug 1517259 - Part 9: Replace unreachable code in ArrayBufferView tracking with assertions. r=jandem
--HG--
extra : rebase_source : d691baa905efb1464f5ee8c1cc9233c40aa6d910
2019-01-03 02:52:20 -08:00
André Bargull
00d047f7f7 Bug 1517259 - Part 8: Remove explicit call to GetBackgroundAllocKind. r=jandem
--HG--
extra : rebase_source : 0b988bbea16f78a076483f5c7b86d279a91b3957
2019-01-03 02:51:48 -08:00
André Bargull
95c224309c Bug 1517259 - Part 7: Fix a comment, add |const|, use typed enums, and more nits. r=tcampbell
--HG--
extra : rebase_source : 6e4e52f4af747416fa0306ea8bc888bb2c1e4643
2019-01-07 05:43:30 -08:00
André Bargull
81087e19fe Bug 1517259 - Part 6: Replace CalculateAllocSize with simple multiplication. r=tcampbell
--HG--
extra : rebase_source : ee5dd25ffe7a9eecb4bb6fa3f4d948428642b92b
2019-01-03 02:50:40 -08:00
André Bargull
3950618f5a Bug 1517259 - Part 5: Remove unnecessary extra branches in TypedArrayObjectTemplate<T>::fromTypedArray. r=tcampbell
--HG--
extra : rebase_source : 7c2cfece9d1171577b4bd953ef0e143afe266584
2019-01-03 02:47:17 -08:00
André Bargull
8daa21b759 Bug 1517259 - Part 4: Replace most sizeof with BYTES_PER_ELEMENT to align with TypedArrayObject::bytesPerElement() users. r=tcampbell
--HG--
extra : rebase_source : f7dc317dd8b43f556d7ed68a7ea509706e243227
2019-01-03 02:46:58 -08:00
André Bargull
38efab788a Bug 1517259 - Part 3: Sprinkle a few constexpr throughout TypedArray code. r=tcampbell
--HG--
extra : rebase_source : 8a25a5521ed087c5de0481a0fa5cb23f81690f24
2019-01-03 02:46:46 -08:00
André Bargull
29d5b50a21 Bug 1517259 - Part 2: Remove dead or useless code. r=tcampbell
--HG--
extra : rebase_source : e90259486cfd85910ebbb25edfbcb51e5d1886cd
2019-01-03 02:43:39 -08:00
Csoregi Natalia
4eda4d34c0 Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-01-07 23:51:06 +02:00
Jeff Walden
7883beee5b Bug 1517674 - Rename JS_NewDateObject and JS_ObjectIsDate to JS:: versions of the same, and move their declarations to js/public/Date.h and their implementations to js/src/jsdate.cpp. r=arai
--HG--
extra : rebase_source : 581fa2b7831ab09c33801f8e9a52a78566973ff4
2019-01-04 11:43:31 -06:00
Jeff Walden
a128f0c35c Bug 1517624 - Move JSPropertySpec and JSFunctionSpec definitions into a new js/public/PropertySpec.h header. r=arai
--HG--
extra : rebase_source : b80911e01f984ee9f99fbbc6c4552ef3d2178587
2019-01-03 15:37:01 -06:00
Ciure Andrei
7a748ae68f Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-01-04 01:03:06 +02:00
Ciure Andrei
a8af06aea2 Merge inbound to mozilla-central. a=merge 2019-01-04 00:04:46 +02:00
Sean Stangl
3310063144 Bug 1517379 - Implement ARM64 code generation for visitRound(). r=nbp
--HG--
extra : histedit_source : f3416070289693480091ed71c94261121d02253f
2019-01-02 17:20:00 +02:00
Boris Zbarsky
df26fc8601 Bug 1516567. Fix JSPropertySpec assertions to deal with not having a getter. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D15423

--HG--
extra : moz-landing-system : lando
2019-01-03 16:52:59 +00:00
Daniel Varga
6475e7a21d Merge mozilla-inbound to mozilla-central. a=merge 2019-01-03 18:22:07 +02:00
Jon Coppeard
4f6ab86fcf Bug 1342012 - Store a CCW to the introuction script's script source object r=jandem 2019-01-03 10:06:00 +00:00
Jon Coppeard
bdfdf72d44 Bug 1342012 - Fix error message that covers all import() failures that don't throw a JS exception r=jandem 2019-01-03 10:06:00 +00:00
Jeff Walden
beebbf9f0b Bug 1516796 - Move property-descriptor APIs into a minimal js/public/PropertyDescriptor.h header, that (at least for now) jsapi.h #includes because it still contains some property-definition stuff. r=arai
--HG--
extra : rebase_source : a6e9db9dfd96e75b1990b443cec40baa240aad90
2018-12-29 13:47:29 -06:00
Jeff Walden
1a7499e4a1 Bug 1516742 - Move {js::,JS_}{{Strictly,Loosely}Equal,SameValue} into js/public/Equality.h and js/src/vm/EqualityOperations.{cpp,h}. r=arai
--HG--
extra : rebase_source : 1e54339bf579befc38f0155e107da3d192fb6a78
2018-12-29 00:06:21 -06:00
Jeff Walden
72773f1fd6 Bug 1516713 - Move buildId-related stuff out of jsapi.h into a new js/public/BuildId.h header. r=arai
--HG--
extra : rebase_source : 62ed8aa652e577c108a83351fba5d71b6c97da40
2018-12-28 21:00:58 -06:00
Jeff Walden
6714bb4592 Bug 1516697 - Make AsmJSParser a template typedef and {Module,Function}Validator template classes. r=arai 2018-12-28 21:00:57 -06:00
Jeff Walden
e8979f2dff Bug 1516697 - Make AsmJSParser a template typedef and {Module,Function}Validator template classes. r=arai
--HG--
extra : rebase_source : 350998b1d62df4829adf49102da7e59ee943f1e4
2018-12-28 21:00:57 -06:00
Boris Zbarsky
447c1f8722 Bug 1517434 part 3. Get rid of pointer compares to nsXPConnect::SystemPrincipal. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D15674

--HG--
extra : moz-landing-system : lando
2019-01-03 21:08:15 +00:00
Boris Zbarsky
058f83508f Bug 1517434 part 2. Convert existing callers of GetIsSystemPrincipal() to IsSystemPrincipal(). r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D15673

--HG--
extra : moz-landing-system : lando
2019-01-03 20:55:38 +00:00
Jim Blandy
eb4ba6cb0e Bug 1517568: Add SMDOC marker to LiveSavedFrameCache comment. DONTBUILD r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D15671

--HG--
extra : moz-landing-system : lando
2019-01-03 21:00:20 +00:00
Jim Blandy
641b0f8465 Bug 1145201: Remove unnecessary SpiderMonkey internal job queue reset. r=jorendorff
The call to `cx->jobQueue->reset()` doesn't do anything that isn't also
accomplished by the call to `fop->delete_(cx->jobQueue.ref())` two lines later.
Since `cx->jobQueue` is a `ThreadData<PersistentRooted<JobQueue>*>`, the
`PersistentRooted` actually owns the `JobQueue` (despite the field's name
`ptr`), rather than holding a pointer to it, so deleting the `PersistentRooted`
invokes the `JobQueue` destructor.

In more detail:

`JSContext::jobQueue` is a `ThreadData<PersistentRooted<JobQueue>*>`, so the
call `cx->jobQueue->reset()` performs the following steps:

- Call `ProtectedData::operator->`, obtaining a (const reference to a non-const)
  pointer `PersistentRooted<JobQueue>*`.

- Call `PersistentRooted::reset`, which move-assigns a fresh `JobQueue` to the
  `ptr` member. Note that `PersistentRooted<JobQueue>::ptr` is a `JobQueue`,
  *not* a pointer.

But the subsequent call to `fop->delete_(cx->jobQueue.ref())` will perform the
following steps:

- Call `ProtectedData::ref`, obtaining a (reference to a)
  `PersistentRooted<JobQueue>*` pointer.

- Call `PersistentRooted<JobQueue>`'s destructor, which destructs `ptr`. Since
  `ptr` is a `JobQueue`, this calls the `JobQueue`'s destructor, safely freeing
  its resources.

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

--HG--
extra : moz-landing-system : lando
2019-01-03 15:19:09 +00:00
Jeff Walden
aa6f3e1d6c Bug 1516697 - Split {Module,Function}Validator classes into {Module,Function}Validator{,Shared} to segregate source-unit-agnostic parts from source-unit-aware parts, use the correct types in all signatures, and use *ValidatorShared::* instead of *Validator::* for nested classes that are common to both source types. r=arai 2018-12-28 11:07:24 -06:00
Benjamin Bouvier
1542471486 Bug 1517752: Update to Cranelift 0.26; r=sunfish 2019-01-04 16:19:48 +01:00
Jeff Walden
8d2567fd4e Back out 4a8940073f8c and c7577c232591for some asm.js failures. r=bustage in a CLOSED TREE 2019-01-04 12:53:18 -06:00
Jeff Walden
b57a125e58 Bug 1517624 - Followup fix for the sm-rust job, r=bustage, r=me as trivial 2019-01-04 12:32:07 -06:00
Jeff Walden
821a25c308 Bug 1517674 - Rename JS_NewDateObject and JS_ObjectIsDate to JS:: versions of the same, and move their declarations to js/public/Date.h and their implementations to js/src/jsdate.cpp. r=arai 2019-01-04 11:43:31 -06:00
Jeff Walden
87aba62a4a Bug 1517624 - Move JSPropertySpec and JSFunctionSpec definitions into a new js/public/PropertySpec.h header. r=arai 2019-01-03 15:37:01 -06:00
Jeff Walden
ab149ff59b Bug 1516796 - Move property-descriptor APIs into a minimal js/public/PropertyDescriptor.h header, that (at least for now) jsapi.h #includes because it still contains some property-definition stuff. r=arai 2018-12-29 13:47:29 -06:00
Jeff Walden
6cfdc00403 Bug 1516742 - Move {js::,JS_}{{Strictly,Loosely}Equal,SameValue} into js/public/Equality.h and js/src/vm/EqualityOperations.{cpp,h}. r=arai 2018-12-29 00:06:21 -06:00
Jeff Walden
bc490ae90f Bug 1516713 - Move buildId-related stuff out of jsapi.h into a new js/public/BuildId.h header. r=arai 2018-12-28 21:00:58 -06:00
Jeff Walden
fcdd8f5160 Bug 1516697 - Make AsmJSParser a template typedef and {Module,Function}Validator template classes. r=arai 2018-12-28 21:00:57 -06:00
Jeff Walden
ea1a7af6af Bug 1516697 - Use |using| to define various typedefs in AsmJS.cpp. r=arai 2018-12-28 21:00:57 -06:00
Jeff Walden
c224c3e09f Bug 1516697 - Split {Module,Function}Validator classes into {Module,Function}Validator{,Shared} to segregate source-unit-agnostic parts from source-unit-aware parts, use the correct types in all signatures, and use *ValidatorShared::* instead of *Validator::* for nested classes that are common to both source types. r=arai
--HG--
extra : rebase_source : 0c4bcd6d302e845fab9607ac1684f4926221fa5c
2018-12-28 11:07:24 -06:00
Jeff Walden
89e471db70 Bug 1516697 - Use |using| to define various typedefs in AsmJS.cpp. r=arai
--HG--
extra : rebase_source : 0e7177a17272a4a5d7430b919f799923dd5a17a0
2018-12-28 21:00:57 -06:00
Jeff Walden
2c93aefa5a Bug 1516697 - Split {Module,Function}Validator classes into {Module,Function}Validator{,Shared} to segregate source-unit-agnostic parts from source-unit-aware parts, use the correct types in all signatures, and use *ValidatorShared::* instead of *Validator::* for nested classes that are common to both source types. r=arai 2018-12-28 11:07:24 -06:00
Jeff Walden
101aa3c79d Bug 1516697 - Don't use std::abs on a value that could possibly be -2147483648 (whose absolute value can't be computed when |int| is 32-bit-sized). r=arai
--HG--
extra : rebase_source : 2a46d48c7c69c8fa66816330b25896a8fca5716d
2018-12-28 11:07:23 -06:00
Jeff Walden
3095483e4a Bug 1516697 - Don't use std::abs on a value that could possibly be -2147483648 (whose absolute value can't be computed when |int| is 32-bit-sized). r=arai 2018-12-28 11:07:23 -06:00
Jan de Mooij
78e49f6404 Bug 1512029 part 4 - Use the privileged junk scope's compartment for sandboxes created with the system principal. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D14255

--HG--
extra : moz-landing-system : lando
2019-01-03 10:02:31 +00:00
Jan de Mooij
cdbd8647b5 Bug 1516237 - Fix FixWaiverAfterTransplant to nuke CCWs for oldWaiver in the new compartment. r=bholley
This case can come up with same-compartment realms. Keeping these CCWs
would confuse RemapWrapper because it'd be called with the CCW and target
in the same compartment.

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

--HG--
extra : moz-landing-system : lando
2019-01-03 09:04:02 +00:00
Jan de Mooij
c310b8a7a7 Bug 1467124 - Fix WindowProxy optimizations in the JIT for same-compartment realms. r=bzbarsky
Makes the following changes:

* The WindowProxy optimizations in the ICs and Ion now guard the WindowProxy's
  global is the script's global. Other WindowProxies are harder to optimize
  because of potential security checks based on document.domain.

* IsWindowProxyForScriptGlobal was added as helper function to consolidate the
  logic for this.

* Removes the WindowProxy optimization for CCWs. This becomes more complicated
  in the new world for various reasons and it seems better to focus on
  getting same-compartment realms working to address that use case.

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

--HG--
extra : moz-landing-system : lando
2019-01-03 08:52:43 +00:00
Jan de Mooij
f9e1248a94 Bug 1516967 - Call the large allocation callback before reporting OOM in JSRuntime::createJitRuntime. r=lhansen
Differential Revision: https://phabricator.services.mozilla.com/D15560

--HG--
extra : moz-landing-system : lando
2019-01-03 08:48:33 +00:00
Bogdan Tara
954395da08 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-01-02 23:41:59 +02:00
Bogdan Tara
6582cc9a1d Merge inbound to mozilla-central. a=merge 2019-01-02 23:36:12 +02:00
Sean Stangl
159e4bb574 Bug 1516701 - Implement MacroAssembler::storeRegsInMask(). r=nbp
Makes progress in basic/array-copyWithin.js.

Fixup for storeRegsInMask.
2018-12-28 14:26:00 +02:00
Sean Stangl
4e37f82d83 Bug 1516700 - ARM64: Use SwitchTableType::OutOfLine. r=nbp 2018-12-28 14:23:00 +02:00
Sean Stangl
18984545af Bug 1516693 - ARM64: Correctly update framePushed_ in buildOOLFakeExitFrame(). r=nbp 2018-12-28 13:07:00 +02:00
Jon Coppeard
9f444751c3 Bug 1514850 - Don't delay checking of cells that are already marked black r=sfink 2019-01-02 18:19:01 +00:00
Jon Coppeard
bc5158e75b Bug 1516138 - Check GC zeal mode is in range r=allstars.chh 2019-01-02 18:19:01 +00:00
Jon Coppeard
26e28a8c42 Bug 1516409 - Separate out flags for gray and black delayed marking r=sfink 2019-01-02 18:19:01 +00:00
Peter Van der Beken
066d891adb Bug 1353867 - Add cross-process proxies for WindowProxy. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D12656

--HG--
extra : moz-landing-system : lando
2019-01-02 13:29:18 +00:00
Peter Van der Beken
43adb531b7 Bug 1353867 - Expose IsCrossOriginWhitelistedProp/AppendCrossOriginWhitelistedPropNames to DOM code. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D12655

--HG--
extra : moz-landing-system : lando
2019-01-02 13:28:40 +00:00
Peter Van der Beken
58c7fc4d20 Bug 1353867 - Change WindowProxyHolder's native type to BrowsingContext. r=bzbarsky
Make the WindowProxyHolder hold a strong reference to a BrowsingContext, as in the future
we might not have a nsPIDOMWindowOuter (if the document is loaded in a different process).

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

--HG--
extra : moz-landing-system : lando
2019-01-02 13:27:05 +00:00
Jeff Walden
6d98929399 Bug 1516697 - Make wasm/AsmJS.h minimally include only what it needs. r=arai
--HG--
extra : rebase_source : c1abc2164207b25d1f2ddaef56effce1d164ef87
2018-12-26 20:59:49 -06:00
Jeff Walden
075ee67ae1 Bug 1516697 - Make wasm/AsmJS.h minimally include only what it needs. r=arai 2018-12-26 20:59:49 -06:00
Ms2ger
3bb5e1c023 Bug 1515010 - Update core wasm tests; r=luke 2019-01-02 12:19:13 +01:00
Brindusan Cristian
2c544a2ad5 Backed out 1 changesets (bug 1515010) for wpt failures on align.wast.js.html and sm build bustage.
Backed out changeset a3025b3c5c6a (bug 1515010)
2019-01-02 14:52:11 +02:00
Ms2ger
ec75f6d41d Bug 1515010 - Update core wasm tests; r=luke 2019-01-02 12:19:13 +01:00
Boris Zbarsky
b7c8308871 Bug 1516560. Stop trying to do DOM proxy caching for DOM proxies with dynamic prototypes. r=jandem
This only affects Location.

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

--HG--
extra : moz-landing-system : lando
2018-12-31 16:16:00 +00:00
Bob Clary
664095fb28 Bug 1475648 - disable jittests on android-hw-p2, r=jmaher.
This patch disables the following tests for the specified arm platform:

jit-test/tests/wasm/atomic.js arm64
jit-test/tests/wasm/baseline-abs-addr-opt.js arm64
jit-test/tests/wasm/bce.js arm64
jit-test/tests/wasm/memory.js arm64
jit-test/tests/wasm/spec/float_memory.wast.js arm7
jit-test/tests/wasm/spec/memory_redundancy.wast.js arm7

This uses the following rules to determine when to skip the
test:

skip arm7       // |jit-test| skip-if: !getBuildConfiguration()['x86'] && !getBuildConfiguration()['x64'] && !getBuildConfiguration()['arm64']
skip arm64      // |jit-test| skip-if: getBuildConfiguration()['arm64']
skip arm7+arm64 // |jit-test| skip-if: !getBuildConfiguration()['x86'] && !getBuildConfiguration()['x64']

Bug 1516915 has been filed to add an arm7 property to getBuildConfiguration.
2018-12-31 10:14:26 -08:00
Bob Clary
a6b6fd36a7 Bug 1511615 - disable js/src/jit-test/tests/ctypes/conversion-finalizer.js for android-hw-p2, r=jmaher. 2018-12-31 10:14:25 -08:00
Bob Clary
8d9db10b16 Bug 1511618 - js/src/tests/lib/jittests.py check_output should detect rc 139 as a crash, r=jmaher. 2018-12-31 10:14:25 -08:00
Jan de Mooij
65d873d3a9 Bug 1517694 - Add a test to verify sandboxes, chrome windows and JSMs are in the same compartment. r=kmag
This also changes test_bug1516237.html to now assert we're same-compartment
instead of supporting both cases.

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

--HG--
extra : moz-landing-system : lando
2019-01-08 12:51:22 +00:00
Jon Coppeard
00551f77bb Bug 1342012 - Add a JS API to get the private value for the calling script or module r=jandem 2018-12-06 16:52:17 -05:00
Jon Coppeard
20a91427ef Bug 1342012 - Support script and module private values which contain pointers to cycle-collected C++ objects r=jandem 2018-12-06 16:52:15 -05:00
Jon Coppeard
41dd1b00f4 Bug 1515993 - Extend linear time weak map marking to LazyScripts r=sfink 2019-01-03 09:41:57 +00:00
Yoshi Cheng-Hao Huang
f0323a414d Bug 1515648 - Part 5: fix in EnvironmentObject.cpp. r=jonco 2018-12-31 11:01:21 +01:00
Yoshi Cheng-Hao Huang
ca060916c7 Bug 1515648 - Part 4: fix in SavedStacks.cpp. r=jonco 2018-12-31 11:01:16 +01:00
Yoshi Cheng-Hao Huang
28981210df Bug 1515648 - Part 3: use unbarrieredGet() for Debugger. r=jonco 2018-12-31 11:01:11 +01:00
Yoshi Cheng-Hao Huang
f84b90a81c Bug 1515648 - Part 2: fix in Shape.cpp. r=jonco 2018-12-31 11:01:06 +01:00
Yoshi Cheng-Hao Huang
947a7a8bef Bug 1515648 - Part 1: Assert read barriers won't fire during collection. r=jonco 2018-12-31 11:01:00 +01:00
Daniel Varga
480ddc48ba Merge mozilla-central to autoland. a=merge
--HG--
extra : rebase_source : 8f0c469789f229e6bda880e040ef14179e70f9cf
2018-12-29 11:38:36 +02:00
Daniel Varga
732a632f8d Merge mozilla-inbound to mozilla-central. a=merge 2018-12-29 11:35:40 +02:00
Jan de Mooij
35eadca8e9 Bug 1515590 part 6 - Fix AddSizeOfTab to reserve number-of-realms instead of number-of-compartments in the realms Vector. r=bzbarsky
ASan builds caught this.

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

--HG--
extra : moz-landing-system : lando
2018-12-29 09:27:16 +00:00
Jan de Mooij
2aa7efc012 Bug 1515590 part 5 - Fix test_bug771429.xul to work with same-compartment realms. r=bzbarsky
Changes the test to test both freshCompartment: true and freshCompartment: false
sandbox options.

There's one sub test that fails with same-copartment realms, I commented that
and added a weaker test for the same-compartment case.

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

--HG--
extra : moz-landing-system : lando
2018-12-29 09:27:14 +00:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Daniel Varga
ff20f2519a Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE
--HG--
extra : rebase_source : 28249a6c172f584d05eb3a775578ebd0839aa057
2019-01-03 18:28:27 +02:00
André Bargull
2ac32d7cad Bug 1517235: Add fast path for number inputs to parseFloat. r=jorendorff 2019-01-02 06:16:34 -08:00
Bob Clary
d8beba9043 Bug 1516915 - Use new 'arm' property of the build configuration object in jit-test skip-if conditions, r=lth
--HG--
extra : rebase_source : c015897c21d69c8e50026b4f7848ea85fb616404
2019-01-03 09:59:06 +01:00
Lars T Hansen
cf02f0c73f Bug 1516720 - Make an overbroad assertion narrower. r=jseward
We use a cmpxchg loop on x86 / x64 systems to implement bitwise
read-modify-write atomic operations.  This means that we can use
word-width operations even when we're operating on sub-wordsize data,
so there's no reason to force the RMW operand into a byte-wide
register - only the registers used for the memory access need be
special on x86, since memory accesses must still be word-wide.

Thus the assertion that asserts that the value must be in a byte
register applies only to ADD and SUB (since they use XADD and require
a byte register).

--HG--
extra : rebase_source : 087c2c9d369e1e488915d817d89b8961041d7620
2019-01-02 11:01:27 +01:00
Lars T Hansen
a00401d6f8 Bug 1516738 - specialize x86 code generation for byte register. r=jseward
--HG--
extra : rebase_source : 84fceca89d30a1f6435e77a6db6b090a2dd5e7fc
2019-01-02 09:45:55 +01:00
Lars T Hansen
740f9cb729 Bug 1516915 - Add 'arm' (ie ARM-32 codegen) to the build configuration object. r=jandem
Since we already have 'arm-simulator' meaning the emulator for ARM-32,
let's have 'arm' mean that the jits are generating code for ARM-32.
Thus arm && !arm-simulator means we're running on real hardware.

--HG--
extra : rebase_source : 29c531fc036b6cdbf96d1c3befe9d331f154931c
2019-01-02 11:24:52 +01:00
Lars T Hansen
26bd168428 Bug 1517412 - Adapt wasm buffer management parameters for android-on-arm64. r=luke
Android on ARM64 only has 4TB of available address space per process,
leaving room for relatively few wasm memory objects (6GB each
currently).  We therefore adjust the wasm GC trigger parameters to
account for this limitation.

--HG--
extra : rebase_source : e283907ff9f43cecb34c31ebc0dc55301f4ef134
extra : amend_source : 8eb90ed1e2313dd108393dc4c38d060c793c85d9
2019-01-04 16:49:36 +01:00
Oriol Brufau
b8f683c47e Bug 1515447 - Add receiver parameter to Debugger.Object's getProperty and setProperty. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D15018

--HG--
extra : moz-landing-system : lando
2018-12-28 19:07:15 +00:00
Sylvestre Ledru
cccdda3c2a Bug 1516555 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2018-12-28 15:48:06 +00:00
Boris Zbarsky
edab779db9 Bug 1516473. Remove the compartment assert from GetObjectClassName. r=jandem
This is the one thing preventing use of a js::Wrapper for a proxy handler that
forwards all ops to a wrapped proxy without entering its compartment.  None of
the other ops at this level do compartment asserts.

Callers of this function other than ForwardingProxyHandler do their own asserts
already.
2018-12-27 11:58:01 -08:00
Nicolas B. Pierron
99fca236e3 Bug 1515963 - Add vixl::GdbDisassembleInstruction. r=sstangl
This add a simple function made to be called from gdb, which uses the vixl
decoder to output in a static buffer the string corresponding to a single
instruction.

This is useful when breaking at vixl::Simulator::ExecuteInstruction function, as follow:

(gdb) b vixl::Simulator::ExecuteInstruction
Breakpoint 1 at 0x...: file ../jit/arm64/vixl/MozSimulator-vixl.cpp.
(gdb) command 1
> call vixl::GdbDisassembleInstruction(this->pc_)
> end
2018-12-27 18:52:32 +01:00
Nicolas B. Pierron
6b584f7dd8 Bug 1515704 - ARM64: Generate code for LPowHalfD. r=sstangl 2018-12-27 18:52:30 +01:00
Jeff Walden
8a135a9c5a Bug 1515801 - Make subscripts have lazy source, and change the source-hook to hint UTF-8 rather than offer no charset hint so that lazy-source for them will work correctly. r=kmag 2018-12-26 14:37:42 -06:00
Jeff Walden
4f1eec4171 Bug 1515801 - Remove JS::CompileLatin1{ForNonSyntacticScope} now that both are unused. r=jandem
--HG--
extra : rebase_source : d092af0c2f7337fae899e1bc55e6551ff44830cb
2018-12-14 14:34:16 -08:00
Jeff Walden
605ce5d8cc Bug 1515801 - Rip out vestigial handling of non-UTF-8 character sets from the subscript loader. r=kmag
--HG--
extra : rebase_source : 97a7604c6649d73d6b7a1f8d608cfdfe7c13a6aa
2018-12-14 14:25:56 -08:00
Boris Zbarsky
d6876ebbfa Bug 1515999. Remove the unused JSContext argument from GetArrayIndexFromId. r=peterv 2018-12-26 13:45:15 -08:00
Bogdan Tara
601b0d2329 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-12-24 00:10:07 +02:00
arthur.iakab
41c674d64c Merge mozilla-central to autoland 2018-12-22 23:56:12 +02:00
arthur.iakab
49e5be726a Merge inbound to mozilla-central a=merge 2018-12-22 23:54:25 +02:00
Jan de Mooij
a62ba0ea68 Bug 1515754 - Change Debugger::onPromiseSettled to check promise->realm()->isDebuggee() instead of cx->realm()->isDebuggee(). r=arai
As discussed on IRC this is hard to trigger, but this is more consistent with
the cross-compartment code.

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

--HG--
extra : moz-landing-system : lando
2018-12-22 21:42:23 +00:00
Jan de Mooij
1d8954ace9 Bug 1515754 - Enter the reaction's realm in EnqueuePromiseReactionJob before creating the job. r=arai
This is consistent with what we do for cross-compartment wrappers and avoids
problems with running jobs against a dying global (Gecko drops such jobs).

I added a globalOfFirstJobInQueue() shell function so I could write a test that
checks both the compartment-per-global and single-compartment cases.

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

--HG--
extra : moz-landing-system : lando
2018-12-22 21:42:21 +00:00
inspiro
b8d53fc5d2 Bug 1320105 : Convert JSID_IS_INT to PropertyKey::isInt() r=jandem
Convert JSID_IS_INT to PropertyKey::isInt()

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

--HG--
extra : moz-landing-system : lando
2018-12-22 14:17:44 +00:00
Kris Maglione
39ae97e234 Bug 1515884: Remove unused XPCWrappedJS nsIPropertyBag implementation. r=bholley
This helper code is currently unused, and presents a pretty significant
footgun for any JS object which implements nsIPropertyBag itself.

When those objects are first queried to nsIWritablePropertyBag, they behave as
expected, returning the JS-implemented nsIPropertyBag methods. But when
they're first queried to nsIPropertyBag, they use the XPCWrappedNative stubs,
which don't behave as expected.

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

--HG--
extra : rebase_source : 02942592dc8c4efcc1190610448a46593faa5703
2018-12-21 15:03:13 -08:00
Jan de Mooij
ecaf5bdea0 Bug 1515590 part 4 - Don't call FixWaiverAfterTransplant if JS_TransplantObject didn't change object identity. r=bholley
Depends on D15093

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

--HG--
extra : moz-landing-system : lando
2018-12-21 18:33:08 +00:00
Jan de Mooij
9190590e09 Bug 1515590 part 3 - Fix some debugger tests by forcing separate compartments for the debugger and debuggee. r=ochameau
With same-compartment chrome globals these would end up in the same compartment.
We need to prevent that because the debugger doesn't support it.

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

--HG--
extra : moz-landing-system : lando
2018-12-22 21:39:56 +00:00
Jan de Mooij
929107cd39 Bug 1515590 part 2 - Fix test_bug1042436.xul to create the sandbox in a new compartment because Xray warning state is stored per compartment. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D15092

--HG--
extra : moz-landing-system : lando
2018-12-21 18:34:12 +00:00
Sean Stangl
94bebab09d Bug 1514404 - ARM64 handling for MTableSwitch. r=nbp 2018-12-21 14:51:00 +02:00
Sean Stangl
1fc53be6b4 Bug 1515218 - Remove erroneous Operand constructors. r=nbp 2018-12-18 16:21:00 +02:00
Iain Ireland
4425716322 Bug 1480390: Rename TRY_DESTRUCTURING_ITERCLOSE to TRY_DESTRUCTURING to standardize naming conventions r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D14793

--HG--
extra : moz-landing-system : lando
2018-12-21 22:36:19 +00:00
Jan de Mooij
1672f1efbd Bug 1514776 - Enter the unwrapped object's realm before calling aes.ReportException() in nsXPCWrappedJSClass::CheckForException. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D14851

--HG--
extra : moz-landing-system : lando
2018-12-21 08:53:09 +00:00