Closed
Bug 545094
Opened 14 years ago
Closed 14 years ago
Post-verify compilation without GC support
Categories
(Tamarin Graveyard :: Baseline JIT (CodegenLIR), defect, P2)
Tamarin Graveyard
Baseline JIT (CodegenLIR)
Tracking
(Not tracked)
VERIFIED
WONTFIX
Q3 11 - Serrano
People
(Reporter: siwilkin, Assigned: siwilkin)
References
Details
Attachments
(2 files, 1 obsolete file)
214.77 KB,
patch
|
Details | Diff | Splinter Review | |
74.79 KB,
patch
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10 Build Identifier: As MMGc is not currently thread-safe, a background compiler must work within the following constraints: 1) It must not allocate managed objects (due to first-time resolutions, QCacheItem re-allocations, internal data-structure allocations, String interning etc..) 2) All managed objects that will be accessed during a compilation must be identified and made reachable from a GCRoot before compilation begins (i.e. during verification). This turns out to be non-trivial. The attached patch builds on bug 540487 to define a codegen framework which satisfies these constraints (but using base components that can also be used to create the current 'pipelined verify/jit' model and also a 'eager verify/deferred compile' model). The attached patch contains a simple harness in MethodInfo::verify for running the new compiler within the context of a single thread. This is primarily to check the invariant of no allocations during codegen. Enable features AVMFEATURE_SCANNER and AVMFEATURE_BACKGROUND_COMPILATION in a DEBUGGER build to perform the no-allocation testing. Reproducible: Always
Assignee | ||
Comment 1•14 years ago
|
||
Assignee: nobody → siwilkin
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: flashplayer-qrb+
Priority: -- → P2
Target Milestone: --- → flash10.2
Assignee | ||
Comment 2•14 years ago
|
||
Assignee | ||
Comment 3•14 years ago
|
||
Previous version of this attachment was not flagged as a patch
Attachment #426767 -
Attachment is obsolete: true
Updated•14 years ago
|
Component: Virtual Machine → JIT Compiler (NanoJIT)
QA Contact: vm → nanojit
Assignee | ||
Updated•14 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
Assignee | ||
Comment 4•14 years ago
|
||
Superseded by bug 600723
You need to log in
before you can comment on or make changes to this bug.
Description
•