Reviewers: Michael Starzinger,

Message:
Hi Michael, a simple update, ptal thanks!
--Michael

Description:
TurboFan calls to vector-based ics need to resolve a slot to an index.

This is to cope with the recent division of the TypeFeedbackVector into
Slots and ICSlots.

[email protected]

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

Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+4, -4 lines):
  M src/compiler/js-generic-lowering.cc
  M src/compiler/js-operator.h


Index: src/compiler/js-generic-lowering.cc
diff --git a/src/compiler/js-generic-lowering.cc b/src/compiler/js-generic-lowering.cc index 7f49fafcbb62812bfe2ef0076a402df9e4b1d3ec..9240b06602fa9b87ca4a938c4a77b90ac58431ae 100644
--- a/src/compiler/js-generic-lowering.cc
+++ b/src/compiler/js-generic-lowering.cc
@@ -275,8 +275,7 @@ void JSGenericLowering::LowerJSLoadProperty(Node* node) {
   const LoadPropertyParameters& p = LoadPropertyParametersOf(node->op());
   Callable callable = CodeFactory::KeyedLoadICInOptimizedCode(isolate());
   if (FLAG_vector_ics) {
-    PatchInsertInput(node, 2,
-                     jsgraph()->SmiConstant(p.feedback().slot().ToInt()));
+ PatchInsertInput(node, 2, jsgraph()->SmiConstant(p.feedback().index())); PatchInsertInput(node, 3, jsgraph()->HeapConstant(p.feedback().vector()));
   }
   ReplaceWithStubCall(node, callable, CallDescriptor::kPatchableCallSite);
@@ -289,8 +288,7 @@ void JSGenericLowering::LowerJSLoadNamed(Node* node) {
       CodeFactory::LoadICInOptimizedCode(isolate(), p.contextual_mode());
   PatchInsertInput(node, 1, jsgraph()->HeapConstant(p.name()));
   if (FLAG_vector_ics) {
-    PatchInsertInput(node, 2,
-                     jsgraph()->SmiConstant(p.feedback().slot().ToInt()));
+ PatchInsertInput(node, 2, jsgraph()->SmiConstant(p.feedback().index())); PatchInsertInput(node, 3, jsgraph()->HeapConstant(p.feedback().vector()));
   }
   ReplaceWithStubCall(node, callable, CallDescriptor::kPatchableCallSite);
Index: src/compiler/js-operator.h
diff --git a/src/compiler/js-operator.h b/src/compiler/js-operator.h
index b659292d6680f7e2cd9a3c3a1cc4d8b17c41ddce..1ce8173d61ea3094ae3d5941731514501d4acacd 100644
--- a/src/compiler/js-operator.h
+++ b/src/compiler/js-operator.h
@@ -104,6 +104,8 @@ class VectorSlotPair {
   Handle<TypeFeedbackVector> vector() const { return vector_; }
   FeedbackVectorICSlot slot() const { return slot_; }

+  int index() const { return vector_->GetIndex(slot_); }
+
  private:
   const Handle<TypeFeedbackVector> vector_;
   const FeedbackVectorICSlot slot_;


--
--
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