Closed
Bug 532578
Opened 16 years ago
Closed 16 years ago
Verifier::emitCheckNull is wrong for nanojit-compiled-but-disabled builds
Categories
(Tamarin Graveyard :: Virtual Machine, defect)
Tamarin Graveyard
Virtual Machine
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: stejohns, Assigned: stejohns)
Details
Attachments
(1 file)
|
861 bytes,
patch
|
jodyer
:
review+
edwsmith
:
superreview+
|
Details | Diff | Splinter Review |
The code in emitCheckNull attempts to kill all copies of the value as notNull, but if the JIT is disabled at runtime, all values of Value.ins are NULL, so they all (incorrectly) match... meaning that all values get marked as notNull. This can cause bogus Verify errors.
| Assignee | ||
Updated•16 years ago
|
Attachment #415796 -
Attachment is patch: true
Attachment #415796 -
Attachment mime type: application/octet-stream → text/plain
Attachment #415796 -
Flags: superreview?(edwsmith)
Attachment #415796 -
Flags: review?(jodyer)
Evidence that this fix is correct includes that before the verifier refactoring of early this year, emitCheckNull was only called when the jit was enabled. So this code was never even run in interp mode. What I don't understand is how nullability was managed then. IOW, how the verifier semantics of interp and jit modes could be the same. That said, this fix looks reasonable.
Attachment #415796 -
Flags: review?(jodyer) → review+
Updated•16 years ago
|
Attachment #415796 -
Flags: superreview?(edwsmith) → superreview+
| Assignee | ||
Comment 2•16 years ago
|
||
pushed as changeset: 3262:68a6172597ca
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Assignee: nobody → stejohns
You need to log in
before you can comment on or make changes to this bug.
Description
•