Closed Bug 738300 Opened 14 years ago Closed 7 years ago

Experiment: make wordcode the *only* interpreter

Categories

(Tamarin Graveyard :: Interpreter, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: edwsmith, Unassigned)

References

Details

(Whiteboard: Tracking)

Attachments

(2 files)

There are a number of potential advantages to having just one interpreter configuration (wordcode, or whatever variant it becomes) * less builds to test * less hair in the source code * always translating makes evolving abc simpler * always translating makes evolving interpreter code format simpler * always translating simplifies annotating code with xlation time data
Whiteboard: Tracking
This is obviously a hacky work-in-progress. Prior to march 2012, this patch was impeded by the JIT and wordcode interpreter's different use of MethodEnv::lookupCache. However, finddef was redesigned and the lookup cache is gone, so wordcode and jitcode can coexist. Evicting wordcode that goes cold should be easy - free it and reset trampolines to recompile if necessary.
Blocks: Wordcode
Patch to try to make wordcode + JIT play nice together * enable MS::_abc_body_pos in all configs * remove AVMFEATURE_COMPILATION_POLICY restrictions * remove at-most-one JIT + WORDCODE_INTERP * remove JIT requires ABC_INTERP problems found so far: * OSR's apis are arranged around uint8_t* abc_pc, but wordcode typedefs the code pointer as uintptr_t*. Either the true abc_pc needs to be a canonical "position" value everywhere (probably) or OSR should be fixed up to work with wordcode pointers (not likely since CodegenLIR generating code from the original abc, not wordcode).
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: