Closed Bug 483640 Opened 17 years ago Closed 17 years ago

compiling with ABC interpreter causes numerous compiler errors

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: edwsmith, Assigned: edwsmith)

Details

Attachments

(1 file, 1 obsolete file)

configure.py --enable-abc-interp adds -DAVMPLUS_ABC_INTERPRETER, which disables the wordcode interpreter. initial problem list: - showState() refers to WordCode - warning that pc is declared register when passed by ref to readU30() - signature of CallStackNode has changed
Attached patch ver1 - fix (obsolete) — Splinter Review
patches fixes (1) and (3). After looking at the generated assembly, (2) appears to be bogus and has been in the build for a while.
Attachment #367638 - Flags: review?(edwsmith)
Attachment #367638 - Flags: review?(edwsmith) → review+
Comment on attachment 367638 [details] [diff] [review] ver1 - fix the new call to formatOpcode should just pass opcode, no masking or casting required. but the code in the patch is harmless too, so i dont need/want to re-review it :-) doesn't fix the "register" warning, but no matter, i have a patch, will post when able.
The masking is needed; at least for wordcode. I hit a bug wherein the upper 16bits and lower 16bits were identical (Lars mentioned it was a debugging aid that leaked out). I'm curious to see the fix for the *register* warning.
pushed 4c76cb476759: Fix bug 483640 - abc interpreter not building after CallStackNode changes - rev 1603
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
(In reply to comment #3) > The masking is needed; at least for wordcode. I hit a bug wherein the upper > 16bits and lower 16bits were identical (Lars mentioned it was a debugging aid > that leaked out). > > I'm curious to see the fix for the *register* warning. The masking is only needed for word code. Please do not remove the *register* annotation, if we get a warning that means we need to rewrite the interpreter code (that's why it's there). The address of the pc should never be taken. Probably in this case we need a new version of readU30.
Assignee: nobody → edwsmith
Attachment #367638 - Attachment is obsolete: true
Status: RESOLVED → REOPENED
Attachment #367813 - Flags: review?(rreitmai)
Resolution: FIXED → ---
Comment on attachment 367813 [details] [diff] [review] restore the masking for wordcode formatOpcode() #ifdef AVMPLUS_WORD_CODE opcode = (WordOpcode ((int32_t)opcode&0xffff); #endif could also do the trick. And we shouldn't need explicit casting in the call. '+' since this fix is fine.
Attachment #367813 - Flags: review?(rreitmai) → review+
Status: REOPENED → RESOLVED
Closed: 17 years ago17 years ago
Resolution: --- → FIXED
wordcode and abc interpreters are both compiled and tested in the build system
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: