Index: src/code-stubs.cc |
diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
index 1476aff7029921fdd9d303186c4f7c6a0124cb1b..6134204f68102379a3c8ea2d4ea0bb5aa6df324b 100644 |
--- a/src/code-stubs.cc |
+++ b/src/code-stubs.cc |
@@ -1759,6 +1759,21 @@ void CallICStub::PrintState(std::ostream& os) const { // NOLINT |
os << state(); |
} |
+void CallICTrampolineStub::GenerateAssembly( |
+ compiler::CodeAssemblerState* state) const { |
+ typedef compiler::Node Node; |
+ CodeStubAssembler assembler(state); |
+ |
+ Node* context = assembler.Parameter(Descriptor::kContext); |
+ Node* target = assembler.Parameter(Descriptor::kFunction); |
+ Node* argc = assembler.Parameter(Descriptor::kActualArgumentsCount); |
+ Node* slot = assembler.Parameter(Descriptor::kSlot); |
+ Node* vector = assembler.LoadTypeFeedbackVectorForStub(); |
+ |
+ Callable callable = |
+ CodeFactory::CallIC(isolate(), convert_mode(), tail_call_mode()); |
+ assembler.TailCallStub(callable, context, target, argc, slot, vector); |
+} |
void JSEntryStub::FinishCode(Handle<Code> code) { |
Handle<FixedArray> handler_table = |