Commit e18e3cd4 authored by bmeurer's avatar bmeurer Committed by Commit bot

[stubs] Add missing interface descriptor for the CompareIC.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1006173003

Cr-Commit-Position: refs/heads/master@{#27305}
parent de2a225a
......@@ -227,6 +227,12 @@ void InternalArrayConstructorDescriptor::Initialize(
}
void CompareDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, r1, r0};
data->Initialize(arraysize(registers), registers, NULL);
}
void CompareNilDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, r0};
data->Initialize(arraysize(registers), registers, NULL);
......
......@@ -261,6 +261,15 @@ void InternalArrayConstructorDescriptor::Initialize(
}
void CompareDescriptor::Initialize(CallInterfaceDescriptorData* data) {
// cp: context
// x1: left operand
// x0: right operand
Register registers[] = {cp, x1, x0};
data->Initialize(arraysize(registers), registers, NULL);
}
void CompareNilDescriptor::Initialize(CallInterfaceDescriptorData* data) {
// cp: context
// x0: value to compare
......
......@@ -107,7 +107,7 @@ Callable CodeFactory::KeyedStoreICInOptimizedCode(
// static
Callable CodeFactory::CompareIC(Isolate* isolate, Token::Value op) {
Handle<Code> code = CompareIC::GetUninitialized(isolate, op);
return Callable(code, BinaryOpDescriptor(isolate));
return Callable(code, CompareDescriptor(isolate));
}
......
......@@ -228,6 +228,12 @@ void InternalArrayConstructorDescriptor::Initialize(
}
void CompareDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {esi, edx, eax};
data->Initialize(arraysize(registers), registers, NULL);
}
void CompareNilDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {esi, eax};
data->Initialize(arraysize(registers), registers, NULL);
......
......@@ -40,6 +40,7 @@ class PlatformInterfaceDescriptor;
V(ArrayConstructor) \
V(InternalArrayConstructorConstantArgCount) \
V(InternalArrayConstructor) \
V(Compare) \
V(CompareNil) \
V(ToBoolean) \
V(BinaryOp) \
......@@ -406,6 +407,12 @@ class InternalArrayConstructorDescriptor : public CallInterfaceDescriptor {
};
class CompareDescriptor : public CallInterfaceDescriptor {
public:
DECLARE_DESCRIPTOR(CompareDescriptor, CallInterfaceDescriptor)
};
class CompareNilDescriptor : public CallInterfaceDescriptor {
public:
DECLARE_DESCRIPTOR(CompareNilDescriptor, CallInterfaceDescriptor)
......
......@@ -227,6 +227,12 @@ void InternalArrayConstructorDescriptor::Initialize(
}
void CompareDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, a1, a0};
data->Initialize(arraysize(registers), registers, NULL);
}
void CompareNilDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, a0};
data->Initialize(arraysize(registers), registers, NULL);
......
......@@ -227,6 +227,12 @@ void InternalArrayConstructorDescriptor::Initialize(
}
void CompareDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, a1, a0};
data->Initialize(arraysize(registers), registers, NULL);
}
void CompareNilDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, a0};
data->Initialize(arraysize(registers), registers, NULL);
......
......@@ -227,6 +227,12 @@ void InternalArrayConstructorDescriptor::Initialize(
}
void CompareDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, r4, r3};
data->Initialize(arraysize(registers), registers, NULL);
}
void CompareNilDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {cp, r3};
data->Initialize(arraysize(registers), registers, NULL);
......
......@@ -229,6 +229,12 @@ void InternalArrayConstructorDescriptor::Initialize(
}
void CompareDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {rsi, rdx, rax};
data->Initialize(arraysize(registers), registers, NULL);
}
void CompareNilDescriptor::Initialize(CallInterfaceDescriptorData* data) {
Register registers[] = {rsi, rax};
data->Initialize(arraysize(registers), registers, NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment