Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Unified Diff: src/code-stubs.cc

Issue 2669123002: [stubs] Port CallICTrampolineStub to CodeStubAssembler. (Closed)
Patch Set: Fix the CSA verifier issue. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/code-stubs.h ('k') | src/ia32/code-stubs-ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 =
« no previous file with comments | « src/code-stubs.h ('k') | src/ia32/code-stubs-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698