Last Comment Bug 734517 - GC: missing barriers in InitExnPrivates
: GC: missing barriers in InitExnPrivates
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: All All
-- normal (vote)
: mozilla14
Assigned To: Terrence Cole [:terrence]
: Jason Orendorff [:jorendorff]
Depends on:
Blocks: 673454
  Show dependency treegraph
Reported: 2012-03-09 15:05 PST by Terrence Cole [:terrence]
Modified: 2012-03-15 08:05 PDT (History)
3 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

v0 (4.79 KB, patch)
2012-03-12 14:00 PDT, Terrence Cole [:terrence]
wmccloskey: review+
Details | Diff | Splinter Review

Description User image Terrence Cole [:terrence] 2012-03-09 15:05:01 PST
InitExnPrivate needs to trigger barriers when copying out to the heap, but not when copying data into the on-stack vector.
Comment 1 User image Terrence Cole [:terrence] 2012-03-12 14:00:56 PDT
Created attachment 605095 [details] [diff] [review]

I verified that this patch fixes half the failures I am experiencing with my write buffer.
Comment 2 User image Bill McCloskey (:billm) 2012-03-12 14:08:38 PDT
Comment on attachment 605095 [details] [diff] [review]

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.
Comment 3 User image Terrence Cole [:terrence] 2012-03-14 10:52:02 PDT
Comment 4 User image Terrence Cole [:terrence] 2012-03-14 10:52:55 PDT
Thanks for the help, bugzilla, but no.
Comment 5 User image Marco Bonardo [::mak] 2012-03-15 08:05:08 PDT

Note You need to log in before you can comment on or make changes to this bug.