ConditionalStoreBarrier was created when barriers were much more expensive. Now that they're cheap(er), we can get rid of them. This also allows us to get rid of the write barrier logic in emitPutTransitionStub because we always will have executed a write barrier on the base object in the case where we are allocating and storing a new Butterfly into it. Previously, a ConditionalStoreBarrier might or might not have barrier-ed the base object, so we'd have to emit a write barrier in the transition case.
Created attachment 226334 [details] Patch
Comment on attachment 226334 [details] Patch r=me
Committed r165407: <http://trac.webkit.org/changeset/165407>
Looks like this caused a crash on DYEBench. http://build.webkit.org/builders/Apple%20MountainLion%20Release%20%28Perf%29/builds/8249 http://build.webkit.org/builders/Apple%20Mavericks%20Release%20%28Perf%29/builds/843 I've built r165406 and 165407 locally and only r165407 reproduces the crash quite reliably. It appears, however, that this crash doesn't always occur. While Tools/Scripts/run-perf-tests PerformanceTests/DoYouEvenBench/Full.html --test-runner-count=4 --reset-results reproduces the crash quite reliably, Tools/Scripts/run-perf-tests PerformanceTests/DoYouEvenBench/Full.html --test-runner-count=1 --reset-results doesn't.
Filed the bug 130066 to track the crash.