Commit Graph

17 Commits

Author SHA1 Message Date
Gaming4JC 3a3de55aad Bug 1343481 - Part 3: Add JSOP_AWAIT and rename {yieldIndex,yieldOffset} to {yieldAndAwaitIndex,yieldAndAwaitOffset}.
Tag #1287
2019-12-17 06:25:24 -05:00
Gaming4JC 9163aaebb6 Bug 1343481 - Part 1: Remove {JSFunction,JSScript,LazyScript}.isGenerator() method.
Tag #1287
2019-12-17 06:25:23 -05:00
Gaming4JC 7b1c6a022c Bug 1364573 - Don't relazify class default constructors.
Because of the wacko way we handle toString offsets for class default constructors, those offsets cannot be recovered if we relazify the functions.
Luckily there's no reason to relazify them, their JSScripts are very small: either a single 'retrval' for non-derived, and still fairly small for derived.
2019-07-18 22:38:42 -04:00
Gaming4JC 22dba02b7b 1216630 - Rename preludeStart and postludeEnd to toStringStart and toStringEnd and misc fixes. 2019-07-18 22:38:41 -04:00
Gaming4JC 53e46b1e12 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-18 22:38:41 -04:00
Gaming4JC fcfaa4fbee 1320408 - Change JSScript::sourceDataWithPrelude to static method
UXP Interdiff
2019-07-18 22:38:25 -04:00
Gaming4JC 93335c3120 1320408 - Part 12: Change JSScript::sourceData to static method. 2019-07-18 22:38:24 -04:00
Gaming4JC 4d88f48fdb 1320408 - Part 10: Change LazyScript::functionDelazifying to static method. 2019-07-18 22:38:24 -04:00
Gaming4JC 90d999c59a 1320403 - Move JSFunction::EXPR_BODY to JSScript, LazyScript, and FunctionBox. 2019-07-18 22:38:15 -04:00
wolfbeast e547de64c8 Stage 1-1: Implement Function.prototype.toString revision proposal.
Tag #960
2019-02-02 12:47:28 +01:00
janekptacijarabaci 05441d12b6 Bug 1346862 - Fix IteratorClose due to non-local jumps being catchable by try statements inside for-of
Issue #74
2018-03-25 18:21:15 +02:00
janekptacijarabaci b311e8fa71 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
2018-03-25 16:22:38 +02:00
janekptacijarabaci 2bb0252ab4 Bug 1147371: Implement IteratorClose for array destructuring
Issue #74
2018-03-24 12:23:14 +01:00
janekptacijarabaci 7d753c1a8f Bug 1147371: Implement IteratorClose for for-of
Issue #74
2018-03-24 12:09:30 +01:00
janekptacijarabaci 75db97cb37 Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScript
Issue #78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2018-03-19 14:48:24 +01:00
janekptacijarabaci af300f36f1 Bug 755821: Function() should use the parser's argument parsing code 2018-03-16 11:35:57 +01:00
Matt A. Tobin 5f8de423f1 Add m-esr52 at 52.6.0 2018-02-02 04:16:08 -05:00