Reviewers: Michael Starzinger,

Description:
When running with --always-opt, don't deoptimize named loads with uninitialized
type feedback.

This avoids tests taking too long because of repeated deoptimizations.

Please review this at https://chromiumcodereview.appspot.com/9812004/

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

Affected files:
  M     src/hydrogen.cc
  M     test/cctest/test-log-stack-tracer.cc


Index: src/hydrogen.cc
===================================================================
--- src/hydrogen.cc     (revision 11096)
+++ src/hydrogen.cc     (working copy)
@@ -4523,7 +4523,7 @@

 HInstruction* HGraphBuilder::BuildLoadNamedGeneric(HValue* obj,
                                                    Property* expr) {
-  if (expr->IsUninitialized()) {
+  if (expr->IsUninitialized() && !FLAG_always_opt) {
     AddInstruction(new(zone()) HSoftDeoptimize);
     current_block()->MarkAsDeoptimizing();
   }
Index: test/cctest/test-log-stack-tracer.cc
===================================================================
--- test/cctest/test-log-stack-tracer.cc        (revision 11096)
+++ test/cctest/test-log-stack-tracer.cc        (working copy)
@@ -277,9 +277,7 @@
 TEST(CFromJSStackTrace) {
// BUG(1303) Inlining of JSFuncDoTrace() in JSTrace below breaks this test.
   i::FLAG_use_inlining = false;
- // This test does not work with --always-opt because we don't replace the code
-  // in the JSFunction at deoptimization in that case.
-  i::FLAG_always_opt = false;
+
   TickSample sample;
   InitTraceEnv(&sample);



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

Reply via email to