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

66496 Коммитов

Автор SHA1 Сообщение Дата
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
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
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