Add helper classes to emit bytecode for function

RESOLVED FIXED in Firefox 67

Status

()

enhancement
P3
normal
RESOLVED FIXED
10 months ago
a month ago

People

(Reporter: arai, Assigned: arai)

Tracking

(Depends on 1 bug, Blocks 1 bug)

Trunk
mozilla67
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox67 fixed)

Details

Attachments

(4 attachments)

(Assignee)

Description

10 months ago
Just like others (bug 1456006, bug 1456404).

Emitting function consists of two parts:
  1. emitting function declaration/expression on the parent script
  2. emitting parameters/body in the child script

To reuse the classes in BinAST streaming compilation which uses different compiler than current BytecodeEmitter which does "ParseNode=>bytecode",
those 2 parts should be separated into 2 classes.
(Assignee)

Updated

10 months ago
Summary: Add classes helper to emit bytecode for function → Add helper classes to emit bytecode for function
(Assignee)

Comment 1

9 months ago
bug 1475458 needs to be addressed, in order to design the interface.
Depends on: 1475458
(Assignee)

Updated

4 months ago
See Also: → 1518391
(Assignee)

Updated

3 months ago
Depends on: 1519005
(Assignee)

Updated

3 months ago
Depends on: 1284719
(Assignee)

Updated

2 months ago
Depends on: es-fields
(Assignee)

Comment 6

2 months ago

bug 1530324 removes wrapper for async, and also modifies the async body.

Depends on: 1530324

Comment 7

a month ago
Pushed by arai_a@mac.com:
https://hg.mozilla.org/integration/autoland/rev/f53c8cedef75
Part 1: Add DefaultEmitter. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/d20d700c80d5
Part 2: Do not use TokenPos in BytecodeEmitter::{setFunctionBodyEndPos,setScriptStartOffsetIfUnset}. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/7e1e3f35d7cf
Part 3: Move DestructuringFlavor into its own header. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/2429f6898afa
Part 4: Add FunctionEmitter, FunctionScriptEmitter, and FunctionParamsEmitter. r=jorendorff
You need to log in before you can comment on or make changes to this bug.