Commit Graph

63833 Commits

Author SHA1 Message Date
arthur.iakab
14d9332462 Backed out changeset 4abbfab77d40 (bug 1440309) for spidermonkey build crashes a=backout 2018-02-27 13:26:31 +02:00
arthur.iakab
9bffb6aa72 Merge inbound to mozilla-central. a=merge 2018-02-27 11:58:55 +02:00
Jason Orendorff
350a71e22a Bug 1426457 - In the js shell, support setting serialize(_).arraybuffer. r=sfink.
--HG--
extra : rebase_source : f8c68c043db78456c061ef9ad32557b0f57b27b3
extra : amend_source : ddeb3b800e26bcbd8283b872fd7c5dd534d3cb08
extra : histedit_source : ce7bdb619d744dd4e268cd9e6b1fbfd1dcfe89c0
2017-12-15 17:54:52 -06:00
Jason Orendorff
63e9540554 Bug 1440372 - StructuredClone comments. r=sfink.
--HG--
extra : rebase_source : c712672413c3e001667d3fc30c88f2aeae891563
extra : histedit_source : 137a842d21598a72f6aa4027041ffc99f0b27e8b
2018-02-20 21:40:49 -06:00
Jason Orendorff
325c426c92 Bug 1432682 - Part 1: Remove the hack that causes the bad behavior. r=jimb.
The hack caused bytecode for block declaration instantiation to be assigned the
location of the first statement inside the block. Unfortunately it made the
source view of the debugger client seem out of sync with the Scopes panel: when
paused after hitting a breakpoint on that line or stepping there, the source
panel showed our location as being inside the block, but the Scopes panel did
not show a block scope.

Two server tests required fixes (also r=jimb, in a separate patch in the same
bug).

test_stepping-08.js assumes that stepping into a function stops at the first
statement in the function. This is usually true. However, now we are removing a
hack, such that our actual behavior for this *particular* function is to stop
at the opening curly brace. This causes the test to fail, without anything
really being broken.

The test is intended to test the interaction of stepping and breakpoints, so
the fix that stays truest to the purpose of the test is to change the debuggee
here to a function with no prologue instructions, so that we don't stop at the
opening brace.

test_blackboxing-01.js is a similar story.

--HG--
extra : rebase_source : 7afc6cc039f313889ee08cdd93ce114691efa1e9
extra : histedit_source : dc274b7cefbb96574c8207a78db05d80238d291d
2018-02-26 13:50:29 -06:00
Jason Orendorff
77901ec1c9 Bug 1432682 - Part 0: Factor out some test code into a new lib file, jit-test/lib/stepping.js. r=jimb.
This also fixes a bug in that code: it skipped the first stopping point in the
function (before the first instruction).

--HG--
extra : rebase_source : 9682c42ba7ba09b1de475338c83479e1da30a6be
2018-02-13 15:30:51 -06:00
André Bargull
cefa3d13b0 Bug 1440309: Call String_repeat with int32 values to avoid repeated bailouts. r=jandem
--HG--
extra : histedit_source : fd347252fa428ef1f1a5670f9e8d4205283d459b
2018-02-26 11:54:30 -08:00
Luke Wagner
aa07c1fb47 Bug 1432345 - Baldr: add index masking for 32-bit wasm loads and stores (r=jandem)
--HG--
extra : rebase_source : cd2c67df8ce1ecae1199d8142bad0a827d1eaefb
2018-02-26 13:40:01 -06:00
Cosmin Sabou
d8578c1916 Merge central to inbound. a=merge 2018-02-26 19:20:07 +02:00
Cosmin Sabou
056a405757 Backed out 3 changesets (bug 903519) for frequent assertion failures on js/src/gc/Cell.h:182 a=backout
Backed out changeset e8978f3fcfbe (bug 903519)
Backed out changeset 0f4234c21322 (bug 903519)
Backed out changeset 741225b427a8 (bug 903519)
2018-02-26 19:16:41 +02:00
Lars T Hansen
994c47c351 Bug 1438113 - add missing include files, r=bustage ON CLOSED TREE
--HG--
extra : rebase_source : 5f92f7f2a003a79600d437f7a476b6ee25893dd2
2018-02-26 16:36:17 +01:00
Benjamin Bouvier
d3e72ab9ee Bug 1435317: Use masking for the first SIMD memory access too; r=nbp
MozReview-Commit-ID: Cv31xUfCKYM

--HG--
extra : rebase_source : 04f10507afd4a47f9ef42ee30f1ceb16da80b9cf
2018-02-23 12:25:31 +01:00
Adrian Wielgosik
de1e0827c0 Bug 1440441 - Remove nsIDOMFormData. r=kmag,qdot
MozReview-Commit-ID: 9Y8YQBqbSnM

--HG--
extra : rebase_source : 205a3341771d99cb252516f0ffffd107e1c82e5d
2018-02-22 20:42:12 +01:00
Lars T Hansen
1e7effbc6f Bug 1438113 - Make it possible to have wasm baseline without ion. r=luke
For ARM64 it will be the case initially that we'll have baseline but
not ion.  Thus we need to be able to disable asm.js support in some
cases when wasm is supported (since baseline does not support asm.js)
and to make the logic that selects the compiler to use slightly more
subtle.

As a result the old logic of "just use Ion as a fallback" needs to go,
but we can now move that into HasCompilerSupport() and the result is
cleaner overall.

--HG--
extra : rebase_source : 2d50f56ecd653b08e1441391722ed0797a322600
2018-02-14 10:05:30 +01:00
Csoregi Natalia
c9df10baff Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-02-24 13:03:09 +02:00
Makoto Kato
ad4d52eb38 Bug 1440535 - Remove HAVE_MBRTOWC and HAVE_WCRTOMB from js/src/old-configure.in. r=froydnj
No one uses this defines even if SpiderMonkey and We forget to remove this by bug 1423846

MozReview-Commit-ID: 2MOavTX7zrf

--HG--
extra : rebase_source : 3f881bd28ba2c762d9d0876d58330cf99d35ad49
2018-02-23 12:07:02 +09:00
Florian Quèze
682b1ec3b2 Bug 1440284 - change this.EXPORTED_SYMBOLS back to var EXPORTED_SYMBOLS in JS modules, r=mccr8. 2018-02-23 20:50:01 +01:00
Chris Peterson
4c4286f348 Bug 1330529 - Part 3: Protect DLL loads in wmain instead of waiting until PluginProcessChild::Init. r=jimm
Removing #define XRE_DONT_PROTECT_DLL_LOAD from plugin-container.cpp and xpcshell.cpp allows the #included nsWindowsWMain.cpp to protect DLL loads much earlier in the plugin process startup.

MozReview-Commit-ID: HbgyfvljvFs

--HG--
extra : rebase_source : dccdabb2e5bee4472d5aef9400a58cb0e397c112
extra : histedit_source : da248fc6fbdf96f30979f3a0396aefcf4bfcd5d9
2018-02-02 22:53:34 -08:00
Steve Fink
5aa9b78a4d Bug 903519 - Allocate strings in the nursery, r=flagflip
--HG--
extra : rebase_source : d35edd2f62c0736f302972e603b7c8b12365bc9f
extra : source : c9f0ec7b3f114d122cf4226a1bd8c1b32d81b803
2018-02-21 11:36:52 -08:00
Lars T Hansen
9b260640e7 Bug 1436955 - ARM64 Simulator, bugfixes and wasm support. r=bbouvier
- fix a bug where the wrong register was picked up
- support wasm out-of-bounds traps
- support wasm illegal instruction traps
- support (float,float)->float callout signature
- support wait() and wake() callout signatures

--HG--
extra : rebase_source : 9ec124e9e629da245360a80a4a6974d71c9a87c8
extra : source : ba2afb5aa6915b1112d0f58ab653949bec8d07fc
2018-01-30 01:38:26 +01:00
Lars T Hansen
b9354f830a Bug 1313336 - ARM64 miscellaneous masm instructions. r=jolesen
--HG--
extra : rebase_source : 28bc565c04e04cd02d33ca4439631a995cb618d9
extra : source : 7b980da7a44f0fbb5a5c37a23ae4f37e3fcf0ca3
2018-01-23 09:10:53 +01:00
Lars T Hansen
b9ac6210d4 Bug 1313336 - ARM64 atomic masm operations. r=jolesen
--HG--
extra : rebase_source : 256068f92832b04c7b60bc683f3487964ab9647b
extra : intermediate-source : 1d06e5d5f8d58d137f37770e3b0294b73080c352
extra : source : 1d4b6ee3b2071a830c59b50181fc8be4d0204004
2017-12-14 10:01:01 -06:00
Lars T Hansen
0e74aff0c4 Bug 1313336 - ARM64 wasmLoad and wasmStore masm instructions. r=jolesen
--HG--
extra : rebase_source : c6d1a2e881027a8ff19af75d78de4ba61bc9f212
extra : source : affa83b4c7892c90cf691cbf60eb3b1427b19a6f
2018-01-16 14:28:59 +01:00
Lars T Hansen
5f0fbf8882 Bug 1313336 - ARM64 register-register move masm instructions. r=jolesen
--HG--
extra : rebase_source : 04f5dbe7f7bcfae15cd4d6cb9058b0a71af05486
extra : source : a820fc0ea6b92bfb570f8aec627273f1a0740d5d
2018-02-08 15:16:06 +01:00
Lars T Hansen
5ce2a43839 Bug 1313336 - ARM64 truncate-floating-point-to-int masm instructions. r=jolesen
--HG--
extra : rebase_source : 354142bcb8ab260b345836f29f48fef86040e283
extra : source : f4c9893179d624247a21cb6d9bc9c84590c4b989
2018-01-16 14:10:31 +01:00
Lars T Hansen
a3445d2156 Bug 1313336 - ARM64 floating point masm instructions. r=jolesen
--HG--
extra : rebase_source : c117604de1f80f2110d9b43c0828d45ca732ef8b
extra : source : 46e8d7e1183e6e8c10ea2959f7ababc110a94221
2018-01-25 16:26:32 +01:00
Lars T Hansen
a34d0087b4 Bug 1313336 - ARM64 integer masm instructions. r=jolesen
--HG--
extra : rebase_source : 04acecb31e69d6a9a97c440947832394ae769b7d
extra : source : e7ee98d402228d9067228de881daceb8a14ced51
2018-01-16 14:00:36 +01:00
Lars T Hansen
35a182a852 Bug 1436953 - ARM64 assembler fixes. r=sstangl
- Implement `InvertCondition(DoubleCondition)`
- Implement wasm buffer management
- Implement `bindLater()`
- Implement a better definition of `Unreachable()` that does not
  change the PC or the registers
- Add `IsMovz()` and `IsMovk()` predicates, we'll need them
- Bugfix: Patching functions must flush the icache for the updated locs
- Bugfix: `AbiArgIter()` must handle 64-bit ints
- Bugfix: The wasm TLS register must be a non-volatile register
- Bugfix: HINT + NOP is not that hard, so clean it up

--HG--
extra : rebase_source : d7a8d400306e497540c6b628133fcaf8d33c3e98
extra : source : 6e6172a81661927823fb58026b05fe8384b9faeb
2017-12-15 11:19:00 -06:00
Lars T Hansen
a534cb031c Bug 1439333 - Make AutoFlushICache::flush() do something on ARM64. r=jandem
AutoFlushIcache::flush() was ifdef'd out on ARM64 without any
mechanism to signal that, but that's wrong.  Reorganize ifdefs for
this function and also for AutoFlushICache::setInhibit() so that a new
port will not fail to detect that these functions do nothing unless
the new platform opts in to the code that does something.

--HG--
extra : rebase_source : c2979b897af71acd5a6943332a92d431c7656576
2018-02-19 13:54:11 +01:00
Lars T Hansen
ce772f6238 Bug 1437780 - Wasm baseline, remove platform dependencies. r=bbouvier
--HG--
extra : rebase_source : ae3bb9496ec7416c82476a01cdb7ee44e13ffa52
2018-02-13 08:00:38 +01:00
Lars T Hansen
550eff6c6d Bug 1438800 - Introduce ScratchTagScope. r=jandem
We introduce two new RAII types, ScratchTagScope and
ScratchTagScopeRelease, documented in MacroAssembler-arm64.h with
references from other header files.  The former either allocates a
suitable scratch register *or* it resolves to value.typeReg(), as
appropriate.  A reference to the ScratchTagScope variable is then
passed to splitTagForTest(); that function no longer allocates secret
scratch registers.

ScratchTagScopeRelease creates a hole in the scope of the tag register
binding and is used when we call to masm functions that may need the
bound scratch register.

Masm functions that use scratch registers without acquiring them with
any kind of RAII binding are not fixed by this patch, but they were
always living dangerously anyway.

--HG--
extra : rebase_source : e80757b70f7e23451f0a53492ad6bbb8d2bb3299
2018-02-16 14:55:29 +01:00
Jan de Mooij
030279dd8e Bug 1437483 follow-up - Use mozilla::Unused to fix warnings about unused temps on ARM64. r=red CLOSED TREE 2018-02-26 15:45:28 +01:00
Jan de Mooij
55133b40fa Bug 1437483 part 2 - Spectre mitigations for guardObjectType, disabled by default. r=nbp,luke 2018-02-26 15:26:17 +01:00
Jan de Mooij
190f5a93e1 Bug 1437483 part 1 - Add pref for Spectre mitigations for Ion object type barriers. r=nbp 2018-02-26 15:25:37 +01:00
André Bargull
32959bab83 Bug 1440315 - Part 1: Parse Unicode extension sequence by hand instead of using a RegExp. r=Waldo
--HG--
extra : rebase_source : 628dc4bc26243bd56bd505784ee12dae719678a1
2018-02-23 03:35:23 -08:00
André Bargull
d428b4c3a5 Bug 1440315 - Part 2: Remove regexp_{exec,test}_no_statics from selfhosting global. r=Waldo
--HG--
extra : rebase_source : 462f6e9267cb14d5719a53fc1b61a81188191d36
2018-02-22 06:20:04 -08:00
Jon Coppeard
c257db93e0 Bug 1440735 - Store script pointers using a private GC thing value in a couple of places r=sfink 2018-02-26 10:33:28 +00:00
Dragan Mladjenovic
67ae1f897a Bug 1440626 - IonMonkey: Move CodeGenerator::ToOutValue into jit/shared/CodeGenerator-shared-inl.h ; r=bbouvier 2018-02-23 13:08:17 +01:00
Dragan Mladjenovic
642340d528 Bug 1436691 : [MIPS32] Use ldc1 and sdc1 for double loads and stores; r=bbouvier
--HG--
extra : rebase_source : e72b96ab09141e204c48c184d8e80ab89f168246
2018-02-06 14:35:49 +01:00
Chung-Sheng Fu
cd3aaede6c Bug 1409973 - Update JS runtime default locale when pref javascript.use_us_english_local changes. r=Gijs
MozReview-Commit-ID: GzKSIFEqw4h

--HG--
extra : rebase_source : 847699aa3cab73c631103f865e849d2d27553b84
2018-01-15 17:15:22 +08:00
Andrew McCreight
ee205d4ac0 Bug 1441217 - Use nsXPTMethodInfo instead of XPTMethodDescriptor in XPConnect. r=njn
nsXPTMethodInfo is a nicer structure to use, and this paves the way
for making the two types different, which will be needed if I make
XPTMethodDescriptor statically allocated.

Also, use the higher level accessor methods.

MozReview-Commit-ID: JbRdLU5Wwyt

--HG--
extra : rebase_source : 48f6c4e98e43c75006ceeb02bd727b59d3726681
2018-02-26 08:19:02 -08:00
Tiberius Oros
5bf13b301a Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-02-27 00:22:22 +02:00
Brian Grinstead
e13938f94f Bug 1440949 - Allow plain JS objects to request addon interposition;r=kmag
This is needed to allow interposition for gBrowser, which will change from a DOM node
into a plain JS object in Bug 1392352.  An object can set the `requiresAddonInterpositions`
property to enable this feature.

MozReview-Commit-ID: 4Uw5xzgZtXO

--HG--
extra : rebase_source : 203fe656da3ecd514d4e27ad0eeb4885cf4e9b0b
2018-02-26 13:37:15 -08:00
Jan de Mooij
53412618be Bug 903519 - Disable nursery strings in a Zone if too many get tenured, r=sfink
--HG--
extra : rebase_source : 8ffe985d04ef182a7c4900172c6b8bd422ca4879
extra : intermediate-source : 2d3891634ce0a8e76af0e7227ff36ebbeae124d2
extra : source : bb2cc298a15583b524102372d42f722aae5d505a
2017-10-02 16:42:38 -07:00
Steve Fink
27ebcf6d42 Bug 903519 - speed up test that is dramatically slow with zeal + nursery strings, r=me
The jit-test basic/testTypedArrayInit does a simple loop that constructs many, many strings via concatenation of 6 parts. The string is only used if the test fails, but generating that string with GenerationalGC with the nursery enabled is painfully slow due to the extra checks. (It isn't fast without the nursery, but it's much worse with.) Since this is irrelevant to what the test is testing, I made it construct the string only if needed. 180+ seconds goes down to about 6.

According to perf, the time is all spent in poisoning the nursery when clearing it, over and over again. Disabling poisoning makes it dramatically faster.

--HG--
extra : rebase_source : 138dda7c61aa6327eb9bf6471a9aff0b583e65ce
2018-02-23 16:51:16 -08:00
Eric Rahm
7337adec45 Bug 1439047 - Part 1: Make StartupCache::PutBuffer take ownership of the buffer. r=froydnj
This avoids a redundant alloc and copy in `PutBuffer`. All existing callers
were destroying the passed in buffer after the call.

--HG--
extra : rebase_source : 065505219d70d26bad49c7eba2cec8edf0e9939d
extra : amend_source : 118eddad4dc901da02817c788fb98f6f4c85a3f0
extra : source : 7f0cedfb4bd85bfe1a523168019864c9c6c0e665
2018-02-16 15:30:47 -08:00
Narcis Beleuzu
01dffd73eb Backed out 2 changesets (bug 1439047) for Android build bustages. CLOSED TREE
Backed out changeset 718961d941d4 (bug 1439047)
Backed out changeset 7f0cedfb4bd8 (bug 1439047)
2018-02-24 01:10:22 +02:00
Eric Rahm
8b8acc64f2 Bug 1439047 - Part 1: Make StartupCache::PutBuffer take ownership of the buffer. r=froydnj
This avoids a redundant alloc and copy in `PutBuffer`. All existing callers
were destroying the passed in buffer after the call.

--HG--
extra : rebase_source : 39a21686becedf32c38e58fa832ae47845b2f5e0
2018-02-16 15:30:47 -08:00
Jason Orendorff
1b9bcc15aa Bug 1440431 - Part 3: Add baselineCompile() testing function. r=nbp.
--HG--
extra : rebase_source : b60cda27b2939fb3a2324c83a221801849afeb20
extra : amend_source : 6f18740eac3e96ba82abe78305ad0bcb058e1a97
extra : histedit_source : 1ccf74e6855fc2bab1e7d13e6b19b5d790cdedf2
2018-02-22 13:04:46 -06:00
Jason Orendorff
408be96955 Bug 1440431 - Part 2: Factor out ReturnStringCopy convenience function. r=nbp.
--HG--
extra : rebase_source : 12ef54afa87ec07ab6a124a560e34bb01632fe53
extra : amend_source : e8c70c1ead587c4e54cfbc3b423ffd124d897d7c
extra : histedit_source : f041b5ca8a88f42e26cf93b79dbbf02021902575
2018-02-22 14:24:11 -06:00