Commit Graph

70406 Commits

Author SHA1 Message Date
Jan de Mooij
6dab6dad9c Bug 1541404 part 8 - Add ICEntry::isForPrologue and use it instead of ICEntry::isForOp. r=tcampbell
Depends on D26677

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

--HG--
extra : moz-landing-system : lando
2019-04-10 16:28:07 +00:00
Jan de Mooij
1fdaa3ca31 Bug 1541404 part 7 - Implement ICScript::interpreterICEntryFromPCOffset and BaselineFrame::setInterpreterPC. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D26677

--HG--
extra : moz-landing-system : lando
2019-04-10 14:15:55 +00:00
Jan de Mooij
1dcde6d700 Bug 1541404 part 6 - Move the isForOp check into ComputeBinarySearchMid to simplify maybeICEntryFromPCOffset and improve perf a bit. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D26676

--HG--
extra : moz-landing-system : lando
2019-04-10 13:47:17 +00:00
Jan de Mooij
7cd158c097 Bug 1541404 part 5 - Unshare ComputeBinarySearchMid for ICEntries and RetAddrEntries. r=tcampbell
The next patches want to make some changes to the ICEntries version. The
simplest way to do that is by removing the abstraction.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 13:47:08 +00:00
Jan de Mooij
409be1d23c Bug 1541404 part 4 - Fix JSOP_GOSUB resume offset to point to the jump target op instead of the op after it. r=tcampbell
This fixes issues with try-finally in the interpreter.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 13:46:50 +00:00
Jan de Mooij
09bf26b10d Bug 1541404 part 3 - Store offset of the code after the warm-up check in BaselineScript. r=tcampbell
This lets us OSR from Baseline Interpreter => Baseline Compiler code in the
prologue.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 13:46:46 +00:00
Jan de Mooij
00342e8d42 Bug 1541404 part 2 - Fix some issues with bytecode pc lookup for interpreter frames. r=tcampbell
Also simplifies GetPcScript a bit by using an early return instead of a nullptr
retAddr.

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

--HG--
extra : moz-landing-system : lando
2019-04-11 06:53:27 +00:00
Daniel Varga
fc6614312a Merge mozilla-central to autoland. a=merge 2019-04-11 07:25:42 +03:00
Daniel Varga
2f4a6dc373 Merge autoland to mozilla-central. a=merge 2019-04-11 07:21:46 +03:00
Jason Orendorff
66abf246a3 Bug 1539821 - Part 7: Remove ModifierException. r=jwalden
This renames addModifierException -> allowGettingNextTokenWithAllowRegExp. The
new name is clunky, but the code is simpler.

Adding DoNotWant mode in condExpr() and classMember() is both what we actually
meant all along and necessary. It is necessary because the new assertion scheme
is actually pickier; calling matchToken with AllowDiv when we already called
allowGettingNextTokenWithAllowRegExp now flunks the assertion.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 16:04:37 +00:00
Jason Orendorff
bf6656071f Bug 1539821 - Part 6: Remove ModifierExceptions for propertyName(). r=jwalden
propertyName() has three callers, corresponding to ObjectLiteral,
ObjectBindingPattern, and ClassDeclaration. In each case the next token must be
neither Div nor RegExp.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 14:42:53 +00:00
Jason Orendorff
1f188a0552 Bug 1539821 - Part 5: Remove modifier exceptions rendered unnecessary by using SlashIsInvalid mode in mustMatchToken(). r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D25820

--HG--
extra : moz-landing-system : lando
2019-04-10 14:42:41 +00:00
Jason Orendorff
69cc9e3263 Bug 1539821 - Part 4: Use Modifier::SlashIsInvalid in mustMatchToken(). r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D25312

--HG--
extra : moz-landing-system : lando
2019-04-10 14:42:31 +00:00
Jason Orendorff
2286e06bc8 Bug 1539821 - Part 3: Add Modifier::SlashIsInvalid. r=jwalden
This helps us get rid of several uses of addModifierException, as the next few
patches show. It will also be used to implement ASI for fields. (In most
contexts, the next token after a missing semicolon needs to be scanned in
SlashIsRegExp mode. In a ClassBody it's different; the next token must be
neither Div nor RegExp in a syntactically valid program.)

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

--HG--
extra : moz-landing-system : lando
2019-04-10 17:10:46 +00:00
Jason Orendorff
e98747efe8 Bug 1539821 - Part 2: Rename TokenStream::Operand -> SlashIsRegExp and TokenStream::None -> SlashIsDiv. r=jwalden
Also renames ModifierException::OperandIsNone -> SlashIsRegExpOK, although it
doesn't matter too much, as its days are numbered.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 14:42:21 +00:00
Jason Orendorff
895c906bcf Bug 1539821 - Part 1: Delete ModifierException::NoneIsOperand. r=jwalden
It turns out to be vestigial. The comment being deleted here says,
"Comma/semicolon cases are also gotten as operators (None)", but this is no
longer true. Both are scanned as Operand now; and so are RightCurly,
RightParen, and the various other tokens listed in yieldExpression(), for which
an exception was once necessary.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 14:42:17 +00:00
Daniel Varga
bf215dbbd8 Merge mozilla-central to autoland. a=merge on a CLOSED TREE
--HG--
extra : rebase_source : 33d0709730d68206491b4facb0645c798ff943e3
2019-04-11 00:59:25 +03:00
Daniel Varga
d0d4b7058d Merge mozilla-inbound to mozilla-central. a=merge 2019-04-11 00:54:55 +03:00
Chris Martin
17eea3b777 Bug 1052579 - Move StringBuffer::finishString() and update all usage sites r=sfink
Any code that calls StringBuffer::finishString() is creating a
JSFlatString from a StringBuffer's backing buffer. That backing buffer should
always be allocated on the new String Arena heap.

This new class will ensure that this behavior is statically enforced by the
compiler.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 16:42:17 +00:00
Boris Zbarsky
46f7cb3617 Bug 1542461. Flag realms of windows as dead once we unlink their nsGlobalWindowInner, so debugger's findAllGlobals won't hand them out to script. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D26563

--HG--
extra : moz-landing-system : lando
2019-04-09 10:21:37 +00:00
Paul Bone
2cd0ae2f1e Bug 1540670 - I forgot to "hg add" the new test case r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D26846

--HG--
extra : moz-landing-system : lando
2019-04-11 00:59:41 +00:00
Dorel Luca
9db4a23f54 Backed out changeset 3add6d625683 (bug 1538465) for Spidermonkey failure. CLOSED TREE 2019-04-11 04:03:00 +03:00
Jason Orendorff
367e177143 Bug 1543420 - Ban SlashIsInvalid followed by SlashIsDiv. r=arai
With this change, the use of SlashIsInvalid at the top of
GeneralParser<>::classMember obliges us to use the same modifier when getting
the same token later (in both classMember and propertyName).

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

--HG--
extra : moz-landing-system : lando
2019-04-10 16:24:38 +00:00
Christian Holler
fbc8ac2fd2 Bug 1538465 - WebAssembly Fuzzing Target. r=bbouvier
Differential Revision: https://phabricator.services.mozilla.com/D25919

--HG--
extra : moz-landing-system : lando
2019-04-10 17:15:20 +00:00
Steve Fink
547a99ec14 Bug 1543208 - Prevent GC from seeing uninitialized well-known symbols r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D26841

--HG--
extra : moz-landing-system : lando
2019-04-10 17:09:50 +00:00
Ashley Hauck
6b789e8486 Bug 1543472 - Make align_stack_comment.py take multiple arguments. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D26965

--HG--
extra : moz-landing-system : lando
2019-04-10 20:20:40 +00:00
Ted Campbell
dfc3b44cba Bug 1406146 - Fix cross-compartment global issue in typedarary test. r=jandem
This is an artifact of the same-compartment realm changes. The test
confuses CCWs and WindowProxies.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 12:50:05 +00:00
Ted Campbell
2ee71c3cf5 Bug 1406146 - Add jsshell test for WindowProxy ICs. r=jandem
Depends on D26837

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

--HG--
extra : moz-landing-system : lando
2019-04-10 12:50:03 +00:00
Ted Campbell
83cb99ad0c Bug 1406146 - Support a simple WindowProxy in the jsshell. r=jandem
This adds an option to the 'newGlobal' shell command to create globals
that have a simple WindowProxy. This is intended for testing code that
distinguishes between GlobalObject and WindowProxy. No typical window
behavior such as navigation will be supported.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 13:11:57 +00:00
Ted Campbell
4bf5aa5e5a Bug 1406146 - Fix handling of WindowProxy in jsshell testing functions. r=jandem
This patch fixes a few cases in testing functions that do not correctly
handling WindowProxy wrappers. This mostly involves passing the
stopAtWindowProxy=false argument to unwrap functions.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 08:30:10 +00:00
Jan de Mooij
94663b0582 Bug 1543166 - Add missing null check in IonBuilder::computeHeapType. r=tcampbell
getObject can return nullptr when the TypeSet uses a TypeHashSet for the objects.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 12:47:55 +00:00
Bogdan Tara
bced020051 Backed out 11 changesets (bug 1535994) for BytecodeEmitter.cpp related build bustages CLOSED TREE
Backed out changeset d5975f907521 (bug 1535994)
Backed out changeset e56d1810fb40 (bug 1535994)
Backed out changeset fdd1177e499a (bug 1535994)
Backed out changeset db520471b407 (bug 1535994)
Backed out changeset 096ab8585046 (bug 1535994)
Backed out changeset 8a480b0bbd05 (bug 1535994)
Backed out changeset 7c763b9a2118 (bug 1535994)
Backed out changeset 4f5084424c22 (bug 1535994)
Backed out changeset ee3359178d5f (bug 1535994)
Backed out changeset b77efa8567a2 (bug 1535994)
Backed out changeset 384cdd1ee833 (bug 1535994)
2019-04-10 12:30:10 +03:00
Tooru Fujisawa
93908a1360 Bug 1535994 - Part 11: Move line/colum information to BytecodeSection class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25741

--HG--
extra : moz-landing-system : lando
2019-04-10 08:28:11 +00:00
Tooru Fujisawa
2c69a3881e Bug 1535994 - Part 10: Move JIT information to BytecodeSection class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25740

--HG--
extra : moz-landing-system : lando
2019-04-10 08:27:54 +00:00
Tooru Fujisawa
0570fbaaf8 Bug 1535994 - Part 9: Move atomIndices to PerScriptData class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25739

--HG--
extra : moz-landing-system : lando
2019-04-10 08:27:36 +00:00
Tooru Fujisawa
dca9d06d36 Bug 1535994 - Part 8: Move resume/yield info to BytecodeSection class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25738

--HG--
extra : moz-landing-system : lando
2019-04-10 08:27:23 +00:00
Tooru Fujisawa
27e12a79ac Bug 1535994 - Part 7: Move object and number to PerScriptData class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25737

--HG--
extra : moz-landing-system : lando
2019-04-10 08:27:02 +00:00
Tooru Fujisawa
4901f28c52 Bug 1535994 - Part 6: Move scope to BytecodeSection class and PerScriptData class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25736

--HG--
extra : moz-landing-system : lando
2019-04-10 08:26:54 +00:00
Tooru Fujisawa
bd61392a93 Bug 1535994 - Part 5: Move tryNodeList to BytecodeSection class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25735

--HG--
extra : moz-landing-system : lando
2019-04-10 08:26:52 +00:00
Tooru Fujisawa
9a7b29f0cf Bug 1535994 - Part 4: Move stackDepth to BytecodeSection class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25734

--HG--
extra : moz-landing-system : lando
2019-04-10 08:26:50 +00:00
Tooru Fujisawa
ab72ae8652 Bug 1535994 - Part 3: Move lastTarget to BytecodeSection class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25733

--HG--
extra : moz-landing-system : lando
2019-04-10 08:26:48 +00:00
Tooru Fujisawa
eb7d2f5c66 Bug 1535994 - Part 2: Move source notes to BytecodeSection class. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25732

--HG--
extra : moz-landing-system : lando
2019-04-10 08:25:28 +00:00
Tooru Fujisawa
714d50e4cf Bug 1535994 - Part 1: Add BytecodeSection class with BytecodeVector. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D25731

--HG--
extra : moz-landing-system : lando
2019-04-10 08:25:10 +00:00
Ted Campbell
0d70efd9b7 Bug 1543230 - Move JSScript::warmUpResetCount into MutableFlags r=nbp
This data is only needed for testing but is currently messing with the
structure packing. This reduces the size of the field and packs it into
free space saving one word per script on certain platforms.

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

--HG--
extra : moz-landing-system : lando
2019-04-10 16:12:37 +00:00
Jeff Walden
c0cfe6280c Bug 1506902 - Change JS::EvaluateUtf8 to directly compile the provided UTF-8 data, without inflating through UTF-16. r=jandem
--HG--
extra : rebase_source : 6a4d99ce983776faa1a486b9e2805412f876ce0e
2019-04-02 14:10:10 -07:00
Narcis Beleuzu
065ab21012 Merge inbound to mozilla-central. a=merge 2019-04-10 01:09:36 +03:00
Sebastian Hengst
139fa2a952 Bug 1543034 - ifdef traceMagic to avoid warning about unused variable. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D26766

--HG--
extra : moz-landing-system : lando
2019-04-09 17:36:41 +00:00
Jeff Walden
c904278324 Bug 1542910 - Make all script compilation APIs directly return a JSScript*, rather than returning a success code and returning the JSScript* via outparam that exactly duplicates the success code value's meaning. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D26616

--HG--
extra : moz-landing-system : lando
2019-04-09 17:58:52 +00:00
Brindusan Cristian
149c6ee879 Backed out changeset 53e379a5738f (bug 1542910) as requested by waldo on irc. CLOSED TREE
--HG--
extra : histedit_source : 8714b8dac07c146822952ede6a8d85b3bf4caf50
2019-04-09 20:43:52 +03:00
Jeff Walden
9f030a47c2 Bug 1542910 - Make all script compilation APIs directly return a JSScript*, rather than returning a success code and returning the JSScript* via outparam that exactly duplicates the success code value's meaning. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D26616

--HG--
extra : moz-landing-system : lando
2019-04-09 17:24:31 +00:00