Index: src/code-stubs.cc |
diff --git a/src/code-stubs.cc b/src/code-stubs.cc |
index e6a9d78f05c3476c8a67ca2ad264446754d837d5..a4e6a50efa88b76b80a0c867d2fa28ed725edc06 100644 |
--- a/src/code-stubs.cc |
+++ b/src/code-stubs.cc |
@@ -443,7 +443,6 @@ void CompareICStub::Generate(MacroAssembler* masm) { |
} |
} |
- |
Handle<Code> TurboFanCodeStub::GenerateCode() { |
const char* name = CodeStub::MajorName(MajorKey()); |
Zone zone(isolate()->allocator()); |
@@ -454,6 +453,45 @@ Handle<Code> TurboFanCodeStub::GenerateCode() { |
return assembler.GenerateCode(); |
} |
+void LoadICTrampolineTFStub::GenerateAssembly( |
+ CodeStubAssembler* assembler) const { |
+ typedef compiler::Node Node; |
+ typedef CodeStubAssembler::Label Label; |
+ |
+ Node* receiver = assembler->Parameter(0); |
+ Node* name = assembler->Parameter(1); |
+ Node* slot = assembler->Parameter(2); |
+ Node* context = assembler->Parameter(3); |
+ Node* vector = assembler->LoadTypeFeedbackVectorForStub(); |
+ |
+ CodeStubAssembler::LoadICParameters p(context, receiver, name, slot, vector); |
+ Label miss(assembler); |
+ assembler->LoadIC(&p, &miss); |
+ |
+ assembler->Bind(&miss); |
+ assembler->TailCallRuntime(Runtime::kLoadIC_Miss, context, receiver, name, |
+ slot, vector); |
+} |
+ |
+void LoadICTFStub::GenerateAssembly(CodeStubAssembler* assembler) const { |
+ typedef compiler::Node Node; |
+ typedef CodeStubAssembler::Label Label; |
+ |
+ Node* receiver = assembler->Parameter(0); |
+ Node* name = assembler->Parameter(1); |
+ Node* slot = assembler->Parameter(2); |
+ Node* vector = assembler->Parameter(3); |
+ Node* context = assembler->Parameter(4); |
+ |
+ CodeStubAssembler::LoadICParameters p(context, receiver, name, slot, vector); |
+ Label miss(assembler); |
+ assembler->LoadIC(&p, &miss); |
+ |
+ assembler->Bind(&miss); |
+ assembler->TailCallRuntime(Runtime::kLoadIC_Miss, context, receiver, name, |
+ slot, vector); |
+} |
+ |
void AllocateHeapNumberStub::GenerateAssembly( |
CodeStubAssembler* assembler) const { |
typedef compiler::Node Node; |