Revision: 24870
Author: [email protected]
Date: Fri Oct 24 12:39:49 2014 UTC
Log: 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]
Review URL: https://codereview.chromium.org/673203002
https://code.google.com/p/v8/source/detail?r=24870
Modified:
/branches/bleeding_edge/src/compiler/js-generic-lowering.cc
/branches/bleeding_edge/src/compiler/js-operator.h
=======================================
--- /branches/bleeding_edge/src/compiler/js-generic-lowering.cc Fri Oct 10
13:22:10 2014 UTC
+++ /branches/bleeding_edge/src/compiler/js-generic-lowering.cc Fri Oct 24
12:39:49 2014 UTC
@@ -275,8 +275,7 @@
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 @@
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);
=======================================
--- /branches/bleeding_edge/src/compiler/js-operator.h Mon Oct 20 11:42:56
2014 UTC
+++ /branches/bleeding_edge/src/compiler/js-operator.h Fri Oct 24 12:39:49
2014 UTC
@@ -103,6 +103,8 @@
Handle<TypeFeedbackVector> vector() const { return vector_; }
FeedbackVectorICSlot slot() const { return slot_; }
+
+ int index() const { return vector_->GetIndex(slot_); }
private:
const Handle<TypeFeedbackVector> vector_;
--
--
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.