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

65484 Коммитов

Автор SHA1 Сообщение Дата
Jan de Mooij 37d5c0aaa4 Bug 1469217 part 5 - Make js::DefineAccessorProperty take HandleObjects instead of JSGetterOp/JSSetterOp. r=anba 2018-06-21 11:05:42 +02:00
Jan de Mooij 36187c44ff Bug 1469217 part 4 - Simplify DefineAccessorPropertyById a bit more. r=anba 2018-06-21 11:05:42 +02:00
Jan de Mooij b47f1cb4ba Bug 1469217 part 3 - Clean up TryResolvePropertyFromSpecs; remove a bunch of macros. r=anba 2018-06-21 11:05:42 +02:00
Jan de Mooij 45a7ade57e Bug 1469217 part 2 - Add APIs taking getter/setter objects instead of JSNatives. r=anba 2018-06-21 11:05:42 +02:00
Jan de Mooij 539de0ae06 Bug 1469217 part 1 - Remove JSPROP_PROPOP_ACCESSORS. r=anba 2018-06-21 11:05:41 +02:00
Brindusan Cristian 61ba6ae773 Backed out changeset 82874b00bab0 (bug 1459900) for bustages on WasmTypes.h. CLOSED TREE 2018-06-21 11:22:33 +03:00
Lars T Hansen b8842db645 Bug 1459900 - Struct types: read, write, validate. r=luke
We introduce a simple "struct" type definition for Wasm.  A struct has
fields of primitive types, including anyref, but no other information,
notably no information about subtype relationships.

The syntax is:

  (type $tname (struct (field $fname i32) ...))

where the $fnames are currently ignored.

(In the future, the $fnames will denote the field numbers of their
fields within the structure and will be used by the struct.get and
struct.set instructions in the text format.  If any $fname is bound in
multiple structures the bindings must resolve to the same field number
and field type.)

To record the type information there is a new StructType type in
WasmTypes.h.

We generalize the SigWithId table in ModuleEnvironment to instead be a
TypeDef table, where a TypeDef is a tagged union of SigWithId and
StructType.

Similarly, there is a new AstTypeDef base class for AstSig and
AstStruct, and the sigs_ table in AstModule becomes a types_ table.

When the ModuleEnvironment is about to be destroyed we move the
StructType types into a dense structTypes_ table in the Module; a
later patch will make use of these types.  The structTypes_ get
serialized and deserialized with the module.

--HG--
extra : rebase_source : 10e53d2896308e1973677ea0532a8f0137452059
extra : intermediate-source : 3b19c16e0287b6e102e4a8a886bd6411881fef80
extra : source : c9318383998404d803a4739026d1ee5f4e8cccc2
2018-05-08 14:18:30 +02:00
Doug Thayer 10ff9c706f Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU

--HG--
extra : rebase_source : dd000a05bfc2da40c586644d33ca4508fa5330f6
2018-04-29 18:21:20 -07:00
Csoregi Natalia 8895954331 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-22 00:51:57 +03:00
Alex Gaynor 6bba1590df Bug 1470181 - handle deserialization failure gracefully in JS IPC; r=evilpie
This primarily effects the efficiency of fuzzing.

Differential Revision: https://phabricator.services.mozilla.com/D1751
2018-06-21 18:47:08 +00:00
Paul Bone 4318fee24e Bug 1407143 (Part 1) - Fix nonsensical comment r=jonco
--HG--
extra : rebase_source : 622c30a4f28cc6718e67ed15c78a21a608cc5790
extra : source : 6b25b5d42564254ea552e9fa1e1901252768d9df
2017-11-21 17:53:58 +11:00
Kris Maglione a81efd6ad5 Bug 1442737: Use shared JSM global for compillation and privileged junk scopes. r=bholley
MozReview-Commit-ID: 3rLgxQVtc0X

--HG--
extra : rebase_source : bc15130d4db2f449569dbefe1a11c39b2ba1ad10
2018-06-24 19:16:33 -07:00
Tom Schuster 5f91ae87e4 Bug 1465911 - Disable CPOWs also when receiving message from the child. r=mrbkap
--HG--
extra : rebase_source : 33d3caa243412497511f14027d040cc262766783
2018-06-21 16:00:04 +02:00
Tom Schuster 000f2df47f Bug 1465911 - Disable CPOWs outside of test mode. r=mrbkap
--HG--
extra : rebase_source : e15c4cf8faf95eea5b2ed7a31e47377692ea8146
2018-06-08 00:00:54 +02:00
Tom Schuster ff8c84fe6a Bug 1398839 - DataView getters should throw when the buffer is detached in release/beta. r=anba
--HG--
extra : rebase_source : 188d9d525d34cf821cbd417bd25942c93f907b2b
2018-06-23 23:20:47 +02:00
Matthew Gaudet c8e1ac4479 Bug 1468816 - Add result to UnaryArith CacheIR spew. r=evilpie 2018-06-14 11:38:21 -07:00
Matthew Gaudet e01ade4843 Bug 1468816 - Support mixed integer double inputs in UnaryArith number ICs. r=jandem 2018-06-14 11:52:51 -07:00
André Bargull ec141d9647 Bug 1466626 - Part 3: Don't call ReportOutOfMemory twice when used with JSContext allocation. r=jonco 2018-06-25 03:14:49 -07:00
André Bargull f9a30042b5 Bug 1466626 - Part 2: Add missing OOM handling in various places. r=jonco 2018-06-25 03:14:48 -07:00
André Bargull 7a5aab045e Bug 1466626 - Part 1: Add missing OOM and stack overflow checks in bin-ast parser. r=yoric 2018-06-25 03:14:47 -07:00
Jon Coppeard 631efb699e Bug 1467842 - Refactor heap state RAII classes r=sfink 2018-06-19 11:34:59 +01:00
Jon Coppeard 6e86d6b840 Bug 1467842 - Don't take the exclusive access lock during GC r=sfink 2018-06-19 11:34:59 +01:00
Gurzau Raul d0a41d2e77 Merge inbound to mozilla-central. a=merge 2018-06-19 13:02:07 +03:00
Jeff Walden 840b19dd94 Bug 1468860 - Rename a few error-message constants to fix s/REGEP/REGEXP/ typos. r=sfink
--HG--
extra : rebase_source : ada0a7d256aad9c476f6ed0bed94418515ec8ab2
2018-06-18 11:55:07 -07:00
Jeff Walden 8e99104de4 Bug 1467753 - Don't leak freshly-allocated, copied string chars in CopyStringPure when OOM happens allocating the JSString* that will adopt them. r=anba
--HG--
extra : rebase_source : 6c912b096ea0c5419c1baeba51476f8577a0fec5
2018-06-18 11:54:44 -07:00
Jeff Walden 4369a3439d Bug 1467274 - Don't leak ElementVector or PropertyVector on failure to append a raw-pointer instance of such to JSONParser's internal vectors. r=anba
--HG--
extra : rebase_source : 30359f4e6b570c0d9c29f99b8666dd60a494d489
2018-06-14 15:45:42 -07:00
Jeff Walden 6f18de4600 Bug 1467275 - Don't leak |chars| when an error occurs after its allocation in JS_BufferIsCompilableUnit. r=anba
--HG--
extra : rebase_source : af5ab93bcd7cac4cbc8475e45a002a3185806daf
2018-06-14 14:45:47 -07:00
Jeff Walden c388a35907 Bug 1467751 - Don't leak in ReadGeckoProfilingStack if OOM occurs while creating a new string from a manually released UniquePtr. r=anba
--HG--
extra : rebase_source : d5e9fb1ca6179556c6f239f02b82f3940fabb96e
2018-06-14 14:43:53 -07:00
Jeff Walden ee23314ee0 Bug 1467752 - Don't leak in case of OOM in getCloneBufferAsArrayBuffer_impl when JS_NewArrayBufferWithContents fails. r=anba
--HG--
extra : rebase_source : 89ed55e004c6a78f4ccdf1a941bae54331fa9e81
2018-06-14 14:41:57 -07:00
Jeff Walden 80cfd6f3a3 Bug 1467276 - Properly free |result| in DecompileAtPCForStackDump after its use, including when that use fails. r=anba
--HG--
extra : rebase_source : ed15eb68186faf066c689d6048d8ba6cea53808c
2018-06-14 14:39:44 -07:00
Jan de Mooij 5685fbd4aa Bug 1468406 part 3 - Add some obj->as<Foo>() casts to eliminate some JSObject::realm() calls. r=evilpie 2018-06-18 12:41:28 -07:00
Jan de Mooij e0c87aa71f Bug 1468406 part 2 - Simplify JS_GlobalObjectTraceHook. r=jonco 2018-06-18 12:41:28 -07:00
Jan de Mooij 079317b9d7 Bug 1468406 part 1 - Add NativeObject::realm(), forwarding to JSObject::realm() for now. r=luke 2018-06-18 12:41:27 -07:00
Jan Beich f2740b785d Bug 1468928 - Unbreak build without GeckoProfiler after bug 1405374. r=mstange
In file included from objdir/js/xpconnect/src/Unified_cpp_js_xpconnect_src1.cpp:110:
js/xpconnect/src/nsXPConnect.cpp:76:37: error: use of undeclared identifier
      'profiler_register_thread'
    JS::SetProfilingThreadCallbacks(profiler_register_thread, profiler_unregister_thread);
                                    ^
js/xpconnect/src/nsXPConnect.cpp:76:63: error: use of undeclared identifier
      'profiler_unregister_thread'
    JS::SetProfilingThreadCallbacks(profiler_register_thread, profiler_unregister_thread);
                                                              ^

MozReview-Commit-ID: HrBGEkByEum

--HG--
extra : rebase_source : b588e8f04d44d07c348120efc6008e6c24b8949e
2018-06-15 10:12:23 +00:00
Mike Hommey 6ae94cab82 Bug 1468646 - Explicitly disable gold when building standalone js on automation. r=chmanchester
Because --enable-stdcxx-compat blows up when gold is enabled, so prevent
it from being automatically enabled.

--HG--
extra : rebase_source : ea91dd6f5eeaf1a8664179b503c3ecf06dccea26
2018-06-14 07:52:04 +09:00
André Bargull 666c5857d7 Bug 1450085 - Part 3: Call error-functions instead of passing JSREPORT_ERROR flag. r=tcampbell 2018-05-29 03:46:47 -07:00
André Bargull aae2f459f9 Bug 1450085 - Part 2: Replace ReportValueErrorFlags with ReportValueError where applicable. r=tcampbell 2018-05-29 02:55:21 -07:00
André Bargull 8bf26cfe67 Bug 1450085 - Part 1: Change ReportValueError to a proper function instead of a macro. r=tcampbell 2018-05-29 02:51:48 -07:00
André Bargull e11bf8d4ef Bug 1465350 - Use UniquePtr instead of ScopedJSFreePtr for JSErrorReporter. r=Waldo 2018-06-13 09:47:21 -07:00
André Bargull 77fbd62447 Bug 1105518: Remove JSPROP_REDEFINE_NONCONFIGURABLE from jsapi. r=jorendorff 2018-06-16 11:59:04 -07:00
Paul Bone 3775d391a1 Bug 1468786 - Don't check isIncremental for unmarking r=jonco
--HG--
extra : source : 68aecb8546c953f471686ca5242713554610e83a
extra : amend_source : 292fc88902de513c81d7742d7fa4085a1231557d
extra : intermediate-source : 67c5641752e2367bb65222708c71f1904b9d8def
2018-06-14 14:56:26 -07:00
Jon Coppeard 5aa3632b14 Bug 1468867 - Rename heap state checking functions r=sfink 2018-06-15 15:05:06 -07:00
Jon Coppeard 2e9d9b18a8 Bug 1468867 - Move heap state to JSRuntime r=sfink 2018-06-15 15:05:06 -07:00
Nicolas B. Pierron 0882b7cd66 Bug 1468984 - Convert SplayTree::checkCoherency to a non-recursive algorithm. r=tcampbell 2018-06-15 20:37:18 +00:00
Ciure Andrei 6eea08365e Merge inbound to mozilla-central. a=merge 2018-06-15 12:49:01 +03:00
Tooru Fujisawa 9f536421d6 Bug 1468629 - Propery encode/decode BindingName flags in XDR. r=jwalden 2018-06-14 22:36:18 -07:00
Julian Seward 974bd72b3c Bug 1464790 - js/src/wasm/WasmTypes.h: define MaxMemoryAccessSize correctly. r=luke.
Currently we have MaxMemoryAccessSize = sizeof(Val).  That doesn't seem
right, since it includes not only the size of the largest underlying value,
but also the size of the tag (Val::type_) field.  Indeed, printing
MaxMemoryAccessSize produces 24 on x86_64 and 20 on x86.  This patch fixes
it, and adds some sanity checks too.

--HG--
extra : rebase_source : edef632fee092f03b325565cb4d6a8d78e8d8721
2018-06-14 23:00:13 +02:00
Steve Fink 70f3630002 Bug 1343620 - Use JS_HAZ_ROOTED everywhere instead of programmatic annotations, r=pbone
--HG--
extra : topic : haz.rooted
extra : rebase_source : 69a2c810ccfecdf7c59fe030a83aad9cb6d5f8ad
2018-06-06 16:28:38 -07:00
Boris Zbarsky 9b13c30592 Bug 1467870. When cloning Xray expando chains for an adopt into the Xray compartment, don't lose expandos. r=mrbkap
This does mean that if the node is adopted back into the original document the
expandos would end up on the reflector at that point.  I think that's OK;
people shouldn't be adopting things in that direction.  Futhermore, if they
adopt, then set expandos, then adopt back they already get this behaviorl

So if we decide we don't want that, we should probably just avoid copying own
props when reparenting into a global whose principals don't subsume the old
global.
2018-06-14 19:06:43 -04:00
Jon Coppeard 02a8e681d0 Bug 1462286 - Fix handling of spread operator when exporting destructuring object bindings r=jorendorff 2018-06-14 14:58:45 -07:00
Dorel Luca b53fbe3617 Merge mozilla-central to autoland 2018-06-15 05:43:31 +03:00
Jan de Mooij 2235a048fc Bug 1468252 part 8 - Rename JSObject::global to deprecatedGlobal. r=luke
--HG--
extra : rebase_source : 230e8c880bdb141619242e3f20cd40feecd3158e
2018-06-14 09:07:32 -07:00
Jan de Mooij cb5b0d0e99 Bug 1468252 part 7 - Replace more environment->global() calls. r=luke
--HG--
extra : rebase_source : 90a6aeace6926949cd8ee880c868d7c4d1136592
2018-06-14 09:07:31 -07:00
Jan de Mooij 2e6744ab46 Bug 1468252 part 6 - Use isSelfHostingZone instead of isSelfHostingGlobal in getNonWrapperObjectForCurrentCompartment. r=evilpie
--HG--
extra : rebase_source : ea560b94280bace1b08ad5489a50b38e9db6b481
2018-06-14 09:07:31 -07:00
Jan de Mooij c4cad349fe Bug 1468252 part 5 - Check for native objects in GetInitialShapeProtoKey. r=jwalden
--HG--
extra : rebase_source : a9c49f4495c6c3bcf90728dd121d3bcded699048
2018-06-14 09:07:31 -07:00
Jan de Mooij d4eded1ef6 Bug 1468252 part 4 - Add JSObject::nonCCWGlobal() and use it in a few places. r=luke
--HG--
extra : rebase_source : 095b86326a1911cf68956e4a4133bec4a8b1bdb9
2018-06-14 09:07:31 -07:00
Jan de Mooij 3d7ffdc55b Bug 1468252 part 3 - Remove some environment->global() calls. r=luke
--HG--
extra : rebase_source : f584d4fc99f587e17482f6269ac91c29713b9773
2018-06-14 09:07:31 -07:00
Jan de Mooij a2548dc268 Bug 1468252 part 2 - Rename GetOriginalEval to GetRealmOriginalEval, remove scope argument. r=evilpie
--HG--
extra : rebase_source : f1aa3fc12fc775bf64318d16246555badbe83e78
2018-06-14 09:07:30 -07:00
Jan de Mooij 3246a76bb0 Bug 1468252 part 1 - Define NativeObject::global(). r=luke
--HG--
extra : rebase_source : de74a367922c808c54e06a6ad54b48936f33334c
2018-06-14 09:07:30 -07:00
Benjamin Bouvier f2c79a238c Bug 1465081 - Preserve bytecode if there's a module name subsection. r=luke
--HG--
extra : rebase_source : 8da5fe381aa040c2bfe7db45d17f4cfdfa92af18
2018-06-14 22:53:11 +02:00
Jeff Walden e682b9e409 Bug 1468449 - Use std::uninitialized_copy_n to copy over BindingNames in a parser-lifetime Data to a long-lived Scope. r=jonco
--HG--
extra : rebase_source : d03c80687a10868005456e447c1c8e218dd70b56
2018-06-12 22:12:42 -07:00
Jeff Walden 9ba61ac02f Bug 1468449 - Use std::uninitialized_copy to implement FreshlyInitializeBindings. r=jonco
--HG--
extra : rebase_source : 3ebd1dd6bc1f410a1dd238a62af3791e9d744794
2018-06-11 13:56:24 -07:00
Jeff Walden abad7cab16 Bug 1467336 - Move a couple small functions to be defined inline in TokenStream class bodies, not out-of-line in TokenStream.cpp, for readability. r=arai
--HG--
extra : rebase_source : d7472467f62cf7874798f286678164f8ee7b29ce
2018-06-09 19:49:31 -07:00
Jeff Walden af8e5d79a2 Bug 1467336 - Make TokenStreamSpecific::getTokenInternal itself deal only in code units. r=arai
--HG--
extra : rebase_source : 049b90ec48149d2a11b1326e467b35456558f8cb
2018-06-09 03:59:01 -07:00
Jeff Walden 8a1f6e7c70 Bug 1467336 - Make TokenStreamSpecific::putIdentInTokenbuf read identifier characters a code unit at a time. r=arai
--HG--
extra : rebase_source : a296bf2193a3a4e0df569c8a86e6aa107f48a4b1
2018-06-09 19:49:31 -07:00
Jeff Walden 8d7acedc28 Bug 1467336 - Make TokenStreamSpecific::identifierName consume in terms of code units. r=arai
--HG--
extra : rebase_source : 4e2fc624228480bdb94fe0ed6319409af964fa5f
2018-06-09 03:36:32 -07:00
Jeff Walden 46e965f277 Bug 1467336 - Refactor Unicode-escape identifier matching to work in terms of code units. This also eliminates ungets-then-skips that cancel out when a valid escape is matched. r=arai
--HG--
extra : rebase_source : 155cdfd94c163dc8111650d04fc59bc97b79bd36
2018-06-09 03:36:32 -07:00
Jeff Walden b50e6175db Bug 1467336 - Move Unicode escape processing from TokenStreamSpecific to GeneralTokenStreamChars. r=arai
--HG--
extra : rebase_source : 17851ff38db7952c6fb58e8935fdd9062345937a
2018-06-09 03:36:32 -07:00
Jeff Walden 3646b58cae Bug 1467336 - Make TokenStreamSpecific::decimalNumber work by consuming code units. r=arai
--HG--
extra : rebase_source : 3f600fbaf2d279966582519097bd53f2887ed758
2018-06-09 03:36:32 -07:00
Jeff Walden 89b1c4ada7 Bug 1467336 - Convert TokenStreamSpecific::getDirective act on code units, and remove TokenStreamSpecific::peekChar. r=arai
--HG--
extra : rebase_source : d553724fa06e0a9e0810140f46ae3b88f7270143
2018-06-09 03:36:10 -07:00
Jeff Walden bb4f66751d Bug 1467336 - Move skipChars to SourceUnits::skipCodeUnits, and make it efficient in the obvious way. r=arai
--HG--
extra : rebase_source : bb4830751b4d239555d4b50e07ebd291206bb554
2018-06-08 11:48:38 -07:00
Jeff Walden 2911be1089 Bug 1467336 - Change SourceUnits::atStart to indicate being at the start of the source units of code, not at the start of the *containing* source. r=arai
--HG--
extra : rebase_source : 8ae40e030fc61d464c52d64bc262ea920cb19b19
2018-06-08 11:47:59 -07:00
Jeff Walden 03213ec008 Bug 1467336 - Invert SourceUnits::hasRawChars's meaning and rename it to SourceUnits::atEnd. r=arai
--HG--
extra : rebase_source : 628083795ebee89dd2cb1fc697a247647294542b
2018-06-08 11:46:17 -07:00
Jeff Walden 9680c3accb Bug 1467336 - Rename TokenStreamSpecific::peekChars to SourceUnits::peekCodeUnits and optimize its code in now-obvious ways. r=arai
--HG--
extra : rebase_source : 2d8b023a7dec1ede5ec207ca5aca63300c4620f5
2018-06-08 11:35:52 -07:00
Jeff Walden f70be76b16 Bug 1467336 - Make much of TokenStreamSpecific::getStringOrTemplateToken process by code unit, not by code-unit-generally-assumed-to-be-code-point. r=arai
--HG--
extra : rebase_source : dc07292dff8a211c68343228794172d415134cf0
2018-06-07 22:48:32 -07:00
Jeff Walden 0ff51a9b4c Bug 1467336 - Rename the |c| variables in TokenStreamSpecific::getStringOrTemplateToken to |unit|. They aren't all used as code units yet, but an alpha-rename hopefully simplifies future changes to make that so. r=arai
--HG--
extra : rebase_source : dce6d285ea33b6e72bf6f933751b961de2ff5cbc
2018-06-07 22:48:32 -07:00
Tom Schuster 9c5f1a1c75 Bug 1308735 - Use soft-fail mechansim for out-of-bounds typed array indexes. r=jorendorff
--HG--
extra : rebase_source : 57d54ef2746562fe68488b251fef5a392afd0d66
2018-05-16 22:12:10 +02:00
Tom Schuster 9aeac2c930 Bug 1329321 - Add a soft-fail mechanism for JS ObjectOpResult. r=jorendorff
--HG--
extra : rebase_source : 168a0a678d62879dce0075ecedb8fb0703ceb8c1
2018-05-16 22:11:25 +02:00
Tom Schuster f7c7d0f881 Bug 1435813 - Enable Array.prototype.flat and Array.prototype.flatMap in release builds. r=till
--HG--
extra : rebase_source : adc7e839e4d241857a89df6c6669c241a14466da
2018-06-05 14:41:41 +02:00
Jan de Mooij 2b3ff5c90a Bug 1468219 - Rename JS_InitStandardClasses to JS::InitRealmStandardClasses, remove obj argument. r=anba
--HG--
extra : rebase_source : 5c092c37298e89096b85524e92d143ff2447f31f
2018-06-13 12:47:47 -07:00
Jan de Mooij de211d96a6 Bug 1468137 - Remove JS_Get*Prototype APIs; use JS::GetRealm*Prototype instead. r=evilpie
--HG--
extra : rebase_source : 9d5e815b83b3a71ab3e74fc2c0e2feb1009f2af9
2018-06-13 12:47:40 -07:00
Joel Maher 1ef32bf5c6 Bug 1405428 - skip-if = verify on xpcshell tests which do not pass test-verify. r=gbrown 2018-06-13 11:34:40 -04:00
Cosmin Sabou 40577076a6 Merge inbound to mozilla-central. a=merge 2018-06-13 12:22:15 +03:00
Robin Templeton d875414c13 bug 1466893 - Part 2: Convert BigInt arguments to the Number constructor. r=jandem 2018-06-12 13:58:20 -04:00
Robin Templeton 01d8866628 bug 1466893 - Part 1: Implement ToNumeric operation. r=jandem
ToNumeric is a generalized version of ToNumber that converts its
argument to a numeric primitive value (either a Number or a BigInt).
2018-06-12 13:57:06 -04:00
Csoregi Natalia 0300566d26 Backed out changeset 1fc7ea54cf4c (bug 1467249) for jstests check failures. CLOSED TREE 2018-06-12 07:46:24 +03:00
Steve Fink e03c23fa51 Bug 1467249 - Upload JS shell test failure output, r=nbp
--HG--
extra : rebase_source : c1a16fd13a9ec26efe5f12aa7d87a401232fc1ef
extra : intermediate-source : 383b08391cb8044547e34378371e0fe4fd97eeaa
extra : source : 4ede0210acdbfeeaf7ec13e445618f94540eccf1
2018-06-05 21:08:54 -07:00
Steve Fink c65f234612 Backed out changesets 9fb5a7ee3f35 and 383b08391cb8 (bug 1467249)
--HG--
extra : rebase_source : 9ce5441bc6bca1827a6e5fff044df84a3b7bd316
2018-06-11 11:20:45 -07:00
Steve Fink 80bc7711d5 Bug 1467249 followup - syntax error on a CLOSED TREE
--HG--
extra : amend_source : f09a87317dda9494b43c65f1cf85b054b89073cb
2018-06-11 11:00:08 -07:00
Steve Fink a5f822bfe7 Bug 1466387 - Set up the gray root tracer on worker thread, r=jonco
--HG--
extra : rebase_source : 594cd9be589c1fbed2e2a65ff8a8085f72c26f67
extra : source : bdf9bd1db757904ed0323367fdee278ff94567f8
2018-06-05 16:03:36 -07:00
Steve Fink beec73e990 Bug 1467249 - Upload JS shell test failure output, r=nbp
--HG--
extra : rebase_source : bddcf17d619442b723110e80e1d087f73ff7f1c3
extra : source : 4ede0210acdbfeeaf7ec13e445618f94540eccf1
2018-06-05 21:08:54 -07:00
Jan de Mooij 677cf4e568 Bug 1467496 - Simplify JSOP_LOOPENTRY handling in IonBuilder. r=bhackett 2018-06-11 10:17:58 -07:00
Tooru Fujisawa de2a9d4928 Bug 1467403 - Remove the source notes handling for prologue bytecode. r=jandem 2018-06-11 15:09:28 +09:00
Mike Conley bf614c6737 Bug 1458375 - Make ScriptPreloader wait until browser-idle-startup-tasks-finished before writing cache. r=kmag
Originally, the ScriptPreloader stopped recording and wrote its cache when the
browser-delayed-startup-finished notification fired for the first window, but there
are other scripts (both in the content and WebExtension processes) that might run
soon after that we also want to cache.

This patch still makes the parent process stop recording scripts after
browser-delayed-startup-finished, but only prepares and writes the cache
once browser-idle-startup-tasks-finished fires, when it is much more likely
that the content and WebExtension caches are ready to go.

MozReview-Commit-ID: KiBEVvuqQkA

--HG--
extra : rebase_source : 6f0fde65cdafdecf72242a06416fef10304637b8
2018-06-11 12:19:02 -07:00
Steve Fink 5ed1fd1a2f Bug 1466633 - GCManagedDeletePolicy: do not clear edges during GC, r=jonco
--HG--
extra : source : 17bb0a45975b93c4003e4436706e3caf7c44d9fd
extra : histedit_source : d267abd514731d4664de12e6b4c2bd6666732dd9
2018-06-05 17:41:12 -07:00
shindli 0596b8022c Backed out changeset 4ede0210acdb (bug 1467249) for linting failures in /builds/worker/checkouts/gecko/js/src/devtools/automation/autospider.py on a CLOSED TREE 2018-06-09 03:52:29 +03:00
shindli 3392deb647 Backed out 3 changesets (bug 1466633, bug 1467248, bug 1466387) for spidermonkey bustages in non262/regress/regress-1466387-worker-grayroot.js on a CLOSED TREE
Backed out changeset 1e833c6a3ba2 (bug 1467248)
Backed out changeset 17bb0a45975b (bug 1466633)
Backed out changeset bdf9bd1db757 (bug 1466387)
2018-06-09 03:51:02 +03:00
Steve Fink aabbbbcfa1 Bug 1467249 - Upload JS shell test failure output, r=nbp
--HG--
extra : topic : nursery.strings
extra : rebase_source : 8054e1f1fe488c6aac08cf94eba79b69cf254f5b
2018-06-05 21:08:54 -07:00
Steve Fink bc2be79d2a Bug 1405374 - Register JS threads with the profiler, r=jonco
--HG--
extra : rebase_source : c29dffb341bff5e3f020ad0be6d48c045e178a5c
2018-06-07 15:37:08 -07:00
Steve Fink 8cc9bc5b4a Bug 1466633 - GCManagedDeletePolicy: do not clear edges during GC, r=jonco
--HG--
extra : topic : nursery.strings
extra : rebase_source : 5da31d8711492d766fc73e2986054e917601ffe7
2018-06-05 17:41:12 -07:00
Steve Fink 83b024c942 Bug 1466387 - Set up the gray root tracer on worker thread, r=jonco
--HG--
extra : topic : nursery.strings
extra : rebase_source : c3394cf4fe856a6811ed5733dc3e358f3e76f30f
2018-06-05 16:03:36 -07:00
Simon Brand 256ed0bb7a Bug 1461375 - Deduplicate emitMegamorphicStoreSlotResult between Ion and Baseline. r=mgaudet 2018-06-08 20:39:29 +01:00
Julian Seward e8c96808ab Bug 1467071 - Wasm: import embedding_limits "limits.js" test and fix any resulting failures. r=lth.
The WebAssembly Specification, branch [1] (see also, more generally,
comments in [2]), contains a new test, limits.js, to check whether the
generally agreed embedding limits (numbers of functions, imports, etc) are
observed.  This bug is to import the test and fix any resulting breakage
detected with it.

[1] https://github.com/WebAssembly/spec/tree/embedding_limits
[2] https://github.com/WebAssembly/spec/issues/607

* js/src/wasm/WasmBinaryConstants.h:
  - Added MaxTableMaximumLength as a counterpart to MaxTableInitialLength.
  - Split the constant group into two parts: spec-required, and those
    pertaining only to our own implementation.

* js/src/wasm/WasmJS.cpp  WasmTableObject::construct():
  - Update GetLimits call with correct max size bound

* js/src/wasm/WasmValidate.cpp  DecodeTableLimits():
  - Implement missing check for a Table's maximum size.

* js/src/jit-test/tests/wasm/import-export.js:
  js/src/jit-test/tests/wasm/spec/jsapi.js:
  testing/web-platform/mozilla/tests/wasm/js/jsapi.js:
  - Update Table maximum size tests.  All tests trying to make a Table
    with more than 10,000,000 entries now throw instead of succeeding.

* js/src/jit-test/tests/wasm/spec/harness/wasm-module-builder.js:
  - Import minimal updates and bug fixes from [1], needed to make the
    new tests work.

* js/src/jit-test/tests/wasm/spec/limits.js
  - New file.  Derived from [1], with comments added to each test to show
    SM's compliance situation, and with two tests disabled.

--HG--
extra : rebase_source : 489c97dd2420508ad9768a2aa4714aa8dfbfe2c6
2018-06-08 18:37:42 +02:00
Jan de Mooij ce132119dd Bug 1466121 part 7 - Split Compartment-inl.h from Realm-inl.h. r=luke
--HG--
rename : js/src/vm/Realm-inl.h => js/src/vm/Compartment-inl.h
2018-06-08 16:16:21 +02:00
Jan de Mooij 04a3651fe2 Bug 1466121 part 6 - Split Compartment.cpp from Realm.cpp. r=luke
--HG--
rename : js/src/vm/Realm.cpp => js/src/vm/Compartment.cpp
2018-06-08 16:16:20 +02:00
Jan de Mooij b41618f3b1 Bug 1466121 part 5 - Split Compartment.h from Realm.h. r=luke
--HG--
rename : js/src/vm/Realm.h => js/src/vm/Compartment.h
2018-06-08 16:16:19 +02:00
Jan de Mooij 9c6c88908e Bug 1466121 part 4 - Rename vm/JSCompartment* to vm/Realm*. r=luke
--HG--
rename : js/src/vm/JSCompartment-inl.h => js/src/vm/Realm-inl.h
rename : js/src/vm/JSCompartment.cpp => js/src/vm/Realm.cpp
rename : js/src/vm/JSCompartment.h => js/src/vm/Realm.h
2018-06-08 16:16:19 +02:00
Jan de Mooij be7b2f64ad Bug 1466121 part 3 - Merge Realm.cpp into JSCompartment.cpp to simplify later patches. r=luke 2018-06-08 16:16:18 +02:00
arthur.iakab edbf2c0099 Merge inbound to mozilla-central a=merge 2018-06-08 12:55:49 +03:00
Jeff Walden d3152e159d Bug 1467336 - Move regular expression literal tokenizing into its own function. r=arai
--HG--
extra : rebase_source : 341584683b866dd4dcd7c217d378a4211e30e239
2018-06-07 22:47:28 -07:00
Jeff Walden 06c657eee3 Bug 1467336 - Process the code units comprising regular expression literals in a manner that optimizes the pure-ASCII case. r=arai
--HG--
extra : rebase_source : 2a44776b1e5d2bc7bd66a6f773964636aca48276
2018-06-07 03:24:04 -07:00
Jeff Walden f7961e0fe2 Bug 1467336 - Introduce code to bifurcate handling of arbitrary-code-point getting in the tokenizer to distinctly and separately handle ASCII and non-ASCII code points. r=arai
--HG--
extra : rebase_source : 455de737b65fd2c0c42da8e1fe2619f25599d344
2018-06-07 03:01:38 -07:00
Jeff Walden 24d6bcee93 Bug 1467336 - Rename TokenStreamSpecific::matchChar to TokenStreamCharsBase::matchCodeUnit to clarify its unit-matching nature. r=arai
--HG--
extra : rebase_source : b3859a50b46f96f356edbb254a27b8416261f1c9
2018-06-07 02:16:57 -07:00
Jeff Walden e9e010d389 Bug 1467336 - Add TokenStreamChars::getCodePoint and use it in one trivial place. r=arai
--HG--
extra : rebase_source : c0f97e9f740be3ee4bbdb9623c893067e7c1aa03
2018-06-07 02:16:32 -07:00
Jeff Walden 1a12745c61 Bug 1467336 - Rename ungetCharIgnoreEOL to ungetCodeUnit. r=arai
--HG--
extra : rebase_source : fa0464982bd463838f9c6b8d1eb388b55f2e583e
2018-06-07 02:16:07 -07:00
Jeff Walden b1a37599da Bug 1467336 - Rename getCharIgnoreEOL to getCodeUnit to better indicate that's all it does. r=arai
--HG--
extra : rebase_source : d34c4019170e78a0d5170e346fbe920884442cb9
2018-06-07 02:15:41 -07:00
Jeff Walden 800f6db11a Bug 1467335 - Add an assertion to ungetCharIgnoreEOL that the EOF-flag has been set if EOF is being returned. r=arai
--HG--
extra : rebase_source : 233d673d307bb42d6e5b73f1cc246af4c740fe82
2018-06-07 02:13:49 -07:00
Jeff Walden fbabc3fea0 Bug 1467334 - Make TokenStreamAnyChars::isExprEnding a well-documented array of bool, zero-initialize it using a member initializer, then overwrite its few true elements in the constructor body. r=arai
--HG--
extra : rebase_source : 68db8c022f6a89b2db14bb2e2cdda08d757445ac
2018-06-07 02:13:11 -07:00
Rick Waldron 5aaabbfc99 Bug 1457560 - Expose $262.agent.monotonicNow() for Test262 use in testing Atomic operation timeouts. r=jwalden
--HG--
extra : rebase_source : 6387145a06988112cadde2855bc69d2982f1e33a
2018-06-06 22:21:34 -07:00
Andreea Pavel 6efbfd2a22 Backed out changeset 88c929206539 (bug 1467071) for failing wpt at /_mozilla/wasm/jsapi.js.html on a CLOSED TREE 2018-06-08 07:03:17 +03:00
Julian Seward a8cfabf7b6 Bug 1467071 - Wasm: import embedding_limits "limits.js" test and fix any resulting failures. r=lth.
The WebAssembly Specification, branch [1] (see also, more generally,
comments in [2]), contains a new test, limits.js, to check whether the
generally agreed embedding limits (numbers of functions, imports, etc) are
observed.  This bug is to import the test and fix any resulting breakage
detected with it.

[1] https://github.com/WebAssembly/spec/tree/embedding_limits
[2] https://github.com/WebAssembly/spec/issues/607

* js/src/wasm/WasmBinaryConstants.h:
  - Added MaxTableMaximumLength as a counterpart to MaxTableInitialLength.
  - Split the constant group into two parts: spec-required, and those
    pertaining only to our own implementation.

* js/src/wasm/WasmJS.cpp  WasmTableObject::construct():
  - Update GetLimits call with correct max size bound

* js/src/wasm/WasmValidate.cpp  DecodeTableLimits():
  - Implement missing check for a Table's maximum size.

* js/src/jit-test/tests/wasm/import-export.js:
  js/src/jit-test/tests/wasm/spec/jsapi.js:
  - Update Table maximum size tests.  All tests trying to make a Table
    with more than 10,000,000 entries now throw instead of succeeding.

* js/src/jit-test/tests/wasm/spec/harness/wasm-module-builder.js:
  - Import minimal updates and bug fixes from [1], needed to make the
    new tests work.

* js/src/jit-test/tests/wasm/spec/limits.js
  - New file.  Derived from [1], with comments added to each test to show
    SM's compliance situation, and with two tests disabled.

--HG--
extra : rebase_source : a1f1ec730ecae22f2aa0f510c15ebc934489a1b3
2018-06-07 09:36:09 +02:00
Tooru Fujisawa fc618ed15a Bug 1467052 - Use BindingName tag to distinguish between var and top-level function, instead of offset range. r=shu 2018-06-08 10:06:13 +09:00
Ciure Andrei 25ae31a366 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-08 00:54:06 +03:00
Matthew Gaudet 9d8092fba3 Bug 1466189: followup patch to make discard stack unconditional r=jandem
--HG--
extra : rebase_source : bf19d39abb1ee0857ea73f72f1aa26f24ef1cf38
2018-06-07 11:25:02 -04:00
Kris Maglione a4973ad0d6 Bug 1464548: Part 1b - Don't delete properties before redefining them, because deleting properties kills JIT performance. r=mccr8
MozReview-Commit-ID: IUMg59xRoIu

--HG--
extra : rebase_source : 6be1c84601ff868835cad53116ab920d2f2db317
2018-05-25 19:17:58 -07:00
Kris Maglione bbbb42012f Bug 1464548: Part 1a - Add defineLazyGlobalGetters helper. r=mccr8
This allows us to lazily import global properties using
Cu.importGlobalProperties. Aside from making it easier to avoid lazily
importing these properties, it also defines them all in the shared JSM global
so that we don't risk re-creating them in Sandboxes or frameloader globals.

MozReview-Commit-ID: GV6shguUlIG

--HG--
extra : rebase_source : 6b9269f3b33fe085c5ed63ee16e5b4ce9e5343a4
2018-05-25 22:28:27 -07:00
Karl Tomlinson 4b7ee0c98d bug 1467024 remove Rooted/PersistentRooted special cases already covered by JS_HAZ_ROOTED r=sfink
MozReview-Commit-ID: 4jjzqNJmW0L

--HG--
extra : rebase_source : 584d3de00f9c7e048f6957ed716e7214d02c9fd5
2018-06-06 12:52:37 +12:00
Tom Schuster 731eb0bfab Bug 1451017 - Remove Xray resolveNativeProperty. r=bz
--HG--
extra : rebase_source : 3fca06866110b912478448b06f12dc2158f560c7
2018-05-08 22:09:05 +02:00
Cosmin Sabou 0f45148664 Backed out changeset 531593bacc4e (bug 1448040) for Android build bustages on HangAnnotations.h. CLOSED TREE
--HG--
extra : rebase_source : ea3618023c548a8ca6ca14749633c194606af52f
2018-06-07 19:22:31 +03:00
Jan de Mooij 6d0be5a5cf Bug 1466121 part 2 - Make Compartment and Zone classes instead of structs. r=luke
--HG--
extra : rebase_source : 1394dc86b035340f99c241f3ee1af5dd407bdb67
2018-06-07 16:45:04 +02:00
Jan de Mooij f7fb3be6ec Bug 1466121 part 1 - Rename JSCompartment to JS::Compartment. r=luke
--HG--
extra : rebase_source : cd7140ecda54f0caa02a96f562167b3c9a107450
2018-06-07 16:44:40 +02:00
Matthew Gaudet 4ec5d0f516 Bug 1466189: Handle equal length strings in Compare IC r=tcampbell
--HG--
extra : rebase_source : d5748a5839bf256adadae5c14d5d53d3ba949cce
2018-06-05 18:02:19 -04:00
Peter Van der Beken b986ba77dd Bug 1053271 - Remove some unused XRayWrapper code. r=bz.
--HG--
extra : rebase_source : 62e659d4b70872997b62185b2f634d87e9242d9d
2018-06-04 16:37:04 +02:00
Peter Van der Beken f4270dc255 Bug 1053271 - Move Sandbox proxy handlers out of XrayWrapper.h. r=bz.
--HG--
extra : rebase_source : 6172fcbc5782ec3e800b034ca5fdba354f0797e2
2018-06-06 11:42:12 +02:00
Peter Van der Beken a47cb53336 Bug 1053271 - Remove XrayTraits' HasPrototype. r=bz.
XPCWN Xrays were the only Xrays that set HasPrototype to 0.

--HG--
extra : rebase_source : c10654e4eb6eb39b3cfe8884009cd1a47dcad807
2018-06-04 14:26:37 +02:00
Peter Van der Beken c02d68395d Bug 1053271 - Remove XPCWN Xrays. r=bz.
--HG--
extra : rebase_source : 4da59c56ffc6eab4af0bf59d3d3861bbc18a33ba
2018-06-04 12:56:38 +02:00
Jan de Mooij 8bc57c3d29 Bug 1465472 followup - Remove (now always-false) check for atoms compartment. r=jonco 2018-06-07 12:18:56 +02:00
Jan de Mooij 65d353413b Bug 1466458 part 2 - Refactor Realm::enterRealmDepth_ to account for Realms entered from JIT code. r=luke 2018-06-07 12:18:43 +02:00
Jan de Mooij a0f210fb97 Bug 1466458 part 1 - Remove JSContext::enterRealmDepth_. r=luke 2018-06-07 12:17:08 +02:00
Jan de Mooij 418cdb8d25 Bug 1466501 part 3 - Add an objectGlobal(obj) testing function. r=luke 2018-06-07 10:02:10 +02:00
Jan de Mooij 3c1a7769ea Bug 1466501 part 2 - Add a scriptedCallerGlobal() testing function for JS::GetScriptedCallerGlobal. r=luke 2018-06-07 10:02:10 +02:00
Jan de Mooij 56ca3c9524 Bug 1466501 part 1 - Refactor ZoneSpecifier and add a sameCompartmentAs option to newGlobal in the shell. r=luke 2018-06-07 10:02:10 +02:00
Tooru Fujisawa aa391e1e8b Bug 1460154 - Part 2: Handle TDZCheckCache in IfEmitter. r=jwalden 2018-06-07 15:59:01 +09:00
Tooru Fujisawa 587d9259cd Bug 1460154 - Part 1: Rename IfThenElseEmitter to IfEmitter. r=Yoric 2018-06-07 15:59:00 +09:00
Ted Campbell 2391661c6a Bug 1459754 - Fix missing property IC for uncacheable proto case. r=mgaudet 2018-06-06 18:12:43 -04:00
Narcis Beleuzu ca7840b070 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-06 20:05:19 +03:00
Narcis Beleuzu cf464eabfe Merge inbound to mozilla-central. a=merge 2018-06-06 20:00:09 +03:00
Jan de Mooij 156284156a Bug 1363214 - Remove JS::Realm/JSCompartment inheritance. r=jonco
--HG--
extra : rebase_source : ad63de7c6676532640659d1fccced7f83798e06d
2018-06-06 14:30:52 +02:00
Lars T Hansen 0e01cdcfdf Bug 1466931 - Correctly identify the first invalid wasm opcode. r=jseward
Previously, the new wasm sign extension ops were part of the threads
proposal and so our test cases would guard on those ops using
wasmThreadsSupported().

But now that the extension ops have landed independently of the
threads proposal that guard is incorrect.  So just remove the guard;
we don't need it.

--HG--
extra : rebase_source : de854748195f40978837217acbb1ed62fd977ed4
extra : histedit_source : 136233feee89f79ec514701a22fba85ac03d1a5f
2018-06-06 13:13:44 +02:00
Lars T Hansen ced6f798d6 Bug 1461948 - Abstract the inline/outline TypedObject decision. r=till
--HG--
extra : rebase_source : e19970e44e4831a7f6d3000c059e6e54439cfec5
extra : source : 7b682822e9e17a98606a3b4e498838cad1126f56
2018-05-16 11:42:31 +02:00