Since v8::Null(isolate) crashes if we pass a NULL isolate, we are planning to pass Isolate to v8::Null() in the following steps: [1] Implement V8Bindings::v8Null(isolate). v8Null(isolate) does the NULL check. If isolate is NULL, v8Null(isolate) calls v8::Null(). Otherwise, v8Null(isolate) calls v8::Null(isolate). [2] In V8 bindings, we replace v8::Null() with v8::Null(isolate) for a non-optional 'isolate' parameter. (e.g. void foo(..., Isolate* isolate) { v8::Null(); } ) [3] In V8 bindings, we replace v8::Null() with v8Null(isolate) for an optional 'isolate' parameter. (e.g. void foo(..., Isolate* isolate = 0) { v8::Null(); } ) This bug fixes [1].
Created attachment 144447 [details] Patch
Looks great.
Comment on attachment 144447 [details] Patch Clearing flags on attachment: 144447 Committed r118726: <http://trac.webkit.org/changeset/118726>
All reviewed patches have been landed. Closing bug.
This improved the scores on binding tests by roughly 25%: http://webkit-perf.appspot.com/graph.html#tests=[[2726794,2001,3001]]&sel=1338266668968.9753,1338326860380.0183,341.8740849194729,480.0878477306003&displayrange=7&datatype=running