Closed Bug 734517 Opened 12 years ago Closed 12 years ago

GC: missing barriers in InitExnPrivates

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla14

People

(Reporter: terrence, Assigned: terrence)

References

Details

Attachments

(1 file)

InitExnPrivate needs to trigger barriers when copying out to the heap, but not when copying data into the on-stack vector.
Attached patch v0Splinter Review
I verified that this patch fixes half the failures I am experiencing with my write buffer.
Attachment #605095 - Flags: review?(wmccloskey)
Comment on attachment 605095 [details] [diff] [review]
v0

Review of attachment 605095 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/jsexn.cpp
@@ +122,5 @@
> +typedef JSStackTraceElemImpl<HeapPtrString> JSStackTraceElem;
> +typedef JSStackTraceElemImpl<JSString *>    JSStackTraceStackElem;
> +
> +static void
> +copyTraceElemToHeap(JSStackTraceElem *dst, JSStackTraceStackElem *src)

Can you just put the code directly in the loop? If it's in a function, it's possible people will call it without realizing that it does init() rather than set().

Also, in general, functions like this should start with an uppercase letter.
Attachment #605095 - Flags: review?(wmccloskey) → review+
Thanks for the help, bugzilla, but no.
Target Milestone: mozilla13 → ---
https://hg.mozilla.org/mozilla-central/rev/da22cf5a850f
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla14
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: