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

63854 Коммитов

Автор SHA1 Сообщение Дата
Dragan Mladjenovic f3fe98aa81 Bug 1441487 - [MIPS64] - Make simulator detect improper usage of 32-bit arithmetic r=lth 2018-02-27 12:15:22 +01:00
Dragan Mladjenovic 51197a0314 Bug 1441487 - [MIPS64] - Improper usage of seb and seh insturctions. r=lth 2018-02-27 12:13:35 +01:00
Andreea Pavel 0b391acd5c Backed out changeset e283310058ba (bug 1432446) for build bustage at /builds/worker/workspace/build/src/js/src/jit/x86/Trampoline-x86.cpp:185 on a CLOSED TREE 2018-02-28 03:22:39 +02:00
Dragan Mladjenovic cc693a7fd4 Bug 1432446: [MIPS] Reduce size of switch table entries to a single pointer; r=lth
--HG--
extra : rebase_source : d460a123a0c389301a8fad29c0ac091f09509a56
2018-02-27 02:53:00 +02:00
Jeff Walden 1e733f31c4 Bug 1440954 - Properly #ifdef a local variable only used in an assertion to avoid an unused-variable warning. r=sfink
--HG--
extra : rebase_source : aa18f74def6af9e303ed2e04daa7f57d6feca789
2018-02-27 11:29:47 -08:00
Jeff Walden acd249ca8b Bug 1038099 - Make JS_NewMaybeExternalString return thin (but not fat) inline Latin-1 strings when the provided chars/length will fit within one. r=sfink
--HG--
extra : rebase_source : b4280f85be3f2071731ff43a22d16d8f81d75179
2018-02-12 14:13:28 -08:00
Jon Coppeard 9abec85212 Bug 1440739 - Improve gray marking assertions to cover more types of pointer r=sfink 2018-02-27 13:01:49 +00:00
Jon Coppeard 1ffb253b3a Bug 1359342 - Add missing read barrier in TypeNewScript::maybeAnalyse r=sfink 2018-02-27 12:14:47 +00:00
Jon Coppeard 0d67850d1b Bug 1359342 - Record objects and groups that need to be barriered after being read from type sets r=nbp 2018-02-27 12:14:47 +00:00
Jon Coppeard 34e050ec03 Bug 1359342 - Add delayed read barriers for JitCompartment stubs r=nbp 2018-02-27 12:14:46 +00:00
Jon Coppeard 181e68a074 Bug 1359342 - Pre-mark new allocations black during incremental GC r=sfink 2018-02-27 12:14:46 +00:00
arthur.iakab 7eca84e2ff Merge mozilla-central to mozilla-inbound
--HG--
extra : rebase_source : 5ab799ab944386d44af8542c0324d6a2f2d09b7f
2018-02-27 13:35:23 +02:00
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