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

Unified Diff: src/stub-cache.cc

Issue 442763002: Load constants from the DescriptorArray (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Also removed from arm64 Created 6 years, 4 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/stub-cache.h ('k') | src/x64/stub-cache-x64.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/stub-cache.cc
diff --git a/src/stub-cache.cc b/src/stub-cache.cc
index d7a47e32023ce61435e8d20b208535d4cdb31c28..5ff45c04efc219873769985645a02a4930f583c7 100644
--- a/src/stub-cache.cc
+++ b/src/stub-cache.cc
@@ -842,18 +842,22 @@ void PropertyHandlerCompiler::NonexistentFrontendHeader(Handle<Name> name,
}
-Handle<Code> NamedLoadHandlerCompiler::CompileLoadField(
- Handle<Name> name, FieldIndex field, Representation representation) {
+Handle<Code> NamedLoadHandlerCompiler::CompileLoadField(Handle<Name> name,
+ FieldIndex field) {
Register reg = Frontend(receiver(), name);
- GenerateLoadField(reg, field, representation);
+ __ Move(receiver(), reg);
+ LoadFieldStub stub(isolate(), field);
+ GenerateTailCall(masm(), stub.GetCode());
return GetCode(kind(), Code::FAST, name);
}
-Handle<Code> NamedLoadHandlerCompiler::CompileLoadConstant(
- Handle<Name> name, Handle<Object> value) {
- Frontend(receiver(), name);
- GenerateLoadConstant(value);
+Handle<Code> NamedLoadHandlerCompiler::CompileLoadConstant(Handle<Name> name,
+ int constant_index) {
+ Register reg = Frontend(receiver(), name);
+ __ Move(receiver(), reg);
+ LoadConstantStub stub(isolate(), constant_index);
+ GenerateTailCall(masm(), stub.GetCode());
return GetCode(kind(), Code::FAST, name);
}
@@ -917,7 +921,9 @@ void NamedLoadHandlerCompiler::GenerateLoadPostInterceptor(
Register reg = Frontend(interceptor_reg, name);
if (lookup->IsField()) {
- GenerateLoadField(reg, lookup->GetFieldIndex(), lookup->representation());
+ __ Move(receiver(), reg);
+ LoadFieldStub stub(isolate(), lookup->GetFieldIndex());
+ GenerateTailCall(masm(), stub.GetCode());
} else {
DCHECK(lookup->type() == CALLBACKS);
Handle<ExecutableAccessorInfo> callback(
« no previous file with comments | « src/stub-cache.h ('k') | src/x64/stub-cache-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698