Platform/Features/IonMonkey: Difference between revisions

m
Reverted edits by Couponcodez (talk) to last revision by Curtisk
No edit summary
m (Reverted edits by Couponcodez (talk) to last revision by Curtisk)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{FeatureStatus
{{FeatureStatus
|Feature name=Modern JIT Compiler for JavaScript (IonMonkey)
|Feature name=Modern JIT Compiler for JavaScript (IonMonkey)
|Feature stage=Development
|Feature stage=Landed
|Feature status=In progress
|Feature status=In progress
|Feature version=Firefox 18
|Feature health=OK
|Feature health=OK
}}
}}
Line 109: Line 110:
## Time: 4 weeks
## Time: 4 weeks
## Owner: <b>dvander</b>
## Owner: <b>dvander</b>
# '''Method Inlining'''
# <s>'''Method Inlining'''</s>
## What: Inline methods
## <s>What: Inline methods</s>
## Dependencies: Bailouts, either profiling, ICs, or calls out to C++
## <s>Dependencies: Bailouts, either profiling, ICs, or calls out to C++</s>
## Work involved:
## <s>Work involved:</s>
### Some heuristic to determine whether methods should be inlined (this can be totally bogus, but maybe better to start with simple methods).
### <s>Some heuristic to determine whether methods should be inlined (this can be totally bogus, but maybe better to start with simple methods).</s>
### Changing IonBuilder such that JSScripts bytecode parsing can be "stacked" so inner SSA graph is inlined.
### <s>Changing IonBuilder such that JSScripts bytecode parsing can be "stacked" so inner SSA graph is inlined.</s>
### Change M/LSnapshots to be nested, so snapshots in an inner frame all point to the same outer snapshot.
### <s>Change M/LSnapshots to be nested, so snapshots in an inner frame all point to the same outer snapshot.</s>
### Change snapshot encoding and frame reconstruction to support inlining.
### <s>Change snapshot encoding and frame reconstruction to support inlining.</s>
## Priority: Medium
## <s>Priority: Medium</s>
## Time: 3 weeks
## <s>Time: 3 weeks</s>
## Owner: <b>cdleary</b>
## <s>Owner: <b>cdleary</b></s>
# '''On-Stack Replacement'''
# <s>'''On-Stack Replacement'''</s>
## What: Jump into JIT code at loop headers, possibly by profiling off-thread.
## <s>What: Jump into JIT code at loop headers, possibly by profiling off-thread.</s>
## Work involved:
## <s>Work involved:</s>
### Explore ways to monitor hotness of JIT code.
### <s>Explore ways to monitor hotness of JIT code.</s>
### Implement the ability to jump into Ion-compiled code at loop headers, possibly by inserting special OSR nodes in the IR.
### <s>Implement the ability to jump into Ion-compiled code at loop headers, possibly by inserting special OSR nodes in the IR.</s>
## Priority: Medium
## <s>Priority: Medium</s>
## Time: 2 weeks
## <s>Time: 4 weeks</s>
## Owner: <b>sstangl</b>
## <s>Owner: <b>sstangl</b></s>
# '''ARM Port'''
# '''ARM Port'''
## What: Port IonMonkey to ARM
## What: Port IonMonkey to ARM
Line 164: Line 165:
|Feature engineering team=JavaScript
|Feature engineering team=JavaScript
}}
}}
{{FeatureTeamStatus}}
{{FeatureTeamStatus
|Feature security status=sec-review-unnecessary
|Feature security health=OK
}}
Confirmed users, Bureaucrats and Sysops emeriti
674

edits