Closed
Bug 479301
Opened 16 years ago
Closed 6 years ago
ExceptionHandlerTable needs reworking to allow for discarding jitted code
Categories
(Tamarin Graveyard :: Baseline JIT (CodegenLIR), defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
Future
People
(Reporter: stejohns, Assigned: tharwood)
References
Details
(Whiteboard: wordcode)
Attachments
(1 file, 1 obsolete file)
Lars: "If jitted code is discarded then the exception table it built (overwrote) must be restored to its original pristine state. This is not currently possible, as far as I know; instead, the original exception data must be kept around. So we'll likely need to refine the structure we have now - where the word code table is bolted on and the JIT overwrites the abc table - to one where there's the "original" data from which jitting can happen and the jitted data. The original data might be the word code table, if the jit can be driven from the word code (it needs to be, IMO)."
Assignee | ||
Updated•16 years ago
|
Assignee: nobody → tharwood
Assignee | ||
Comment 1•16 years ago
|
||
I'm not sure where this exception handling table might be overwritten; I don't see it in the code, and memory watches on the table don't show any overwriting.
Patch makes the ExceptionHandler data structures const, which enforces the desired semantics at the compiler level.
Attachment #376419 -
Flags: review?(lhansen)
Assignee | ||
Comment 2•16 years ago
|
||
Previous patch had a new jit-specific exceptions table that looks like cruft, since the old one's not overwritten. Perhaps this changed when the nanojit replaced the old JIT?
Attachment #376419 -
Attachment is obsolete: true
Attachment #376419 -
Flags: review?(lhansen)
Comment 3•16 years ago
|
||
the MIR jit modified the interpreter exception handling table, but CodegenLIR/nanojit does not. The exception handler table is the same as for the abc interpreter (addresses are abc addresses)
This is not a bug for the abc/jit hybrid.
This *is* a bug for a wordcode/jit hybrid where both kinds of
code could coexist on the stack at the same time. (for example if
we jit lazily). In that case we need choose the right table based on the ExceptionFrame, not just the method.
if jit & wordcode coexist on the stack, we chould just make them both
use one table which contains WC addresses. The jit doesn't care what kind
of table it uses, it never puts code addresses in the ExceptionHandlerTable.
Comment 4•16 years ago
|
||
unblocking the jit cache bug since we aren't planning on a wordcode/jit hybrid at this time.
Comment 5•16 years ago
|
||
(In reply to comment #2)
> Created an attachment (id=376422) [details]
> C++ level const-ness for exception table, minus new "exceptions" array
Could have sworn I was asked to review this, so r+ if that's still desired.
Updated•15 years ago
|
Target Milestone: --- → Future
Updated•14 years ago
|
Component: Virtual Machine → JIT Compiler (NanoJIT)
Whiteboard: has-patch
Comment 6•6 years ago
|
||
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•