Reviewers: danno, ulan, Michael Starzinger,

Message:
I've mostly been experimenting on microbenchmarks. I didn't see a significant
improvement on the V8 benchmark, but I don't think object/array literals are
used that heavily there. Since the write barrier should never be executed in
this case, this mainly just reduces code size.

Description:
Update ReceiverObjectNeedsWriteBarrier to include HFastLiteral
This will prevent unnecessary write barriers for literals.
BUG=none
TEST=none

Committed: https://code.google.com/p/v8/source/detail?r=12823

Please review this at https://codereview.chromium.org/11143005/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     AUTHORS
  M     src/hydrogen-instructions.h


Index: AUTHORS
===================================================================
--- AUTHORS     (revision 12502)
+++ AUTHORS     (working copy)
@@ -20,6 +20,7 @@
 Craig Schlenter <[email protected]>
 Daniel Andersson <[email protected]>
 Daniel James <[email protected]>
+Derek J Conrod <[email protected]>
 Dineel D Sule <[email protected]>
 Erich Ocean <[email protected]>
 Fedor Indutny <[email protected]>
Index: src/hydrogen-instructions.h
===================================================================
--- src/hydrogen-instructions.h (revision 12502)
+++ src/hydrogen-instructions.h (working copy)
@@ -3835,7 +3835,8 @@

 inline bool ReceiverObjectNeedsWriteBarrier(HValue* object,
                                             HValue* new_space_dominator) {
-  return !object->IsAllocateObject() || (object != new_space_dominator);
+  return (!object->IsAllocateObject() && !object->IsFastLiteral()) ||
+         object != new_space_dominator;
 }




--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to