Gaming4JC
ab85510c20
1216630 - Rename preludeStart and postludeEnd to toStringStart and toStringEnd and misc fixes.
2019-07-22 19:51:41 +08:00
Gaming4JC
f79ee2fd83
1216630 - Print class source when calling toString on the constructor.
...
This is accomplished in the following ways.
LazyScripts and JSScripts now have 4 offsets:
- Source begin and end for the actual source. This is used for lazy parsing.
- toString begin and end for toString. Some kinds of functions, like async, only have a different begin offset. Class constructors have different offsets for both begin and end.
For syntactically present (i.e. non-default) constructors, the class source span is remembered directly on the LazyScript or JSScript. The toString implementation then splices out the substring directly. For default constructors, a new SRC_CLASS SrcNote type is added. It's binary and has as its arguments the begin and end offsets of the class expression or statement. MakeDefaultConstructor reads the note and overrides the cloned self-hosted function's source object. This is probably the least intrusive way to accomplish this.
2019-07-22 19:51:38 +08:00
Gaming4JC
e48044fc01
1342273 - Improve frontend tracelogging. [PARTIAL] Only implemented const to rvalue changes, no tracelogging
2019-07-22 19:51:17 +08:00
Gaming4JC
dc06903cd1
1283712 - Part 3: Add Parser::errorWithNotes and Parser::errorWithNotesAt.
2019-07-22 19:49:50 +08:00
Gaming4JC
ee1e2aba19
1317375 - Implement "Template Literals Revision / Lifting Template Literal Restriction" ECMAScript proposal
2019-07-22 19:47:00 +08:00
wolfbeast
bd6c34b56a
Revert "Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again."
...
This reverts commit 912c3f5cbc512557794a3dfd7bc5cb4994413dfe.
2019-06-28 20:10:21 +08:00
wolfbeast
a6bb928fa4
Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again.
2019-06-19 21:34:38 +08:00
wolfbeast
87f3c86484
Make use of ArrayObjects in favor of generic JS objects.
...
ArrayObjects has been a thing for years but been under-used. About time
they are used where prudent.
2019-06-19 21:34:21 +08:00
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