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

66568 Коммитов

Автор SHA1 Сообщение Дата
Paul Bone 39a3091a37 Bug 1480001 - Enable allocation counts only when the profiler is active. r=jonco
And also no-longer only on Nightly
2018-08-14 22:40:46 +10:00
bobslept 76d0436bd0 Bug 1461374 - Deduplicate GuardXrayExpandoShapeAndDefaultProto using emitLoadStubField r=mgaudet
--HG--
extra : rebase_source : dd2f68992103b86f8b128c7356bdabe6bbf5e6cf
extra : source : ae0e805295270d7ac6881c73d06d449576be9800
2018-08-13 19:09:07 -04:00
Steve Fink 8d394524d2 Bug 1485209 - Make the JIT check that an object/string is non-null and aligned (mainly to catch poison patterns) before storing, r=tcampbell
--HG--
extra : topic : ObjectValue.null
extra : rebase_source : e41fcfeee15ff3a485e4d7823a2b4ac1cb33670a
extra : source : 144ce8d61763d0fac340bf9158827f4116cc13aa
2018-06-21 16:45:34 -07:00
Nathan Froyd 3f8bad7e0c Bug 1480587 - add support for atomic operations on AArch64 Windows; r=lth
--HG--
rename : js/src/jit/arm64/AtomicOperations-arm64.h => js/src/jit/arm64/AtomicOperations-arm64-gcc.h
rename : js/src/jit/x86-shared/AtomicOperations-x86-shared-msvc.h => js/src/jit/arm64/AtomicOperations-arm64-msvc.h
2018-08-28 11:31:09 -04:00
Ted Campbell d5ae417328 Bug 1485347 - Part 2: Remove CheckScriptDataIntegrity. r=jandem
This diagnostic did not provide value and should be removed to allow
further cleanup.

MozReview-Commit-ID: 49XJM0G7NAP
2018-08-28 09:11:29 -04:00
Ted Campbell d02091f27c Bug 1485347 - Part 1: Remove nTypeSets argument from JSScript::partiallyInit. r=jandem
MozReview-Commit-ID: I6xBHG8FLlq
2018-08-28 09:11:29 -04:00
Jan de Mooij 15b08e299e Bug 1486444 - Remove bogus/over-allocating no-arg versions of js_pod_malloc/js_pod_calloc. r=tcampbell
These functions incorrectly passed sizeof(T) instead of 1, so we would allocate sizeof(T) * sizeof(T) bytes instead of sizeof(T) bytes. This was used for PcScriptCache where we would allocate a few extra megabytes due to this bug. The patch changes PcScriptCache to use UniquePtr + MakeUnique.

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

--HG--
extra : amend_source : e9e3e906ac649a4b05d91c10e60bc10bc858fb98
2018-08-27 17:28:16 +02:00
Robin Templeton 7519f8515f bug 1486173 - Part 3: Implement BigInt support for equality operators. r=jandem 2018-08-24 20:43:00 +03:00
Robin Templeton 05b0d002ba bug 1486173 - Part 2: Add BigInt methods for equality comparison. r=jandem 2018-08-24 20:43:00 +03:00
Robin Templeton df6d5560c2 bug 1486173 - Part 1: Move error reporting out of StringToBigInt. r=jandem 2018-08-24 20:43:00 +03:00
Cosmin Sabou d141575366 Merge mozilla-central to mozilla-inbound. a=merge 2018-08-27 19:00:38 +03:00
Cosmin Sabou 55da592d85 Backed out 4 changesets (bug 956376) for causing a spike of failures in bug 1438778. a=backout
Backed out changeset 9cb7826b8f28 (bug 956376)
Backed out changeset 37f94ae472d6 (bug 956376)
Backed out changeset d96d56907ce0 (bug 956376)
Backed out changeset ee0b4798b061 (bug 956376)
2018-08-27 18:52:57 +03:00
Tooru Fujisawa 2ca8e55755 Bug 956376 - Part 1: Add Debugger.findSources. r=jimb 2018-08-23 09:27:30 +09:00
Ashley Hauck 4a4d9d15e3 Bug 1456973 - Add explicit ToNumber in wrappedCompareFn in TypedArraySort. r=jorendorff 2018-08-21 10:16:00 +03:00
Ashley Hauck ed1104d1ed Bug 1449985 - Remove js::IsDelegate, rename IsDelegateOfObject to IsPrototypeOf. r=jandem 2018-08-24 07:55:00 +03:00
arthur.iakab dcedbb628b Merge mozilla-central to inbound 2018-08-25 01:09:50 +03:00
arthur.iakab 5527acb8d8 Merge inbound to mozilla-central a=merge 2018-08-25 01:08:22 +03:00
Luke Wagner f5ba9f6feb Bug 1486027 - don't oom on failed ModuleGenerator memory reservations (r=bbouvier) 2018-08-24 13:41:13 -05:00
Benjamin Bouvier 5596e0df49 Bug 1437065: Tests; r=luke
--HG--
extra : rebase_source : ad3365a9951f31d1bb7df60fff9bb76eb70ccee5
2018-08-23 15:28:16 +02:00
Benjamin Bouvier 9eedb4045d Bug 1437065: Inline monomorphic calls to wasm; r=luke, r=jandem
--HG--
extra : rebase_source : fdf0feee57bbde518368beba2d6056680fe72207
2018-08-24 15:27:20 +02:00
Thi Huynh f1b6a1e14b Bug 1432135 - Rename TokenKind::{Lb,Rb,Lc,Rc,Lp,Rp} to their long names. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D3803

--HG--
extra : moz-landing-system : lando
2018-08-21 09:04:55 +00:00
Mike Hommey b97b9da178 Bug 1481670 - Reduce the size of AnyRegister::Code and MIRType. r=jandem
For the same reason as previous commit, the code clang generates for
~AutoOutputRegister when inlined in CacheIRCompiler::emitArrayJoinResult
makes valgrind unhappy. The reason is that TypedOrValueRegister contains
a union with two types of different sizes, where clang makes the code do
a check against the larger variant before validating the union tag says
that's the type in use, and that doesn't go well under valgrind when the
union value was set for the smaller variant.

One way to fix this is to make the TypedOrValueRegister constructor fill
the uninitialized bytes of the union, but it also appears that the types
used in the union, as well as the union tag itself, are larger than they
actually need to be:

- AnyRegister::Code is a 32-bits integer representing a register number,
when no supported platform has more than 254 registers (accounting for
AnyRegister::Invalid),

- MIRType is a 32-bits integer (enum, actually) representing values that
are all below 256.

Changing only the former would make valgrind happy, avoiding the
uninitialized bytes being tested against in ~AutoOutputRegister, but it
was too tempting to do MIRType as well.
2018-08-24 21:44:12 +09:00
Mike Hommey 4adb3fdde0 Bug 1481670 - Initialize some stack variables to make valgrind happier. r=jandem
clang likes to transform conditions like:

  if (A && B)

into

  if (B && A)

where B might be undefined when A is true (or variants of the above with
! and ||, or split between multiple ifs). This doesn't go well with
valgrind, although it's valid (albeit seemingly convoluted).

In both cases fixed here, the condition A involves calling a function
with a pointer to a variable on the stack that may or may not be filled
by the function call, and the condition B checking the value of said
variable.
2018-08-24 21:44:12 +09:00
Tooru Fujisawa ebe7394edf Bug 1259822 - Show property key in the error message when target object value is null or undefined. r=jorendorff 2018-08-24 13:22:13 +09:00
Mike Hommey 95f25c8a5d Bug 1485610 - Avoid copy relocations in binaries we build. r=froydnj
See bug 1485562 for an example of bad things that can happen with such
relocations, and see also
c90379ddfe/ELF/Relocations.cpp (L496-L537)
2018-08-24 08:57:04 +09:00
Kris Maglione b7962a2385 Bug 1484496: Part 6 - Remove unused XPCOMUtils.IterSimpleEnumerator method. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D3734

--HG--
extra : rebase_source : 54c648602e8384ac78dc28b02a9bdc33c2dd9a35
extra : histedit_source : 3743ce95426177a42ee216659e4a5c7ee0e0adbc
2018-08-18 18:45:57 -07:00
Kris Maglione 3a5c05e76f Bug 1484496: Part 5e - Convert remaining nsISimpleEnumerator users to use JS iteration. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D3733

--HG--
extra : rebase_source : c0fac176d7b3d840c4dbb14f8d95ccfc7f83a5a8
extra : histedit_source : a92c40117d0808a3ad68c972f622a7a42c9ae8ba
2018-08-18 18:13:14 -07:00
Kris Maglione 2dee0aae3c Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj
This allows JS callers to automatically get the correct types during
interation, without having to explicitly specify them.

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

--HG--
extra : rebase_source : b708f382d8ea571d199c669bfed5b5a7ca9ffac4
extra : histedit_source : 7df6feb82088c8a5ca45dc28fe4d2b852c177fee
2018-08-18 21:06:32 -07:00
Kris Maglione 83db11134f Bug 1484496: Part 1 - Add support for symbol properties to XPIDL. r=nika
This patch allows us to define methods or getters/setters for any of the
current set of well-known symbols. Those are defined by adding the [symbol]
attribute to a method:

  [symbol]
  Iterator iterator();

which causes the method to define a property with the well-known symbol which
matches its method name (Symbol.iterator, in this case).

Due to the implementation details of the XPIDL parser, this currently does not
support defining a non-symbol function with the same name as a symbol
function:

  [symbol]
  Iterator iterator();

  [binaryname(OtherIterator)]
  Thing iterator(in nsIDRef aIID);

throws for a duplicate method name, even though there is no actual conflict.

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

--HG--
extra : rebase_source : 1385e2da93113306730f7c087fe7385dbe668e91
extra : histedit_source : 3afd9fe38e7cbddc5576c2bd1673496dd623e489
2018-08-21 14:08:35 -07:00
Sean Stangl c7f063aba4 Bug 1483030 - Implement basic ARM64 codegen. r=djvj 2018-08-13 14:27:00 -04:00
Luke Wagner 768398fad3 Bug 1480998 - Baldr: fix race in wasm signal handler if browser crashes during shutdown (r=lth,bbouvier)
--HG--
extra : rebase_source : 63d44b4ab39e1d8fc8cbeedf3a1b5272ccd4c231
2018-08-23 11:23:52 -05:00
Luke Wagner 7d61d0f147 Bug 1485162 - Baldr: remove confusing StackDecrementForCall() overloads (r=bbouvier)
--HG--
extra : rebase_source : 6f95f9dde4a55b5484d8becf4e569a3592805dbf
2018-08-23 11:23:52 -05:00
Luke Wagner 08e1df1673 Bug 1485162 - remove dead CodeGeneratorShared field (r=bbouvier)
--HG--
extra : rebase_source : 70a85e1fd257b38dcc953e109162011785d44b46
2018-08-23 11:23:52 -05:00
Matthew Gaudet b450ce65e6 Bug 1479603 - [Part 12] Simplify getKey computations r=jandem
--HG--
extra : rebase_source : 18a4899debf67a1c3c6c150dc1477dbb217bf3d5
2018-08-22 14:58:33 -04:00
Matthew Gaudet 0d5f96ed92 Bug 1479603 - [Part 11] Remove SharedIC.h,cpp r=jandem
--HG--
extra : rebase_source : 0e649dbe71bed7be79d72f15eac871db5b77d548
2018-08-22 15:12:30 -04:00
Matthew Gaudet c49dffc1cb Bug 1479603 - [Part 10] Relocate the remaining Baseline-only stub code to BaselineIC files r=jandem
--HG--
extra : rebase_source : b3ce51473367440012fe45774c36ddf3632b5742
2018-08-21 11:01:02 -04:00
Matthew Gaudet 93fb1c43b0 Bug 1479603 - [Part 9] Remove ICStubCompiler::Engine r=jandem
--HG--
extra : rebase_source : 463d520b91583489205c3c93bacc88ea57ae7e99
2018-08-21 10:05:47 -04:00
Matthew Gaudet 353d6f779d Bug 1479603 - [Part 8] Remove Ion Fallback stub space r=jandem
--HG--
extra : rebase_source : a0848c48cf7946655b8d54c3a2ca3dfb9f2ac6b4
2018-08-20 11:02:43 -04:00
Matthew Gaudet 5ff67fff38 Bug 1479603 - [Part 7] Collapse IonICEntry and BaselineICEntry into ICEntry r=jandem
--HG--
extra : rebase_source : 1706c212b9d0db16a5d37b3b31caada6a38810bf
2018-08-20 10:40:02 -04:00
Matthew Gaudet a98146ee37 Bug 1479603 - [Part 6] Reduce redundant usage of ICStubEngine r=jandem
--HG--
extra : rebase_source : 381f2381b0dee932f64f8136385ee0d5480b60de
2018-08-17 17:16:19 -07:00
Matthew Gaudet 7cd48ebe3b Bug 1479603 - [Part 5] Relocate Baseline fallback stubs to BaselineIC.h r=jandem
--HG--
extra : rebase_source : c214dce7ccbfcfa3666076ff6d1b36cfe7e88574
2018-08-19 09:29:19 -07:00
Matthew Gaudet a541dcdf45 Bug 1479603 - [Part 4] Remove SharedIC support from Ion r=jandem
--HG--
extra : rebase_source : c96005c938faf798196874ab0929b686ba258d58
2018-08-16 10:42:30 -07:00
Matthew Gaudet 16f1b7b2ce Bug 1479603 - [Part 3] Remove Shared Stubs option r=jandem
--HG--
extra : rebase_source : 5d57c2ca8734a357fef4b0f353b05d7077db987b
2018-08-15 20:01:05 -07:00
Matthew Gaudet a25987dbac Bug 1479603 - [Part 2] Cleanup Ion SharedStubs code r=jandem
--HG--
extra : rebase_source : 5853a3b3720bd94b4525c6a40b3203cc012fac59
2018-08-15 19:59:34 -07:00
Matthew Gaudet 41fbc206cb Bug 1479603 - [Part 1] Cleanup IC code as we show SharedICs the door. r=jandem
- Move SimpleTypeDescrKey functions into CacheIR.h. This matches the set of callers
- Move LoadTypedThingData into CacheIRCompiler, matching usage
- Push definition of StripPreliminaryObjectStubs up in file, and remove header declaration
- Consolidate LoadTypedThingLength into CacheIR files
- Remove now dead ICMultiStubCompiler
- Remove BinarySharedStub classes. Can do this now that Compare and BinaryArith ICs have been converted to CacheIR
- Rename comapreSharedStub, and use correct flag to disable it.
- Remove SharedStubInfo
- Collapse SharedICList.h back into SharedIC.h
- Remove unimplemented declaration

--HG--
extra : rebase_source : 8ac2b2644d970e0828903f91035c1b692874b203
2018-08-15 17:54:31 -07:00
Jon Coppeard 4cf97b85a5 Bug 1485031 - Use wrapper object to represent scripts in shell module APIs r=sfink 2018-08-23 16:59:12 +01:00
Jon Coppeard c52bf800a4 Bug 1485615 - Move internal ZoneAllocPolicy to gc/Zone.h r=sfink 2018-08-23 16:59:01 +01:00
Jon Coppeard 4da01fd496 Bug 1485615 - Make RegExpZone a separate allocation to Zone r=sfink 2018-08-23 16:58:47 +01:00
Jan de Mooij 4e67171551 Bug 1477921 part 2 - Remove now unused JSAutoRealmAllowCCW. r=luke
Differential Revision: https://phabricator.services.mozilla.com/D4519

--HG--
extra : rebase_source : 65815163551664eccc5dec7fd093226d98cd42f7
2018-08-29 10:23:49 +02:00
Jan de Mooij 424d97c4e2 Bug 1477921 part 1 - Use JSAutoRealm instead of JSAutoRealmAllowCCW in JS_CopyPropert{ies,y}From and fix some stale comments. r=luke
Differential Revision: https://phabricator.services.mozilla.com/D4518

--HG--
extra : rebase_source : 51cc39c90c8cc24665ddf9362ee26ca8b4f94dee
2018-08-29 10:08:36 +02:00
Jason Orendorff 42e72ffaa9 Bug 1442750 - Slience a few Clang-only warnings in SpiderMonkey. r=jorendorff
The changes in shell/js.cpp silence warnings about unreachable return
statements.

The constant being removed in testErrorInterceptor.cpp is unused.

--HG--
extra : rebase_source : 8f57e671265a82a3baeb9d74cf38711383239a76
2018-03-02 09:31:34 -06:00
Steve Fink 564c109f32 Bug 1479673 - "Handle" assembly code. r=me
--HG--
extra : topic : hazard
extra : rebase_source : 4e52e81ceeb226f4851345437e9e99e0933cea66
2017-09-26 18:18:53 -07:00
Steve Fink 3ab370dfe9 Bug 1479673 - Synthesize calls between various destructor variants that better match observed behavior and my current understanding, r=jonco
--HG--
extra : topic : hazard
extra : rebase_source : 515bdf28d2e4f9168bb31e89029d2840ca8495b7
2018-07-11 16:56:40 -07:00
Steve Fink b0006a2c76 Bug 1479962 - Add JS_HAZ_ROOTED_BASE for AutoGCRooter, which assumes all descendants are rooted, r=jonco
--HG--
extra : topic : hazard
extra : rebase_source : a75561cdf2f71e34a630737dcf832d05d95974b0
2018-07-24 16:52:43 -07:00
Steve Fink 45873100f5 Bug 1479673 - Disable the analysis while calling function pointers during tracing, r=me.
Fixes a hazard introduced by allowing the analysis to correctly see through more of the callgraph.

--HG--
extra : topic : hazard
extra : rebase_source : a2b20f3a4c5127c502c1402ca9abbd1e2ad0d382
2018-08-13 10:49:16 -07:00
Steve Fink d5a201ece6 Bug 1482178 - IonBuilder needs to access script zone from any thread, r=jandem
--HG--
extra : topic : nursery.strings.fix
extra : rebase_source : a8d4c0f88c22ae4354eddce0dc6a6c77d85797b8
2018-08-22 10:48:27 -07:00
Nicolas B. Pierron 76983b2b1a Bug 1467116 - Add a red-zone for each LifoAlloc allocation. r=tcampbell 2018-08-23 14:52:23 +02:00
Gurzau Raul 80d0825239 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-23 15:31:37 +03:00
Csoregi Natalia 67cc8b873a Backed out 3 changesets (bug 956376) for browser_dbg-quick-open.js failures. a=backout
Backed out changeset 3e61a2874367 (bug 956376)
Backed out changeset 8169bed1fafc (bug 956376)
Backed out changeset 46dfdfe14067 (bug 956376)
2018-08-23 15:15:31 +03:00
Lars T Hansen 4a601e2fa3 Bug 1480725 - mark tests as slow temporarily r=me CLOSED TREE
--HG--
extra : rebase_source : 541ad19ea373961258df7ffe29e675176e63958b
2018-08-23 13:03:34 +02:00
Tooru Fujisawa 5f6965d567 Bug 1454285 - Part 3: Add test. r=jwalden 2018-08-23 15:48:13 +09:00
Tooru Fujisawa 1f7a0031a1 Bug 1479813 - Remove unnecessary test for delazification. r=jimb 2018-08-23 15:48:07 +09:00
Jan de Mooij 696e726043 Bug 1466118 part 9 - Some more cleanup. r=luke
--HG--
extra : rebase_source : 509b7cd76dd44cbf6691bdaa3fd9581feecba7a9
2018-08-22 11:54:31 +02:00
Jan de Mooij 33c23d877c Bug 1466118 part 8 - Change compartment check to realm check for JSScript and AbstractFramePtr. r=luke
--HG--
extra : rebase_source : a4c29a2f5aec406883d4d429ffcf9720ab29ce4f
2018-08-21 13:14:23 +02:00
Jan de Mooij 7930c29c25 Bug 1466118 part 7 - Avoid a TLS lookup for each compartment check. r=jonco
--HG--
extra : rebase_source : d31a14c44c281a5931743806a8fd2ae560959b4b
2018-08-21 12:58:58 +02:00
Jan de Mooij 37ba79255e Bug 1466118 part 6 - Rename CompartmentChecker to ContextChecks and support realm checks. r=luke
--HG--
extra : rebase_source : ae82aa6126bd8d169504c0fa0505348d626012cc
2018-08-21 12:48:03 +02:00
Jan de Mooij 0031fef557 Bug 1466118 part 5 - Replace assertSameCompartmentImpl with JSContext::checkImpl. r=luke
--HG--
extra : rebase_source : 9fccb0b445e1521903ea1310d6b85bec2c0fcd85
2018-08-21 12:34:18 +02:00
Jan de Mooij 4c32da5e1a Bug 1466118 part 4 - Replace assertSameCompartment with JSContext::check. r=luke
--HG--
extra : rebase_source : df78f08fa1e3a26f6713f3c669f4777dbdd9c988
extra : source : e24d946c4978ef29e025fee2f9b79339a27b7d79
2018-08-21 12:18:21 +02:00
Jan de Mooij aa66503708 Bug 1466118 part 3 - Replace assertSameCompartmentDebugOnly with JSContext::debugOnlyCheck. r=luke
--HG--
extra : rebase_source : d654bc0ce7ab4803ff73889281e2e07d16ae66a2
2018-08-21 12:11:52 +02:00
Jan de Mooij 4f14f33f62 Bug 1466118 part 2 - Replace releaseAssertSameCompartment with JSContext::releaseCheck. r=luke
--HG--
extra : rebase_source : 55532737970009ea24149cbf93a2bace3d54ca3a
2018-08-21 12:07:57 +02:00
Jan de Mooij fd73b662f3 Bug 1466118 part 1 - Use variadic templates for assertSameCompartment functions. r=luke
--HG--
extra : rebase_source : 4a4d62c9a14bcd55fe758bdc46c8e746b9247442
2018-08-21 11:57:49 +02:00
Nicolas B. Pierron e5ad38e790 Bug 1418971 - Add Bug 1363233 test case. r=me 2018-08-23 11:54:57 +02:00
Lars T Hansen 3703543d75 Bug 1470490 - Introduce Atomics.notify, make Atomics.wake an alias. r=anba
TC39 has decided to rename Atomics.wake as the more conventional
Atomics.notify.  The webcompat fallout from this should be roughly
zero, as browser currently have disabled SAB as a result of the
Spectre kerfuffle.

This patch introduces Atomics.notify, and changes a number of names in
the code and in test cases as a result, but retains Atomics.wake as an
alias until we're happy that we don't need it.

A note on nomenclature used in the code: Though Atomics.notify
/notifies/ the target agent, we still say that the agent was /woken/
by the notification if it becomes schedulable.  An agent can be
notified without being woken in obscure implementation-specific
settings, normally having to do with waiting in interrupt handlers.

Also fixes a completely blatant and impossible-not-to-discover bug in
tests/shell/futex.js.  Do we never run shell tests marked "slow"?
This makes me nervous.

--HG--
extra : rebase_source : db86f1c1b92ad831d081dd606e057d2919deb466
extra : histedit_source : eadfd80f068f7dec8c34f5cdfaadeecd31d001b4
2018-08-18 13:31:38 +02:00
Brindusan Cristian 7ac19aed65 Merge inbound to mozilla-central. a=merge 2018-08-23 06:41:38 +03:00
Ted Campbell a8e02854ed Bug 1485499 - Reduce size of js::Symbol r=sfink
MozReview-Commit-ID: 4mEHixUnUax

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

--HG--
extra : moz-landing-system : lando
2018-08-23 01:34:37 +00:00
Tooru Fujisawa 1e303abb85 Bug 956376 - Part 1: Add Debugger.findSources. r=jimb 2018-08-23 09:27:30 +09:00
Brindusan Cristian d2592042f8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-23 01:02:39 +03:00
Denis Palmeiro 2a6d629a20 Bug 1482560: Do not flush tracelogger to disk unless specifically requested to do so r=sfink
When enabling the tracelogger, it will automatically spew the data to disk in the location specified by TLDIR or /tmp, if undefined.  However, there needs to be a way to enable the tracelogger without spewing so that we can write this data as part of the gecko profiler JSON output, and ultimately visualized with perf.html.

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

--HG--
extra : moz-landing-system : lando
2018-08-22 20:09:33 +00:00
Lars T Hansen f829920fb9 Bug 1480725 - stress test wasm atomics. r=luke
Atomic operations are stress-tested by having multiple workers work on
the same location in ways that would reveal non-atomicity in an
incorrect result.

We run these tests only on native implementations, not on simulators.
Our simulators don't implement atomicity well.

This patch has the bare minimum, testing multiple agents that perform
the same operation.  It's possible to do more, notably, to combine
different operations.

--HG--
extra : rebase_source : ddc2f611e87d099d15eedaec81304056b2ed14ac
extra : histedit_source : 466994c25d0d33986c41f5420bcc1dfa235f08fe
2018-08-09 15:47:30 +02:00
Lars T Hansen cbd4a32ca1 Bug 1467632 - Specialize ReadScalar<ExprType>. r=luke
Normally ReadScalar uses memcpy from the source stream to the
destination object.  This is only well-defined if the destination
argument is a POD type, which ExprType is not.  So specialize
ReadScalar for ExprType and make the memcpy target the data payload in
that type instead.

--HG--
extra : rebase_source : 20df55aa1358e2bbceb3a06a386732897abaff27
extra : histedit_source : 1097641e4da9d4f656d7e2900878a116cd080efb
2018-08-21 09:17:05 +02:00
Lars T Hansen 4e03c7e674 Bug 1467632 - Make AsmJSGlobal's pod field be POD. r=luke, r=waldo
The pod member needs to be POD but has members that have evolved no
longer to be POD - a ValType and a LitVal.  We work around the problem
locally by using ValType's representation type PackedTypeCode to
represent types, and by specializing LitVal as LitValPOD for use in
this structure.

--HG--
extra : rebase_source : 76194d811f28316ad890d6c9f1978773f3570838
2018-08-20 17:14:19 +02:00
Steve Fink 68810d7507 Bug 1481740 - Never do endianness swapping on pointers, r=lth
--HG--
extra : topic : nursery.strings.fix
extra : rebase_source : 59fc25493b07a621f92154668c88652f0a865ef1
2018-08-08 11:16:21 -07:00
Steve Fink 71c1e0f58f Bug 1470921 - Re-check whether nursery strings are enabled after collecting during allocation, r=jonco
--HG--
extra : topic : nursery.strings.fix
extra : rebase_source : 4befad86d2f96fcbf1d314b23434d0d4f935acac
2018-08-16 16:49:25 -07:00
Steve Fink fd926c1cd2 Bug 1481897 - Remove HashPolicy template param from WeakMap, force to use MovableCellHasher<Key> instead, r=jonco
--HG--
extra : rebase_source : c6babd16996b56517988d577197b572989bab6f2
2018-08-08 11:02:18 -07:00
Jason Orendorff d5f46f31e0 Bug 1479429 - Add a range check for the argument to Debugger.Script.prototype.get{Predecessor,Successor}Offsets. r=bhackett
--HG--
extra : rebase_source : 2f60dff4108774e5828d3afa957817c3cc85563b
2018-08-09 15:29:37 -05:00
Jeff Walden 589e40bc4c Bug 1485119 - Don't pass the result of ValueToPrintableUTF8 to a function called JS_ReportErrorASCII. r=anba
--HG--
extra : rebase_source : 325264b507d2b3eb7ffb817f28c40042bc891a5f
2018-08-22 13:12:50 -05:00
Jeff Walden 7164db9da7 Bug 1484943 - Don't assert when trying to formatToParts a NaN value whose sign bit is set. r=anba
--HG--
extra : rebase_source : fb0ef69a0e6611cbeda719eccabd95f2abcdec1a
2018-08-21 14:34:50 -05:00
Jason Orendorff 383345c146 Bug 1475417 - Part 2: Fire onEnterFrame when resuming a generator or async function. r=jandem, r=jimb
--HG--
extra : rebase_source : c6f2cd2cc77bea35e13af0dcc3fa7c50beb07e9b
extra : source : a3901162a1ece01cb8bacf606ad57e3cef741b7e
2018-08-15 15:09:30 -05:00
Jan de Mooij 7a68d5cb68 Bug 1466128 part 2 - Rename AutoCompartment to AutoRealm. r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D3325

--HG--
extra : rebase_source : 961707f473d4c6664736f5f2e266be949a9ac700
extra : source : a4262ccfec7a662f672138f856cd7779ebd8e824
2018-08-14 14:25:48 +02:00
Jan de Mooij e25a7d3dd1 Bug 1466128 part 1 - Rename ac.rs to ar.rs. r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D3324

--HG--
rename : js/rust/src/ac.rs => js/rust/src/ar.rs
extra : rebase_source : 7d6e78d8ccf812347f739852c2d19d08fc5ae96c
2018-08-14 14:24:22 +02:00
Nicholas Nethercote d4f517f3e2 Bug 1483182 - Don't allocate in HashTable::lookupOrAdd(). r=luke
Currently lookupOrAdd() will allocate if the table has no storage. But it
doesn't report an error if the allocation fails, which can cause problems.

This patch changes things so that lookupOrAdd() doesn't allocate when the table
has no storage. Instead, it returns an AddPtr that is not *valid* (its mTable
is empty) but it is *live*, and can be used in add(), whereupon the allocation
will occur.

The patch also makes Ptr::isValid() and AddPtr::isValid() non-public, because
the valid vs. live distinction is non-obvious and best kept hidden within the
classes.

--HG--
extra : rebase_source : 95d58725d92cc83332e27a61f98fa61185440e26
2018-08-21 13:49:17 +10:00
Andreea Pavel c8dfc19d97 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-08-22 06:38:49 +03:00
Andreea Pavel 883da574e8 Merge mozilla-inbound to mozilla-central. a=merge 2018-08-22 06:35:14 +03:00
Tiberius Oros 05b46cf200 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-22 00:59:19 +03:00
Tooru Fujisawa ce0d96216e Bug 1483188 - Fix the assertion for reaction record fields. r=anba 2018-08-22 10:01:34 +09:00
Dorel Luca b704584332 Merge mozilla-central to autoland 2018-08-21 19:03:25 +03:00
Ted Campbell 54781329d1 Bug 1484382 - Use mozilla::ScopeExit in js/src r=jandem
Bug 1484382 - Use mozilla::ScopeExit in jit/JitFrames.cpp
Bug 1484382 - Use mozilla::ScopeExit in vm/TypeInference.cpp
Bug 1484382 - Use mozilla::ScopeExit in jit/JitcodeMap.cpp
Bug 1484382 - Use mozilla::ScopeExit in jit/JitFrames.cpp

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

--HG--
extra : moz-landing-system : lando
2018-08-21 08:59:31 +00:00
Nathan Froyd 3f79c03f8b Bug 1482294 - disable jit unwind handling on aarch64 windows; r=jandem
As the comment for SetJitExceptionHandler makes clear, the
infrastructure we have for generating unwind information on 64-bit
Windows is only necessary to permit Breakpad to generate crash reports.
We don't even have crash reporting for our non-existent AArch64 Windows
builds, and it will likely take us some time to make the necessary
changes in Breakpad and elsewhere.  In addition, the unwind information
format is completely different on AArch64, and there's no decent
documentation on it yet.

Given all of this, the easiest way forward right now is to simply
disable this code to get things compiling.  We can reenable it later
once we understand how to add appropriate support.
2018-08-21 15:29:23 -04:00
Jan de Mooij 965f93349e Bug 1473957 - Require debugger and debuggee to be in different compartments. r=jimb
We were checking for cross-compartment wrappers in the Debugger constructor, but this patch also fixes addDebuggee and addAllGlobalsAsDebuggees.

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

--HG--
extra : rebase_source : 3346baa677b4eae1ed8b7b13d93c1c8c89753d97
2018-08-16 12:35:20 +02:00
Jan de Mooij 483b00ee42 Bug 1479430 - Make sure TypeNewScript::maybeAnalyze is called in the group's realm. r=luke
--HG--
extra : rebase_source : e6f8f7ff651a4f3bd07060152e15738b0de9dd36
2018-08-16 11:59:19 +02:00