Commit graph

142 commits

Author SHA1 Message Date
janekptacijarabaci
3bd6ad26e7 Bug 1322069 - Add TryEmitter
Issue #74
2019-02-15 23:39:18 +08:00
janekptacijarabaci
62a9d049ec Bug 1334799 - Handle stack value in correct order when leaving for-of loop from finally block
Issue #74
2019-02-15 23:39:17 +08:00
janekptacijarabaci
ad8ad6e109 Bug 1332881 - Handle stack value in correct order when leaving loop and try-finally
Issue #74
2019-02-15 23:39:15 +08:00
janekptacijarabaci
da23a493b7 Bug 1332155 - Skip non-try-related trynotes when asserting jump targets
Issue #74
2019-02-15 23:39:13 +08:00
janekptacijarabaci
082451c781 Bug 1331444 - Keep iterators alive in Ion in for-of loops for IteratorClose due to exceptions
Issue #74
2019-02-15 23:39:12 +08:00
janekptacijarabaci
66bbc277f5 Bug 1147371: Always decompile argument names in self-hosted code in the caller frame
Issue #74
2019-02-15 23:39:10 +08:00
janekptacijarabaci
0f625eb5bd Bug 1147371: Implement JSOP_PICK and JSOP_UNPICK in the expression decompiler
Issue #74
2019-02-15 23:39:09 +08:00
janekptacijarabaci
95390009cc Bug 1147371: Implement calling IteratorClose and "return" on iterators in yield*
Issue #74
2019-02-15 23:39:07 +08:00
janekptacijarabaci
d36d40760a Bug 1147371: Implement IteratorClose for array destructuring
Issue #74
2019-02-15 23:39:05 +08:00
janekptacijarabaci
aa954171ae Bug 1147371: Convert self-hosted code that need to call IteratorClose to use for-of
Issue #74
2019-02-15 23:39:03 +08:00
janekptacijarabaci
10ee43a416 Bug 1147371: Rename allowContentSpread to allowContentIter
Issue #74
2019-02-15 23:39:02 +08:00
janekptacijarabaci
5f3e5dc3fb Bug 1147371: Implement IteratorClose for for-of
Issue #74
2019-02-15 23:39:00 +08:00
janekptacijarabaci
2f27d8433c Bug 1204028: Evaluate LHS reference before RHS in destructuring
Issue #73
[Depends on] Bug 1147371: Implement IteratorClose
2019-02-15 23:38:57 +08:00
janekptacijarabaci
078b9f3edc Bug 1322314 - Do not emit ParseNode twice in BytecodeEmitter::emitDestructuringOpsArray
Issue #73
[Depends on] Bug 1147371: Implement IteratorClose
2019-02-15 23:38:56 +08:00
janekptacijarabaci
4d3e61136f Bug 1322314 - Disallow emitting ParseNode twice
Issue #73
[Depends on] Bug 1147371: Implement IteratorClose
2019-02-15 23:38:54 +08:00
janekptacijarabaci
1fd083e81c Follow up: A opening bracket { was added; Added "function()->explicitName()" instead of "function()->name()"
Issue #78
2019-02-15 23:38:53 +08:00
janekptacijarabaci
f9950a2c9c Part 4: Fix existing tests
Issue #87
2019-02-15 23:38:48 +08:00
janekptacijarabaci
7bfe087f0c Part 3: Support JSOP_SETFUNNAME in Baseline and Ion
Issue #87
2019-02-15 23:38:47 +08:00
janekptacijarabaci
34fe54e4e8 Part 2: Call NameFunctions after emitting
Issue #78
2019-02-15 23:38:45 +08:00
janekptacijarabaci
748c69d7fd Part 1: Implement ES6 function name property semantics
Issue #78
2019-02-15 23:38:44 +08:00
janekptacijarabaci
3b34f87a5b Bug 1317309: Throw a TypeError when passing a Symbol value to ToAtom
Issue #78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2019-02-15 23:38:42 +08:00
janekptacijarabaci
3b1c3ec605 Bug 1320042: Rename BytecodeEmitter::emitConditionallyExecuted{SOMETHING} to BytecodeEmitter::emit{SOMETHING}InBranch
Issue #78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2019-02-15 23:38:40 +08:00
janekptacijarabaci
e7ee7caf1e Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScript
Issue #78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2019-02-15 23:38:38 +08:00
janekptacijarabaci
d3ffa46e36 Update RegExp Xray code
Issue #77
2019-02-15 23:38:37 +08:00
janekptacijarabaci
e671c0357b Tests
Issue #77
2019-02-15 23:38:34 +08:00
janekptacijarabaci
d275a63a71 Use ordinary object for RegExp prototype
Issue #77
2019-02-15 23:38:32 +08:00
janekptacijarabaci
49ce6a7928 Bug 1323868: Report object allocation failure when running off-main-thread
Issue #77
[Depends on] Bug 1192038: RegExp.prototype should be an ordinary object
2019-02-15 23:38:31 +08:00
janekptacijarabaci
09ace5ee98 Add TI for error properties assigned by the initial shape (follow up) 2019-02-15 23:38:28 +08:00
janekptacijarabaci
d3df9b7b8b Bug 1320198: Land additional Error prototype test 2019-02-15 23:38:26 +08:00
janekptacijarabaci
b31e40926e Bug 1319952: Assertion failure: isNurseryAllocAllowed(), at js/src/gc/Allocator.cpp:79 2019-02-15 23:38:25 +08:00
janekptacijarabaci
74e5882176 Tests 2019-02-15 23:38:23 +08:00
janekptacijarabaci
38fabf8122 Add TI for error properties assigned by the initial shape 2019-02-15 23:38:22 +08:00
janekptacijarabaci
dd09fc2495 Simplify Error Xray code 2019-02-15 23:38:20 +08:00
janekptacijarabaci
4fad420bb8 Handle the now ordinary error prototype object in stack 2019-02-15 23:38:19 +08:00
janekptacijarabaci
105cbadae7 Use ordinary objects for Error prototypes 2019-02-15 23:38:17 +08:00
janekptacijarabaci
231685e644 Remove strict arguments poison pill for "caller" property per ES2017 2019-02-15 23:38:14 +08:00
janekptacijarabaci
04e171e0a4 Correctly tokenize valid JS names when using Unicode mathematical alphanumeric symbols as variable name
Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1647
2019-02-15 23:38:13 +08:00
janekptacijarabaci
0e7a16c088 Bug 755821: Function() should use the parser's argument parsing code 2019-02-15 23:38:10 +08:00
janekptacijarabaci
e7fdd26fde Bug 1318017: Call GetPrototypeFromConstructor for generator/async function and Intl constructors
[Depends on] Bug 755821: Function() should use the parser's argument
parsing code
2019-02-15 23:38:09 +08:00
wolfbeast
04caaa6539 Handle same-compartment wrappers in TypedArray methods.
CallTypedArrayMethodIfWrapped (and the CallNonGeneric machinery throughout the
engine) unwraps the `this` argument, but the other arguments are only rewrapped
for the target compartment.

The pattern being used before this patch to get the length of a TypedArray or
possible TypedArray wrapper is:
`callFunction(CallTypedArrayMethodIfWrapped, O, O, "TypedArrayLength")`
The first `O` is the `this` value and the second is an argument. If `O` is a
cross-compartment wrapper, this works fine. The first `O` is unwrapped, revealing
the actual TypedArray object; the second `O` is rewrapped for that TypedArray's
compartment, producing the same TypedArray.
However, if `O` is a same-compartment wrapper, this doesn't work. The first `O` is
unwrapped, revealing the actual TypedArray object in the same compartment;
rewrapping the other `O` does nothing to it, since it is already an object in the
target compartment. Thus TypedArrayLength receives a `this` value that's an
unwrapped TypedArray, but an argument that is still a wrapper.

The fix is to have CallTypedArrayMethodIfWrapped targets only expect `this`
to be an unwrapped TypedArray.
2019-02-15 23:37:58 +08:00
janekptacijarabaci
4cb956bb3b Close iterator after error in Promise.{all,race}
Issue #17
2019-02-15 23:37:49 +08:00
janekptacijarabaci
93ffbd46a9 Close iterator after error in Array.from
Issue #17
2019-02-15 23:37:47 +08:00
janekptacijarabaci
a32ecd025a Close iterator after error in {Map,Set,WeakMap,WeakSet} constructors
Issue #17
2019-02-15 23:37:46 +08:00
NTD
3271333633 Fix mozbuild looking for .cargo 2019-02-15 23:37:44 +08:00
Steve Fink
1baa793518 Bug 1434384 - Mark v1 structured clone data as cross-process. r=jorendorff, a=RyanVM
--HG--
extra : source : d85679eb427513cb18650f3d4e7d37a6ccbefbab
extra : intermediate-source : 5c286cc709dfcaca7269b88516e6f71626c98496
2019-02-15 23:37:36 +08:00
Jan de Mooij
514c90e37c Bug 1437450 - Disable Ion no-clone optimization for regexps if the graph contains try blocks. r=nbp, a=RyanVM
--HG--
extra : source : 61b461277369e0cec89c79d8526a82c575818e94
extra : intermediate-source : 806696d494300c8c09ad2c0c3141194b5418a706
extra : histedit_source : e38bbe5c22bace744f6da0b8ff39462b64fe5a95
2019-02-15 23:37:30 +08:00
Tom Ritter
c66f2e1613 Bug 1430173 - Reduce the precision of all explicit clocks to 2ms. r=baku, a=RyanVM
Backport to ESR where we don't have the ResistFingerprinting component.

MozReview-Commit-ID: 9bjycHjR3SF

--HG--
extra : transplant_source : %EA%03%21%0A%E9%3F%8E%CD%7C%D79f%96%85%96%00%5D%7F%95X
2019-02-15 23:37:19 +08:00
Brian Hackett
95d507d246 Bug 1437507 - Fix JSObject::setFlags to call ensureShape before checking for dictionary mode. r=jandem, a=RyanVM
--HG--
extra : source : ca6b74831ec3db204e024b07f200b0d1ce93557e
extra : intermediate-source : 9d7c295d9570e294851908465f56ec0779547d2a
2019-02-15 23:37:14 +08:00
André Bargull
1367ec69cb Bug 1430761 - Update tzdata in ICU data files to 2018c. r=Waldo, a=lizzard
--HG--
extra : rebase_source : cb9ac8a678b6f565091f6d7733b6cd86afde0da7
2019-02-15 23:36:56 +08:00
janekptacijarabaci
54566f2d9f JS - RegExp - match updated spec for /\b/iu and /\B/iu 2019-02-15 23:36:30 +08:00