Closed Bug 360275 Opened 18 years ago Closed 18 years ago

64-bit - remove usage of va_list, change func sig to return Atom instead of int

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: wsharp, Assigned: wsharp)

Details

Attachments

(1 file, 1 obsolete file)

The usage is va_list was a convenience that was only used on some platforms to layout arguments and was not used for calling vararg C++ functions.   64-bit has a completely different mechansim (register usage + stack) and does not tolerate our va_list usage.  Switched over to use a uint32 *arg array everywhere.  (This memory contains both native types and Atom at different points in time)

Changed our interp/verify/jitted function signature to return Atom instead of int.   In 64-bit, int won't fit an Atom so this change is required.

Tweak avmshell code to get it working on OSX 10.5.
Attached patch code change patch (obsolete) — Splinter Review
Tested these changes with ASC sanity tests on Mac and Win
Attachment #245226 - Flags: review+
Our practice is for someone other than the patch author to provide review.  You should request review from someone by setting the flag to "?" in the edit interface, and then entering the reviewer's email in the field next to it.

Thanks!
Attachment #245226 - Flags: review+ → review?(stejohns)
Comment on attachment 245226 [details] [diff] [review]
code change patch

minor bug on line 203 needs correction: doubleToAtom() call missing
Attachment #245226 - Flags: review?(stejohns) → review-
Attachment #245226 - Attachment is obsolete: true
Attachment #245237 - Flags: review?(stejohns)
Comment on attachment 245237 [details] [diff] [review]
updated patch - doubleToAtom restored.  Change 4 into sizeof(uint32)

r=stejohns
Attachment #245237 - Flags: review?(stejohns) → review+
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Transfer Bug from Core->Tamarin to Tamarin Product.
Component: Tamarin → Virtual Machine
Product: Core → Tamarin
Version: Trunk → unspecified
Resolved fixed engineering / work item that has been pushed.  Setting status to
verified.
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: