Commit graph

26 commits

Author SHA1 Message Date
wolfbeast
cdfd0e29e7 Improve efficiency of (C++) heap allocations related to
BytecodeEmitter::code.

While there, also add some sanity checks and clean up code.
2019-05-31 07:21:48 +08:00
wolfbeast
0c3fb437a9 Rename TokenStream::reportStrictWarningErrorNumberVA to
TokenStream::reportExtraWarningErrorNumberVA for clarity.

Emit Extra Warnings instead of Strict Warnings from the BCE where
it makes sense.
2019-04-13 07:02:02 +08:00
wolfbeast
e9ffb69b02 Split Parser::report into Parser::zeport (a temporary name) that uses
the current offset, and Parser::reportWithNode that derives it from a
Node.
2019-04-13 07:01:10 +08:00
wolfbeast
b68de773fd Stage 1-1: Implement Function.prototype.toString revision proposal.
Tag #960
2019-04-13 07:00:18 +08:00
trav90
4cbf54089a Convert the trailing array of BindingNames at the end of the various kinds of scope data into raw unsigned chars into which those BindingNames are placement-new'd, rather than memcpy-ing non-trivial classes around and failing to comply with the C++ object model 2019-02-16 00:12:57 +08:00
janekptacijarabaci
76b099abb2 Bug 1360839 - Call IteratorClose due to abrupt completion from yield
Issue #74
2019-02-15 23:39:36 +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
8af5664922 Bug 1346862 - Fix IteratorClose due to non-local jumps being catchable by try statements inside for-of
Issue #74
2019-02-15 23:39:32 +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
24ea151662 Bug 1338796 - Do not call iterator.return if iterator.throw is present in yield*
Issue #74
2019-02-15 23:39:23 +08:00
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
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
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
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
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
Roy Tam
dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00