Revision: 14775
Author:   [email protected]
Date:     Thu May 23 06:45:33 2013
Log:      Missing type cell on ia32 from bindings.

Javascript constructors called from C++ code didn't have a type cell
properly filled in on ia32. This showed up as a bug in webkit bindings.
Re-enabled flag optimize-constructed-arrays.

BUG=
[email protected]

Review URL: https://codereview.chromium.org/15870002
http://code.google.com/p/v8/source/detail?r=14775

Modified:
 /branches/bleeding_edge/src/flag-definitions.h
 /branches/bleeding_edge/src/ia32/builtins-ia32.cc
 /branches/bleeding_edge/test/mjsunit/allocation-site-info.js

=======================================
--- /branches/bleeding_edge/src/flag-definitions.h      Thu May 23 01:17:03 2013
+++ /branches/bleeding_edge/src/flag-definitions.h      Thu May 23 06:45:33 2013
@@ -258,7 +258,7 @@
             "eliminate unreachable code (hidden behind soft deopts)")
 DEFINE_bool(track_allocation_sites, true,
             "Use allocation site info to reduce transitions")
-DEFINE_bool(optimize_constructed_arrays, false,
+DEFINE_bool(optimize_constructed_arrays, true,
             "Use allocation site info on constructed arrays")
 DEFINE_bool(trace_osr, false, "trace on-stack replacement")
 DEFINE_int(stress_runs, 0, "number of stress runs")
=======================================
--- /branches/bleeding_edge/src/ia32/builtins-ia32.cc Tue May 14 04:45:33 2013 +++ /branches/bleeding_edge/src/ia32/builtins-ia32.cc Thu May 23 06:45:33 2013
@@ -486,6 +486,10 @@

     // Invoke the code.
     if (is_construct) {
+      // No type feedback cell is available
+      Handle<Object> undefined_sentinel(
+          masm->isolate()->heap()->undefined_value(), masm->isolate());
+      __ mov(ebx, Immediate(undefined_sentinel));
       CallConstructStub stub(NO_CALL_FUNCTION_FLAGS);
       __ CallStub(&stub);
     } else {
=======================================
--- /branches/bleeding_edge/test/mjsunit/allocation-site-info.js Fri May 17 05:33:48 2013 +++ /branches/bleeding_edge/test/mjsunit/allocation-site-info.js Thu May 23 06:45:33 2013
@@ -37,7 +37,7 @@

// support_smi_only_arrays = %HasFastSmiElements(new Array(1,2,3,4,5,6,7,8));
 support_smi_only_arrays = true;
-optimize_constructed_arrays = false;
+optimize_constructed_arrays = true;

 if (support_smi_only_arrays) {
   print("Tests include smi-only arrays.");

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to