Commit Graph

63033 Commits

Author SHA1 Message Date
Jeff Walden
c82b79f08f Bug 1424946 - Move GeneralParser::finishFunctionScopes into a baser class. r=arai 2017-12-12 15:20:59 -06:00
Jeff Walden
ab8b5a5759 Bug 1424946 - Move GeneralParser::finishLexicalScope into a baser class. r=arai 2017-12-12 15:20:59 -06:00
Jeff Walden
6fd90e2703 Bug 1424946 - Move GeneralParser::declareDotGeneratorName into a baser class. r=arai 2017-12-12 15:20:58 -06:00
Jeff Walden
7aac997a48 Bug 1424946 - Move various GeneralParser::newName-style functions into a baser class. r=arai 2017-12-12 15:20:58 -06:00
Jeff Walden
811d1f7fd6 Bug 1424946 - Move GeneralParser::declareFunctionThis into a baser class. r=arai 2017-12-12 15:20:58 -06:00
Jeff Walden
8f7b11ac56 Bug 1424946 - Move GeneralParser::hasUsedFunctionSpecialName into a baser class. r=arai 2017-12-12 15:20:58 -06:00
Jeff Walden
51b118a1e0 Bug 1424946 - Move GeneralParser::propagateFreeNamesAndMarkClosedOverBindings into a baser class. r=arai 2017-12-12 15:20:58 -06:00
Jeff Walden
ff6b868305 Bug 1424946 - Move GeneralParser::{note,has}UsedName into a baser class. r=arai 2017-12-12 15:20:57 -06:00
Jeff Walden
0dea96b398 Bug 1424946 - Move GeneralParser::noteDestructuredPositionalFormalParameter into a baser class. r=arai 2017-12-12 15:20:57 -06:00
Jeff Walden
c299536825 Bug 1424946 - Move GeneralParser::trace into a baser class. r=arai 2017-12-12 15:20:57 -06:00
Jeff Walden
96aa0c5462 Bug 1424946 - Move GeneralParser::newFunctionBox into a baser class. r=arai 2017-12-12 15:20:57 -06:00
Jeff Walden
ea7bcff5e6 Bug 1424946 - Move GeneralParser::checkOptions into a baser class. r=arai 2017-12-12 15:20:57 -06:00
Jeff Walden
943869a4b3 Bug 1424946 - Insert a new PerHandlerParser<ParseHandler> class between ParserBase and GeneralParser<ParseHandler, CharT> in the Parser inheritance hierarchy, where handler-centric yet character-agnostic functions may live. r=arai, r=sfink on the JS_HAZ_ROOTED use 2017-12-12 15:20:57 -06:00
James Cheng
a6959f140c Bug 1423069 - Move file into TypedObject. r=jorendorff
MozReview-Commit-ID: 4pNv0ouS9B4
2017-12-04 20:03:00 +02:00
Boris Zbarsky
5ca7c0dda1 Bug 1081385. Give functions created via exportFunction the same .length as the function being exported. r=gabor
MozReview-Commit-ID: 7NVkm2rqfs4
2017-12-14 12:45:35 -05:00
Dorel Luca
110706c3c0 Merge mozilla-inbound to mozilla-central r=merge a=merge 2017-12-14 11:54:15 +02:00
Jan de Mooij
31186e4a2d Bug 1416727 followup - Add try-catch to ignore overrecursion exceptions. r=red 2017-12-13 17:59:44 -06:00
Ted Campbell
8d1869e89a Bug 1393011 - Fix non-debug build of Assembler-arm. r=bustage
MozReview-Commit-ID: 4cHJBEovqaj
2017-12-13 17:42:46 -06:00
69c59d84e2 Bug 1424368: Use an enum value for invalid WasmToken::Kind; r=luke
MozReview-Commit-ID: 8zfpuEMkzLU

--HG--
extra : rebase_source : d0a15c4835c44ec93af7a7617ef9bb87b452013d
2017-12-13 02:41:55 +00:00
Cosmin Sabou
32a573fd90 Backed out 2 changesets (bug 1395933) for build bustages on js/src/jit-test/tests/typedobject/bug-1415313.js r=backout on a CLOSED TREE
Backed out changeset 81228d9e87e5 (bug 1395933)
Backed out changeset 7827a7002f94 (bug 1395933)
2017-12-13 18:05:32 +02:00
Andreas Tolfsen
044df93d69 Bug 1395933 - Expand geckodriver mach command with test and build targets. r=maja_zf,rillian
The current "./mach geckodriver" commands runs the geckodriver
binary, but this patch introduces a geckodriver namespace to mach
and renames that command to "./mach geckodriver run".

It also introduces two new commands to build geckodriver and run
its Rust unit tests through "./mach geckodriver build" and "./mach
geckodriver test", respectively.

MozReview-Commit-ID: 5iO9FVkbch2

--HG--
extra : rebase_source : 6395a65526d48e4af5f63f3b23dd3a52801e03a3
2017-12-08 21:31:08 +00:00
Nathan Froyd
6d4a891a5f Bug 1422859 - move MOZILLA_*VERSION setting into moz.configure; r=chmanchester
This has the virtue of not executing python three times during configure
just to read the same value of milestone.txt and munge it.  We can also
remove milestone.py as a happy side effect, so all the milestone
computations can be done in init.configure.
2017-12-04 11:19:25 -05:00
Nathan Froyd
74128f6578 Bug 1422852 - remove D_INO setting from configure; r=chmanchester
We only had this "for flexibility with other platforms", but given that
we set it to the same thing for all platforms, and nobody has tried to
change that, this flexibility isn't actually needed.
2017-12-04 08:18:00 -05:00
Jon Coppeard
ff4f5d0483 Backed out changesets 115d70e6c818 and 1938afc34193 for memory and performance regressions (bug 1422575) 2017-12-12 16:29:19 -06:00
Tom Schuster
1777bf0017 Bug 1398099 - Specialized HasProp stub for sparse elements. r=jandem 2017-12-12 15:56:13 -06:00
Jan de Mooij
fe79948449 Bug 1412289 - Add a shell function to enable NativeObject::checkShapeConsistency. r=bhackett 2017-12-12 15:40:13 -06:00
Simon Sapin
6c0097b190 Bug 1424664 - Remove heapsize support from js/rust/ r=njn
It has been replaced in Servo with malloc_size_of:
https://github.com/servo/servo/tree/master/components/malloc_size_of

MozReview-Commit-ID: AfTrmnJlRhv

--HG--
extra : rebase_source : a21e7e2316af0e9786c23ea0a32f2ffb33cf3c70
2017-12-11 02:06:28 +01:00
André Bargull
d6d12510a8 Bug 1415882 - Part 3: Update test262 exclusion list. r=evilpie
--HG--
extra : rebase_source : fb6e66f218d375a7ebe99a1932aa98ace80d9a5c
2017-12-12 13:38:27 -06:00
André Bargull
eca2ca9b60 Bug 1415882 - Part 2: Update test262 test files. rs=evilpie
--HG--
rename : js/src/tests/test262/built-ins/RegExp/incomplete_hex_unicode_escape.js => js/src/tests/test262/annexB/built-ins/RegExp/incomplete_hex_unicode_escape.js
extra : rebase_source : d3372a308db2dfd688cbb9373941a1e58dda0157
2017-12-12 13:38:23 -06:00
André Bargull
e164ba21e6 Bug 1415882 - Part 1: Update test262 unsupported features list. r=evilpie
--HG--
extra : rebase_source : 12afd77cf9b5d21f088e9a556f202c4daf14eb25
2017-12-12 13:38:18 -06:00
Ted Campbell
073d46bf5c Bug 1421445 - Insert UD2 instructions after JitCode. r=jandem
Now that the extra padding is removed, we can end up with data
immediately after indirect jumps. For perf reasons, it is recommended to
insert a UD2 instruction in this case to prevent CPU decoding garbage.
This also works around a Valgrind bug where the tool segfaults in a
similar scenario.

MozReview-Commit-ID: ESk41VgKjOW
2017-12-13 17:27:41 -05:00
Ted Campbell
af377924a3 Bug 1421445 - Add NOP-slide before JIT code buffers on AMD Bobcat. r=jandem
In order to try and mitigate crashes on 64-bit FF 57+ on AMD Bobcat
CPUs, insert NOPs before the JIT code buffers. On earlier versions of
these processors, hardware bugs cause crashes to occur in locations
before the JIT code stub. For simplicity, the JitCode* pointer is
shifted even on machines that are unaffected. With the previous patch
fixing over allocation, we end up being size-neutral.

MozReview-Commit-ID: 4LqBfOzv6Qy
2017-12-13 17:27:40 -05:00
Ted Campbell
b971c30b23 Bug 1421445 - Don't waste space allocating jit code buffer. r=jandem
When computing worst-case alignment padding, we don't take into account
the buffer already being partially aligned. This saves one word per
JitCode buffer allocation.

MozReview-Commit-ID: ZMwBzp97xy
2017-12-13 17:27:39 -05:00
Matthew Gaudet
1f93b95bf6 Bug 1420399 - Rename GCRuntime::hasBufferedGrayRoots(). r=pbone
Rename to hasValidGrayRootsBuffer which better matches the semantics of the
call.
2017-12-13 09:49:05 -06:00
Sean Stangl
f73945859d Bug 1393011 - Part 4: Use InstructionIterator instead of manual Instruction->next() calls. r=bbouvier
--HG--
extra : histedit_source : 22184143e737ca800c46f1c5b91ed9dc9f5fce39
2017-12-13 15:57:04 -06:00
Sean Stangl
db486799ac Bug 1393011 - Part 3: Fix a bug where BufferInstructionIterator advances too far. r=nbp
In the case of InstIsGuard(), the BufferInstructionIterator implementation
forgot that the underlying AssemblerBufferInstIterator is based on
BufferOffsets, the incrementation of which skips pools already.

--HG--
extra : histedit_source : c0520c1e7d4ab4a65d4546ee196192f2164c32a3
2017-12-13 15:56:29 -06:00
Sean Stangl
df4406437b Bug 1393011 - Part 2: Fix PatchDataWithValueCheck flushing incorrect ICache locations. r=bbouvier 2017-12-13 15:55:46 -06:00
Sean Stangl
d3722cb0b4 Bug 1393011 - Part 1: Rename skipPool() to maybeSkipAutomaticInstructions(). r=bbouvier
The greater verbosity more accurately describes skipPool()'s behavior.
2017-12-13 15:55:11 -06:00
Gurzau Raul
321347c110 Backed out 22 changesets (bug 1419771) for build bustage build/src/dom/base/FuzzingFunctions.cpp on a CLOSED TREE
Backed out changeset b2b7b46c8ad0 (bug 1419771)
Backed out changeset 0206657d2ea2 (bug 1419771)
Backed out changeset f0f4b98a07b6 (bug 1419771)
Backed out changeset 4b52904694f4 (bug 1419771)
Backed out changeset 9f40cc12d6c6 (bug 1419771)
Backed out changeset f500a61f564c (bug 1419771)
Backed out changeset 0bd9d964df8a (bug 1419771)
Backed out changeset 1397a6bbb446 (bug 1419771)
Backed out changeset 7e77a00fa8b5 (bug 1419771)
Backed out changeset 5f6df771459a (bug 1419771)
Backed out changeset 7624e70b2965 (bug 1419771)
Backed out changeset b9d674bdc723 (bug 1419771)
Backed out changeset 5e44aeda4196 (bug 1419771)
Backed out changeset 601b49f51b41 (bug 1419771)
Backed out changeset d12dc5557982 (bug 1419771)
Backed out changeset 6c863ab2e986 (bug 1419771)
Backed out changeset 0866d79873ab (bug 1419771)
Backed out changeset 8ecc91474621 (bug 1419771)
Backed out changeset 19b14deed8fe (bug 1419771)
Backed out changeset 000c8d5fbc03 (bug 1419771)
Backed out changeset 2e263a2519c5 (bug 1419771)
Backed out changeset b628d9298be8 (bug 1419771)
2017-12-13 23:41:49 +02:00
Jan de Mooij
9a740413a5 Bug 1418966 - Pin TypeScripts better when doing Baseline debug mode OSR. r=bhackett 2017-12-13 14:13:43 -06:00
Andrea Marchesini
6b770adcfa Bug 1419771 - Introduce DOMPreferences, a thread-safe access to preferences for DOM - part 1 - dump enabled, r=asuth 2017-12-13 14:02:44 -06:00
Jan de Mooij
606779ec4e Bug 1416727 - Fix some problems with Baseline's Call IC. r=djvj 2017-12-06 14:18:21 +01:00
Jeff Walden
22fddd8fb3 Bug 1424420 - Adjust AutoAwaitIsKeyword template parameters slightly so a full parser type need not be written out. r=arai
--HG--
extra : rebase_source : 71991d60647fbc7cfa092d81d9a8e073bed25f36
2017-12-12 15:17:52 -06:00
Jeff Walden
159471f578 Bug 1424420 - Change the name of some |Node pn| in function-parsing functions to |Node funcNode|. r=arai
--HG--
extra : rebase_source : f2ab92f370c9481b540d5387a50418114f732399
2017-12-12 15:17:31 -06:00
Jeff Walden
596de35304 Bug 1424420 - Rename Parser to GeneralParser, and move all partially-specialized (by ParseHandler) functions in GeneralParser into a new Parser class inheriting from GeneralParser. This permits these functions to be specialized without having two identical definitions when CharT isn't solely char16_t. r=arai
--HG--
extra : rebase_source : 69d54d9c373742fe1fe30a15e6438a0e0a4173ed
2017-12-08 04:19:23 -06:00
Jeff Walden
a5083c6395 Bug 1424394 - Split TokenStream in Parser across Parser and ParserBase. r=arai
--HG--
extra : rebase_source : 02f9275a69287164a1a6bf15e984ae26a3abeeb8
2017-12-05 23:58:47 -08:00
Lars T Hansen
dd34d2a589 Bug 1423864 - Rabaldr, remove ATOMIC_PTR macro. r=bbouvier
This turns the ATOMIC_PTR macro into a function and merges the
prepareMemoryAccess() call into that function, for a nice net cleanup
+ movement of platform code.

(This would be even prettier with C++14 automatic return type
deduction but that is a "not yet" feature.)

MozReview-Commit-ID: JwWOQIli5sS

--HG--
extra : rebase_source : 2bb52ba983455c7a1cef0fa47303e73b1f2704a9
2017-12-07 12:08:24 +01:00
Lars T Hansen
ab728154ab Bug 1420158 - rabaldr, rename register variables. rs=bbouvier
MozReview-Commit-ID: 32oW3SpdRjN

--HG--
extra : rebase_source : a80a13ef80eb22fcfef47636cf4b4bc7ade742fd
2017-12-08 16:59:09 +01:00
Lars T Hansen
7cf5906e74 Bug 1420158 - rabaldr register targeting, Create RAII wrappers for atomic ops regalloc/targeting. r=bbouvier
With one exception this removes all platform ifdefs from the high
level of the atomics code generators by moving the register targeting
into RAII wrappers.  These wrappers are placed in the new section of
the file, introduced by the previous patch.  These wrappers also get
rid of several of the needWhateverTemp() functions because they are
rolled into the RAII wrappers.

The exception is 64-bit atomic ops on x86: here, we are always starved
for registers and must use slightly different APIs, but most of the
code is common and there's a clear pattern at work, so I don't think
this is bad.

Each wrapper carries a method implementing the operation that the
wrapper is for, and calls lower-level code to implement the operation
with appropriate arguments.  Thus details of the wrapper are hidden,
and there's minimal risk of abuse or accident.

MozReview-Commit-ID: HeqgqrImxms

--HG--
extra : rebase_source : 73c743bca17dc365e816c64cc2c609dcc3912e09
2017-12-04 14:52:58 +01:00
Lars T Hansen
8220260561 Bug 1420158 - rabaldr register targeting, Cleanup: move code and rename. r=bbouvier
This creates a new section in the file that sits between the low-level
code generators (above) and the high-level logic and value stack
manipulation (below).  The intent is that this section will contain
platform-specific helpers for register targeting when we pop the value
stack.

As explained in a new comment in the code, there are two types of
helpers: simple popXForY methods, of which we've had many; and RAII
wrappers.  I've moved the existing popXForY methods into this
section in this patch; the next patch introduces a number of RAII
wrappers.

MozReview-Commit-ID: Fq6TqgsFOkL

--HG--
extra : rebase_source : bd35fe8a835196bb115153042dc73074e788acfc
2017-12-04 13:01:48 +01:00