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

Unified Diff: src/ic/access-compiler.cc

Issue 2033423002: [builtins] Turn LoadIC_Miss and LoadIC_Slow builtins to TurboFan code stubs. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@load-ic-stub-tf
Patch Set: Created 4 years, 6 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
Index: src/ic/access-compiler.cc
diff --git a/src/ic/access-compiler.cc b/src/ic/access-compiler.cc
index c99219201a00f14ae1401de37ab5b21d1153709b..7570d3b311808d6ba37bef87f386114f24fbbe53 100644
--- a/src/ic/access-compiler.cc
+++ b/src/ic/access-compiler.cc
@@ -35,13 +35,34 @@ Handle<Code> PropertyAccessCompiler::GetCodeWithFlags(Code::Flags flags,
: GetCodeWithFlags(flags, NULL);
}
+namespace {
-void PropertyAccessCompiler::TailCallBuiltin(MacroAssembler* masm,
- Builtins::Name name) {
- Handle<Code> code(masm->isolate()->builtins()->builtin(name));
- GenerateTailCall(masm, code);
+Handle<Code> MissHandler(Isolate* isolate, Code::Kind kind) {
+ switch (kind) {
+ case Code::LOAD_IC: {
+ LoadICMissStub stub(isolate);
+ return stub.GetCode();
+ }
+ case Code::STORE_IC:
+ return isolate->builtins()->StoreIC_Miss();
+ case Code::KEYED_LOAD_IC:
+ return isolate->builtins()->KeyedLoadIC_Miss();
+ case Code::KEYED_STORE_IC:
+ return isolate->builtins()->KeyedStoreIC_Miss();
+ default:
+ UNREACHABLE();
+ }
+ LoadICMissStub stub(isolate);
+ return stub.GetCode();
}
+} // namespace
+
+void PropertyAccessCompiler::TailCallMissHandler(MacroAssembler* masm,
+ Code::Kind kind) {
+ Handle<Code> code = MissHandler(masm->isolate(), kind);
+ GenerateTailCall(masm, code);
+}
Register* PropertyAccessCompiler::GetCallingConvention(Code::Kind kind) {
if (kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC) {

Powered by Google App Engine
This is Rietveld 408576698