Closed Bug 516161 Opened 15 years ago Closed 15 years ago

Incorrect use of write barriers in HeapMultiname

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: lhansen, Assigned: lhansen)

Details

Attachments

(1 file)

Attached patch PatchSplinter Review
The container object is never 'this', because HeapMultiname is always embedded into some other object.  I found this in a DD build after a tweak to the GC policy; different GC patterns caused some acceptance tests to fail.  (Yet another reason why all embedders of the VM should be running tests in debug mode.)

Also a tweak to WB_NULL and WBRC_NULL - don't pass values that aren't used by the macros, in order to make it clear to the caller that those values don't have to be computed.  (Also avoids compiler warnings for values that are computed purely for the sake of passing to those macros, and end up being dead variables.)
Attachment #400284 - Flags: review?(stejohns)
Comment on attachment 400284 [details] [diff] [review]
Patch

How embarassing -- I wrote that HeapMultiname code recently because the previous code was dodgy in the WB department. Oops.

Re: the unused args, I originally wrote them that way in the interest of orthogonality, but removing pointless temp calculation is a more important tradeoff.
Attachment #400284 - Flags: review?(stejohns) → review+
redux changeset:   2498:c63836d2f499
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
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: