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

Unified Diff: src/ia32/code-stubs-ia32.cc

Issue 384403002: StubCallInterfaceDescriptor takes a context register. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Base class for Descriptors. Created 6 years, 5 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/ia32/code-stubs-ia32.cc
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
index 1dfd62f9f5ebe3852b69b0b308d0cd0086ecc959..701c8ba8f9b39aeb631c29e3de0ad642e46187e8 100644
--- a/src/ia32/code-stubs-ia32.cc
+++ b/src/ia32/code-stubs-ia32.cc
@@ -101,6 +101,9 @@ void TransitionElementsKindStub::InitializeInterfaceDescriptor(
}
+const Register InterfaceDescriptor::ContextRegister() { return esi; }
+
+
static void InitializeArrayConstructorDescriptor(
Isolate* isolate,
CodeStubInterfaceDescriptor* descriptor,
@@ -265,13 +268,11 @@ void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
CallInterfaceDescriptor* descriptor =
isolate->call_descriptor(Isolate::ArgumentAdaptorCall);
Register registers[] = { edi, // JSFunction
- esi, // context
eax, // actual number of arguments
ebx, // expected number of arguments
};
Representation representations[] = {
Representation::Tagged(), // JSFunction
- Representation::Tagged(), // context
Representation::Integer32(), // actual number of arguments
Representation::Integer32(), // expected number of arguments
};
@@ -280,36 +281,27 @@ void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
{
CallInterfaceDescriptor* descriptor =
isolate->call_descriptor(Isolate::KeyedCall);
- Register registers[] = { esi, // context
- ecx, // key
- };
+ Register registers[] = { ecx }; // key
Representation representations[] = {
- Representation::Tagged(), // context
- Representation::Tagged(), // key
+ Representation::Tagged() // key
};
descriptor->Initialize(ARRAY_SIZE(registers), registers, representations);
}
{
CallInterfaceDescriptor* descriptor =
isolate->call_descriptor(Isolate::NamedCall);
- Register registers[] = { esi, // context
- ecx, // name
- };
+ Register registers[] = { ecx }; // name
Representation representations[] = {
- Representation::Tagged(), // context
- Representation::Tagged(), // name
+ Representation::Tagged() // name
};
descriptor->Initialize(ARRAY_SIZE(registers), registers, representations);
}
{
CallInterfaceDescriptor* descriptor =
isolate->call_descriptor(Isolate::CallHandler);
- Register registers[] = { esi, // context
- edx, // receiver
- };
+ Register registers[] = { edx }; // receiver
Representation representations[] = {
- Representation::Tagged(), // context
- Representation::Tagged(), // receiver
+ Representation::Tagged() // receiver
};
descriptor->Initialize(ARRAY_SIZE(registers), registers, representations);
}
@@ -319,15 +311,13 @@ void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
Register registers[] = { eax, // callee
ebx, // call_data
ecx, // holder
- edx, // api_function_address
- esi, // context
+ edx // api_function_address
};
Representation representations[] = {
Representation::Tagged(), // callee
Representation::Tagged(), // call_data
Representation::Tagged(), // holder
- Representation::External(), // api_function_address
- Representation::Tagged(), // context
+ Representation::External() // api_function_address
};
descriptor->Initialize(ARRAY_SIZE(registers), registers, representations);
}

Powered by Google App Engine
This is Rietveld 408576698