Javascript:SpiderMonkey:BaselineCompiler

From MozillaWiki
Revision as of 17:57, 28 March 2013 by Kvijayan (talk | contribs) (Created page with "== General Plan == === Landing === Land with basic functionality to make Firefox 23 This means making it into mozilla-inbound before May 13 Current ETA: make it into mozilla-...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

General Plan

Landing

Land with basic functionality to make Firefox 23 This means making it into mozilla-inbound before May 13 Current ETA: make it into mozilla-inbound by first week of April.

  • Landing requirements
    • Performance
      • Be on par or better than trunk Interp+JM+Ion on:
        • Kraken
        • Sunspider
        • Octane
        • Dromaeo
    • Memory
      • Do not regress memory as compared to trunk
    • Features
      • Support try/catch
      • Support debugger integration
      • Support profiler integration

Post Landing

Goals ordered by priority

  • Fix Octane performance issues.
    • Overall scores on Octane are better than Interp+JM+Ion
    • Some octane benches show perf-instability on AWFY (some runs are really slow)
      • Box2D
      • CodeLoad
      • GameBoy
      • PdfJS
    • Individual benchmarks which are slower than Interp+JM+Ion
      • DeltaBlue
      • Richards
      • Splay
  • Integrate Ion and Baseline further
    • Inline SetProp_NativeAdd operations using Baseline ICs.
    • Inline polymorphic, shape-guarded GetProp and SetProp operations using Baseline ICs.
  • Compile more ops with baseline (e.g. ES6 reset parameters)
  • Optimize new ES6 features
    • Proxies
    • Generators
  • Add support for try/finally
  • Enable toggling debugger with code on the stack
    • Will require implementation of OST - on-stack transformation of jitcode
    • OST also enables removing profiler instrumentation from default jitcode