Commit graph

46 commits

Author SHA1 Message Date
Gaming4JC
c9f1fa2cda Bug 1316098 - Optimize out result object allocation for await/return in async function.
Tag #1287
2019-12-18 09:16:01 +08:00
janekptacijarabaci
67f5e5d20c Bug 1341298 - Relax expected module state when resolving modules and circular module dependencies are present 2019-11-11 21:57:58 +08:00
janekptacijarabaci
39a2b217b7 Bug 1341411 - Support circular module dependencies through export* per ES2017 2019-11-11 21:57:55 +08:00
janekptacijarabaci
eaf8fcd215 Bug 1341256 - Fix module namespace object get handler 2019-11-11 21:57:50 +08:00
janekptacijarabaci
e82ffc59bb Bug 1326453 - Part 5: Remove no longer used ListIterator implementation 2019-11-11 21:57:42 +08:00
janekptacijarabaci
184438aa10 Bug 1326453 - Part 4: Return @@toStringTag in [[OwnPropertyKeys]] trap for module namespace objects 2019-11-11 21:55:13 +08:00
janekptacijarabaci
50765b944e Bug 1326453 - Part 3: Don't throw a TypeError when SetPrototypeOf for module namespace objects is called with null 2019-11-11 21:55:10 +08:00
janekptacijarabaci
307c8cb570 Bug 1326453 - Part 2: Change @@toStringTag for module namespace objects to non-configurable 2019-11-11 21:55:08 +08:00
janekptacijarabaci
99f20bdc22 Bug 1326453 - Part 1: Remove @@iterator method from module namespace objects per ES2017 2019-11-11 21:55:05 +08:00
janekptacijarabaci
db68ce927e Bug 1320993 - Fix exporting default class expression 2019-11-11 21:48:39 +08:00
athenian200
7de03715a5 MoonchildProductions#1251 - Part 9: Look for hypot in the math library (libm).
https://bugzilla.mozilla.org/show_bug.cgi?id=1351309
https://bugzilla.mozilla.org/show_bug.cgi?id=1309157

I assess this change to be low-risk for the following reasons:

1. It has been in Firefox since version 55 without issues.

2. It's nearly identical to the fix for bug 1309157 which is already in our tree, so that one would be causing problems if this one were going to.

3. Linux, Windows, and BSD are known to have a hypot function in their math libraries.

4. Even if it does break something, it should only break a test and not critical functionality.
2019-11-04 11:52:26 +08:00
wolfbeast
3d8d9f95df Issue #1257 - Part 3: Remove/update tests.
This removes a ton of tests that are no longer relevant with (un)watch
removed (e.g. testing stability/bugs in the watchpoint system itself
which has never been the most stable), and updates others that would
previously rely on watch/unwatch, so that they don't unexpectedly fail.
2019-11-01 10:25:02 +08:00
Gaming4JC
61235c7be1 1344334 - Make DoTypeUpdateFallback infallible. 2019-07-22 19:52:54 +08:00
Gaming4JC
3c9c84e2ac 1339395 - Part 8: Add separate variables for wasm debugger test. 2019-07-22 19:52:50 +08:00
Gaming4JC
f6b2c1d485 1339395 - Part 6: Update jit-tests now that object rest/spread properties are a thing. 2019-07-22 19:52:44 +08:00
Gaming4JC
d965d685b5 420857 - Part 4: Report the position of opening bracket for missing bracket error in array literal. 2019-07-22 19:52:08 +08:00
Gaming4JC
f1f51320fb 420857 - Part 3: Report the position of opening brace for missing brace error in object literal. 2019-07-22 19:52:05 +08:00
Gaming4JC
fce1adbcd7 420857 - Part 2: Report the position of opening brace for missing brace error in block. 2019-07-22 19:52:02 +08:00
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