Commit graph

28 commits

Author SHA1 Message Date
Gaming4JC
e5f1edc00c 420857 - Part 1: Report the position of opening brace for missing brace error in function body. 2019-07-22 19:51:58 +08:00
Gaming4JC
b9409d8774 1357506 - Remove assert that constructorBox can only be set once when parsing classes.
Both asm.js and syntax parsing can abort and rewind parsing of an inner function.
The bookkeeping to make sure that a class's constructor FunctionBox is only set once is not worth it -- duplicate constructor definitions already throw an early error.
2019-07-22 19:51:53 +08:00
Gaming4JC
6d7cc2b0ab 1359622 - Fix assert for calling Function.toString on class constructors when the compartment has had source discarded. 2019-07-22 19:51:50 +08:00
Gaming4JC
482fc16376 1340148 - Disallow function redeclarations at module top level. 2019-07-22 19:51:35 +08:00
Gaming4JC
006b0f5d17 104442 - Part 1: Report the position and the kind of previous declaration for redeclaration error. 2019-07-22 19:51:20 +08:00
Gaming4JC
9b7c6181e6 1339963 - Part 3: Check IdentifierName in ExportClause without from. 2019-07-22 19:51:15 +08:00
Gaming4JC
c1f6b0ff36 1336783 - Part 1: Rework on reserved word and remove TokenStream::KeywordIsName. 2019-07-22 19:50:44 +08:00
Gaming4JC
337cdbd0ce 1333143 - Self-host Object.prototype.valueOf. 2019-07-22 19:47:12 +08:00
Gaming4JC
2391e18681 903389 - Fix uses of ClassMethodIsNative. 2019-07-22 19:47:04 +08:00
Gaming4JC
8350dfc515 1317374 - Don't do Annex B lexical function behavior when redeclaring a parameter name. 2019-07-22 19:46:55 +08:00
wolfbeast
30b5b0a6da Remove unboxed object tests. 2019-06-28 20:11:15 +08:00
Tooru Fujisawa
5676f63f41 Stage 1-4: Update tests 2019-04-13 07:00:27 +08:00
wolfbeast
f592b614d0 Improve graph edge resolution code.
This is a follow-up to ca7ecd37c94e268972697a37eec4e46771c6e6f2 further improving the DiD resolution for CVE-2018-12386.
2019-02-16 00:16:16 +08:00
janekptacijarabaci
78ce3bf8ff Bug 1317397: Only set lastIndex for global or sticky RegExps in RegExpBuiltinExec per ES2017 2019-02-15 23:39:39 +08:00
janekptacijarabaci
ac07311b18 Bug 1357075 - Pad a nop to unwind to the scope just before a destructuring iterator close trynote
Issue #74
2019-02-15 23:39:34 +08:00
janekptacijarabaci
444483bf81 Bug 1342553, Bug 1343072, Bug 1344753 (details in the description)
Bug 1342553 - Part 0.1: Use try-catch for IteratorClose in for-of
Bug 1343072 - Update HasLiveStackValueAtDepth to follow the change in
JSTRY_FOR_OF
Bug 1344753 - Update for-of stack depth in
ControlFlowGenerator::processWhileOrForInLoop

Issue #74
2019-02-15 23:39:29 +08:00
janekptacijarabaci
b0960bf497 Bug 1334314 - Fix debug mode OSR exception handling for IteratorClose trynotes
Issue #74
2019-02-15 23:39:27 +08:00
janekptacijarabaci
b8eb17e022 Bug 1341339 - Check for duplicates in processIterators
Issue #74
2019-02-15 23:39:24 +08:00
janekptacijarabaci
ea58c0c344 Bug 1335996 - Make test for bug 1333946 more reliable
Issue #74
2019-02-15 23:39:21 +08:00
janekptacijarabaci
b2e86b0087 Bug 1333946 - Make IonBuilder::processIterators transitive
Issue #74
2019-02-15 23:39:20 +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
f9950a2c9c Part 4: Fix existing tests
Issue #87
2019-02-15 23:38:48 +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
0e7a16c088 Bug 755821: Function() should use the parser's argument parsing code 2019-02-15 23:38:10 +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
wolfbeast
c9717cf3d1 Add rematerialized frames to the table on JitActivation after rematerialization succeeds. 2019-02-15 23:30:07 +08:00
wolfbeast
a8821a2177 Remove VerifyBarriers() and MaybeVerifyBarriers() stubs and callers. 2019-02-14 14:38:04 +08:00
Roy Tam
dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00