Revision: 21098
Author:   [email protected]
Date:     Wed Apr 30 15:25:47 2014 UTC
Log: MIPS: Simplify feedback vector creation and store in SharedFunctionInfo.

Port r21085 (782ce81)

LOG=N
BUG=v8:3212
[email protected]

Review URL: https://codereview.chromium.org/267433003

Patch from Balazs Kilvady <[email protected]>.
http://code.google.com/p/v8/source/detail?r=21098

Modified:
 /branches/bleeding_edge/src/mips/full-codegen-mips.cc

=======================================
--- /branches/bleeding_edge/src/mips/full-codegen-mips.cc Wed Apr 30 09:50:58 2014 UTC +++ /branches/bleeding_edge/src/mips/full-codegen-mips.cc Wed Apr 30 15:25:47 2014 UTC
@@ -138,8 +138,6 @@
   handler_table_ =
isolate()->factory()->NewFixedArray(function()->handler_count(), TENURED);

-  InitializeFeedbackVector();
-
   profiling_counter_ = isolate()->factory()->NewCell(
       Handle<Smi>(Smi::FromInt(FLAG_interrupt_budget), isolate()));
   SetFunctionPosition(function());
@@ -1179,12 +1177,8 @@
   Label non_proxy;
   __ bind(&fixed_array);

-  Handle<Object> feedback = Handle<Object>(
-      Smi::FromInt(TypeFeedbackInfo::kForInFastCaseMarker),
-      isolate());
-  StoreFeedbackVectorSlot(slot, feedback);
   __ li(a1, FeedbackVector());
-  __ li(a2, Operand(Smi::FromInt(TypeFeedbackInfo::kForInSlowCaseMarker)));
+  __ li(a2, Operand(TypeFeedbackInfo::MegamorphicSentinel(isolate())));
   __ sw(a2, FieldMemOperand(a1, FixedArray::OffsetOfElementAt(slot)));

   __ li(a1, Operand(Smi::FromInt(1)));  // Smi indicates slow check
@@ -2733,9 +2727,6 @@
   // Record source position for debugger.
   SetSourcePosition(expr->position());

-  Handle<Object> uninitialized =
-      TypeFeedbackInfo::UninitializedSentinel(isolate());
-  StoreFeedbackVectorSlot(expr->CallFeedbackSlot(), uninitialized);
   __ li(a2, FeedbackVector());
   __ li(a3, Operand(Smi::FromInt(expr->CallFeedbackSlot())));

@@ -2920,12 +2911,8 @@
   __ lw(a1, MemOperand(sp, arg_count * kPointerSize));

   // Record call targets in unoptimized code.
-  Handle<Object> uninitialized =
-      TypeFeedbackInfo::UninitializedSentinel(isolate());
-  StoreFeedbackVectorSlot(expr->CallNewFeedbackSlot(), uninitialized);
   if (FLAG_pretenuring_call_new) {
-    StoreFeedbackVectorSlot(expr->AllocationSiteFeedbackSlot(),
-                            isolate()->factory()->NewAllocationSite());
+    EnsureSlotContainsAllocationSite(expr->AllocationSiteFeedbackSlot());
     ASSERT(expr->AllocationSiteFeedbackSlot() ==
            expr->CallNewFeedbackSlot() + 1);
   }

--
--
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/d/optout.

Reply via email to