Revision: 23560
Author: [email protected]
Date: Mon Sep 1 12:15:25 2014 UTC
Log: InterfaceDescriptor becomes CallInterfaceDescriptor.
There was no difference between these two classes in a hierarchical
relationship.
[email protected]
Review URL: https://codereview.chromium.org/532473002
https://code.google.com/p/v8/source/detail?r=23560
Modified:
/branches/bleeding_edge/src/arm/interface-descriptors-arm.cc
/branches/bleeding_edge/src/arm/lithium-arm.cc
/branches/bleeding_edge/src/arm/lithium-arm.h
/branches/bleeding_edge/src/arm64/interface-descriptors-arm64.cc
/branches/bleeding_edge/src/arm64/lithium-arm64.cc
/branches/bleeding_edge/src/arm64/lithium-arm64.h
/branches/bleeding_edge/src/hydrogen-instructions.h
/branches/bleeding_edge/src/ia32/interface-descriptors-ia32.cc
/branches/bleeding_edge/src/ia32/lithium-ia32.cc
/branches/bleeding_edge/src/ia32/lithium-ia32.h
/branches/bleeding_edge/src/interface-descriptors.cc
/branches/bleeding_edge/src/interface-descriptors.h
/branches/bleeding_edge/src/x64/interface-descriptors-x64.cc
/branches/bleeding_edge/src/x64/lithium-x64.cc
/branches/bleeding_edge/src/x64/lithium-x64.h
=======================================
--- /branches/bleeding_edge/src/arm/interface-descriptors-arm.cc Mon Sep 1
09:18:39 2014 UTC
+++ /branches/bleeding_edge/src/arm/interface-descriptors-arm.cc Mon Sep 1
12:15:25 2014 UTC
@@ -11,7 +11,7 @@
namespace v8 {
namespace internal {
-const Register InterfaceDescriptor::ContextRegister() { return cp; }
+const Register CallInterfaceDescriptor::ContextRegister() { return cp; }
void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.cc Mon Sep 1 09:31:14 2014
UTC
+++ /branches/bleeding_edge/src/arm/lithium-arm.cc Mon Sep 1 12:15:25 2014
UTC
@@ -1082,7 +1082,7 @@
LInstruction* LChunkBuilder::DoCallWithDescriptor(
HCallWithDescriptor* instr) {
- const InterfaceDescriptor* descriptor = instr->descriptor();
+ const CallInterfaceDescriptor* descriptor = instr->descriptor();
LOperand* target = UseRegisterOrConstantAtStart(instr->target());
ZoneList<LOperand*> ops(instr->OperandCount(), zone());
=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.h Tue Aug 12 13:33:35 2014
UTC
+++ /branches/bleeding_edge/src/arm/lithium-arm.h Mon Sep 1 12:15:25 2014
UTC
@@ -1874,18 +1874,17 @@
class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> {
public:
- LCallWithDescriptor(const InterfaceDescriptor* descriptor,
- const ZoneList<LOperand*>& operands,
- Zone* zone)
- : descriptor_(descriptor),
- inputs_(descriptor->GetRegisterParameterCount() + 1, zone) {
+ LCallWithDescriptor(const CallInterfaceDescriptor* descriptor,
+ const ZoneList<LOperand*>& operands, Zone* zone)
+ : descriptor_(descriptor),
+ inputs_(descriptor->GetRegisterParameterCount() + 1, zone) {
DCHECK(descriptor->GetRegisterParameterCount() + 1 ==
operands.length());
inputs_.AddAll(operands, zone);
}
LOperand* target() const { return inputs_[0]; }
- const InterfaceDescriptor* descriptor() { return descriptor_; }
+ const CallInterfaceDescriptor* descriptor() { return descriptor_; }
private:
DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor")
@@ -1895,7 +1894,7 @@
int arity() const { return hydrogen()->argument_count() - 1; }
- const InterfaceDescriptor* descriptor_;
+ const CallInterfaceDescriptor* descriptor_;
ZoneList<LOperand*> inputs_;
// Iterator support.
=======================================
--- /branches/bleeding_edge/src/arm64/interface-descriptors-arm64.cc Mon
Sep 1 09:18:39 2014 UTC
+++ /branches/bleeding_edge/src/arm64/interface-descriptors-arm64.cc Mon
Sep 1 12:15:25 2014 UTC
@@ -11,7 +11,7 @@
namespace v8 {
namespace internal {
-const Register InterfaceDescriptor::ContextRegister() { return cp; }
+const Register CallInterfaceDescriptor::ContextRegister() { return cp; }
void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
=======================================
--- /branches/bleeding_edge/src/arm64/lithium-arm64.cc Mon Sep 1 09:31:14
2014 UTC
+++ /branches/bleeding_edge/src/arm64/lithium-arm64.cc Mon Sep 1 12:15:25
2014 UTC
@@ -1036,7 +1036,7 @@
LInstruction* LChunkBuilder::DoCallWithDescriptor(
HCallWithDescriptor* instr) {
- const InterfaceDescriptor* descriptor = instr->descriptor();
+ const CallInterfaceDescriptor* descriptor = instr->descriptor();
LOperand* target = UseRegisterOrConstantAtStart(instr->target());
ZoneList<LOperand*> ops(instr->OperandCount(), zone());
=======================================
--- /branches/bleeding_edge/src/arm64/lithium-arm64.h Thu Aug 21 13:22:18
2014 UTC
+++ /branches/bleeding_edge/src/arm64/lithium-arm64.h Mon Sep 1 12:15:25
2014 UTC
@@ -1523,18 +1523,17 @@
class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> {
public:
- LCallWithDescriptor(const InterfaceDescriptor* descriptor,
- const ZoneList<LOperand*>& operands,
- Zone* zone)
- : descriptor_(descriptor),
- inputs_(descriptor->GetRegisterParameterCount() + 1, zone) {
+ LCallWithDescriptor(const CallInterfaceDescriptor* descriptor,
+ const ZoneList<LOperand*>& operands, Zone* zone)
+ : descriptor_(descriptor),
+ inputs_(descriptor->GetRegisterParameterCount() + 1, zone) {
DCHECK(descriptor->GetRegisterParameterCount() + 1 ==
operands.length());
inputs_.AddAll(operands, zone);
}
LOperand* target() const { return inputs_[0]; }
- const InterfaceDescriptor* descriptor() { return descriptor_; }
+ const CallInterfaceDescriptor* descriptor() { return descriptor_; }
private:
DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor")
@@ -1544,7 +1543,7 @@
int arity() const { return hydrogen()->argument_count() - 1; }
- const InterfaceDescriptor* descriptor_;
+ const CallInterfaceDescriptor* descriptor_;
ZoneList<LOperand*> inputs_;
// Iterator support.
=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.h Mon Sep 1 09:31:14
2014 UTC
+++ /branches/bleeding_edge/src/hydrogen-instructions.h Mon Sep 1 12:15:25
2014 UTC
@@ -2318,11 +2318,10 @@
class HCallWithDescriptor V8_FINAL : public HInstruction {
public:
- static HCallWithDescriptor* New(Zone* zone, HValue* context,
- HValue* target,
- int argument_count,
- const InterfaceDescriptor* descriptor,
- const Vector<HValue*>& operands) {
+ static HCallWithDescriptor* New(Zone* zone, HValue* context, HValue*
target,
+ int argument_count,
+ const CallInterfaceDescriptor*
descriptor,
+ const Vector<HValue*>& operands) {
DCHECK(operands.length() == descriptor->GetEnvironmentLength());
HCallWithDescriptor* res =
new(zone) HCallWithDescriptor(target, argument_count,
@@ -2362,9 +2361,7 @@
return -argument_count_;
}
- const InterfaceDescriptor* descriptor() const {
- return descriptor_;
- }
+ const CallInterfaceDescriptor* descriptor() const { return descriptor_; }
HValue* target() {
return OperandAt(0);
@@ -2374,13 +2371,11 @@
private:
// The argument count includes the receiver.
- HCallWithDescriptor(HValue* target,
- int argument_count,
- const InterfaceDescriptor* descriptor,
- const Vector<HValue*>& operands,
- Zone* zone)
- : descriptor_(descriptor),
- values_(descriptor->GetEnvironmentLength() + 1, zone) {
+ HCallWithDescriptor(HValue* target, int argument_count,
+ const CallInterfaceDescriptor* descriptor,
+ const Vector<HValue*>& operands, Zone* zone)
+ : descriptor_(descriptor),
+ values_(descriptor->GetEnvironmentLength() + 1, zone) {
argument_count_ = argument_count;
AddOperand(target, zone);
for (int i = 0; i < operands.length(); i++) {
@@ -2400,7 +2395,7 @@
values_[index] = value;
}
- const InterfaceDescriptor* descriptor_;
+ const CallInterfaceDescriptor* descriptor_;
ZoneList<HValue*> values_;
int argument_count_;
};
=======================================
--- /branches/bleeding_edge/src/ia32/interface-descriptors-ia32.cc Mon Sep
1 09:18:39 2014 UTC
+++ /branches/bleeding_edge/src/ia32/interface-descriptors-ia32.cc Mon Sep
1 12:15:25 2014 UTC
@@ -12,7 +12,7 @@
namespace v8 {
namespace internal {
-const Register InterfaceDescriptor::ContextRegister() { return esi; }
+const Register CallInterfaceDescriptor::ContextRegister() { return esi; }
void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.cc Mon Sep 1 09:31:14
2014 UTC
+++ /branches/bleeding_edge/src/ia32/lithium-ia32.cc Mon Sep 1 12:15:25
2014 UTC
@@ -1123,7 +1123,7 @@
LInstruction* LChunkBuilder::DoCallWithDescriptor(
HCallWithDescriptor* instr) {
- const InterfaceDescriptor* descriptor = instr->descriptor();
+ const CallInterfaceDescriptor* descriptor = instr->descriptor();
LOperand* target = UseRegisterOrConstantAtStart(instr->target());
ZoneList<LOperand*> ops(instr->OperandCount(), zone());
ops.Add(target, zone());
=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.h Tue Aug 12 13:33:35
2014 UTC
+++ /branches/bleeding_edge/src/ia32/lithium-ia32.h Mon Sep 1 12:15:25
2014 UTC
@@ -1891,10 +1891,9 @@
class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> {
public:
- LCallWithDescriptor(const InterfaceDescriptor* descriptor,
- const ZoneList<LOperand*>& operands,
- Zone* zone)
- : inputs_(descriptor->GetRegisterParameterCount() + 1, zone) {
+ LCallWithDescriptor(const CallInterfaceDescriptor* descriptor,
+ const ZoneList<LOperand*>& operands, Zone* zone)
+ : inputs_(descriptor->GetRegisterParameterCount() + 1, zone) {
DCHECK(descriptor->GetRegisterParameterCount() + 1 ==
operands.length());
inputs_.AddAll(operands, zone);
}
=======================================
--- /branches/bleeding_edge/src/interface-descriptors.cc Mon Sep 1
09:18:39 2014 UTC
+++ /branches/bleeding_edge/src/interface-descriptors.cc Mon Sep 1
12:15:25 2014 UTC
@@ -10,10 +10,7 @@
namespace v8 {
namespace internal {
-InterfaceDescriptor::InterfaceDescriptor() : register_param_count_(-1) {}
-
-
-void InterfaceDescriptor::Initialize(
+void CallInterfaceDescriptor::Initialize(
int register_parameter_count, Register* registers,
Representation* register_param_representations,
PlatformInterfaceDescriptor* platform_descriptor) {
@@ -43,22 +40,13 @@
}
}
}
-
-
-void CallInterfaceDescriptor::Initialize(
- int register_parameter_count, Register* registers,
- Representation* param_representations,
- PlatformInterfaceDescriptor* platform_descriptor) {
- InterfaceDescriptor::Initialize(register_parameter_count, registers,
- param_representations,
platform_descriptor);
-}
void CallDescriptors::InitializeForIsolateAllPlatforms(Isolate* isolate) {
{
CallInterfaceDescriptor* descriptor =
isolate->call_descriptor(CallDescriptorKey::LoadICCall);
- Register registers[] = {InterfaceDescriptor::ContextRegister(),
+ Register registers[] = {CallInterfaceDescriptor::ContextRegister(),
LoadConvention::ReceiverRegister(),
LoadConvention::NameRegister()};
descriptor->Initialize(arraysize(registers), registers, NULL);
@@ -66,7 +54,7 @@
{
CallInterfaceDescriptor* descriptor =
isolate->call_descriptor(CallDescriptorKey::StoreICCall);
- Register registers[] = {InterfaceDescriptor::ContextRegister(),
+ Register registers[] = {CallInterfaceDescriptor::ContextRegister(),
StoreConvention::ReceiverRegister(),
StoreConvention::NameRegister(),
StoreConvention::ValueRegister()};
@@ -76,7 +64,7 @@
CallInterfaceDescriptor* descriptor = isolate->call_descriptor(
CallDescriptorKey::ElementTransitionAndStoreCall);
Register registers[] = {
- InterfaceDescriptor::ContextRegister(),
+ CallInterfaceDescriptor::ContextRegister(),
StoreConvention::ValueRegister(), StoreConvention::MapRegister(),
StoreConvention::NameRegister(),
StoreConvention::ReceiverRegister()};
descriptor->Initialize(arraysize(registers), registers, NULL);
@@ -84,7 +72,7 @@
{
CallInterfaceDescriptor* descriptor =
isolate->call_descriptor(CallDescriptorKey::InstanceofCall);
- Register registers[] = {InterfaceDescriptor::ContextRegister(),
+ Register registers[] = {CallInterfaceDescriptor::ContextRegister(),
InstanceofConvention::left(),
InstanceofConvention::right()};
descriptor->Initialize(arraysize(registers), registers, NULL);
@@ -92,7 +80,7 @@
{
CallInterfaceDescriptor* descriptor =
isolate->call_descriptor(CallDescriptorKey::VectorLoadICCall);
- Register registers[] = {InterfaceDescriptor::ContextRegister(),
+ Register registers[] = {CallInterfaceDescriptor::ContextRegister(),
FullVectorLoadConvention::ReceiverRegister(),
FullVectorLoadConvention::NameRegister(),
FullVectorLoadConvention::SlotRegister(),
=======================================
--- /branches/bleeding_edge/src/interface-descriptors.h Mon Sep 1 09:18:39
2014 UTC
+++ /branches/bleeding_edge/src/interface-descriptors.h Mon Sep 1 12:15:25
2014 UTC
@@ -13,8 +13,21 @@
class PlatformInterfaceDescriptor;
-class InterfaceDescriptor {
+class CallInterfaceDescriptor {
public:
+ CallInterfaceDescriptor() : register_param_count_(-1) {}
+
+ // A copy of the passed in registers and param_representations is made
+ // and owned by the CallInterfaceDescriptor.
+
+ // TODO(mvstanton): Instead of taking parallel arrays register and
+ // param_representations, how about a struct that puts the representation
+ // and register side by side (eg, RegRep(r1, Representation::Tagged()).
+ // The same should go for the CodeStubInterfaceDescriptor class.
+ void Initialize(int register_parameter_count, Register* registers,
+ Representation* param_representations,
+ PlatformInterfaceDescriptor* platform_descriptor = NULL);
+
bool IsInitialized() const { return register_param_count_ >= 0; }
int GetEnvironmentLength() const { return register_param_count_; }
@@ -55,14 +68,6 @@
static const Register ContextRegister();
- protected:
- InterfaceDescriptor();
- virtual ~InterfaceDescriptor() {}
-
- void Initialize(int register_parameter_count, Register* registers,
- Representation* register_param_representations,
- PlatformInterfaceDescriptor* platform_descriptor = NULL);
-
private:
int register_param_count_;
@@ -79,7 +84,7 @@
PlatformInterfaceDescriptor* platform_specific_descriptor_;
- DISALLOW_COPY_AND_ASSIGN(InterfaceDescriptor);
+ DISALLOW_COPY_AND_ASSIGN(CallInterfaceDescriptor);
};
@@ -118,23 +123,6 @@
};
-class CallInterfaceDescriptor : public InterfaceDescriptor {
- public:
- CallInterfaceDescriptor() {}
-
- // A copy of the passed in registers and param_representations is made
- // and owned by the CallInterfaceDescriptor.
-
- // TODO(mvstanton): Instead of taking parallel arrays register and
- // param_representations, how about a struct that puts the representation
- // and register side by side (eg, RegRep(r1, Representation::Tagged()).
- // The same should go for the CodeStubInterfaceDescriptor class.
- void Initialize(int register_parameter_count, Register* registers,
- Representation* param_representations,
- PlatformInterfaceDescriptor* platform_descriptor = NULL);
-};
-
-
class CallDescriptors {
public:
static void InitializeForIsolate(Isolate* isolate);
=======================================
--- /branches/bleeding_edge/src/x64/interface-descriptors-x64.cc Mon Sep 1
09:18:39 2014 UTC
+++ /branches/bleeding_edge/src/x64/interface-descriptors-x64.cc Mon Sep 1
12:15:25 2014 UTC
@@ -11,7 +11,7 @@
namespace v8 {
namespace internal {
-const Register InterfaceDescriptor::ContextRegister() { return rsi; }
+const Register CallInterfaceDescriptor::ContextRegister() { return rsi; }
void CallDescriptors::InitializeForIsolate(Isolate* isolate) {
=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.cc Mon Sep 1 09:31:14 2014
UTC
+++ /branches/bleeding_edge/src/x64/lithium-x64.cc Mon Sep 1 12:15:25 2014
UTC
@@ -1102,7 +1102,7 @@
LInstruction* LChunkBuilder::DoCallWithDescriptor(
HCallWithDescriptor* instr) {
- const InterfaceDescriptor* descriptor = instr->descriptor();
+ const CallInterfaceDescriptor* descriptor = instr->descriptor();
LOperand* target = UseRegisterOrConstantAtStart(instr->target());
ZoneList<LOperand*> ops(instr->OperandCount(), zone());
=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.h Tue Aug 12 13:33:35 2014
UTC
+++ /branches/bleeding_edge/src/x64/lithium-x64.h Mon Sep 1 12:15:25 2014
UTC
@@ -1877,10 +1877,9 @@
class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> {
public:
- LCallWithDescriptor(const InterfaceDescriptor* descriptor,
- const ZoneList<LOperand*>& operands,
- Zone* zone)
- : inputs_(descriptor->GetRegisterParameterCount() + 1, zone) {
+ LCallWithDescriptor(const CallInterfaceDescriptor* descriptor,
+ const ZoneList<LOperand*>& operands, Zone* zone)
+ : inputs_(descriptor->GetRegisterParameterCount() + 1, zone) {
DCHECK(descriptor->GetRegisterParameterCount() + 1 ==
operands.length());
inputs_.AddAll(operands, zone);
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.