Commit 31c77b13 authored by oth's avatar oth Committed by Commit bot

[interpreter] Address naming inconsistencies in bytecodes.

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2007023003
Cr-Commit-Position: refs/heads/master@{#36509}
parent a436e3dd
......@@ -756,7 +756,7 @@ Node* BytecodeGraphBuilder::BuildNamedLoad() {
return NewNode(op, object, GetFunctionClosure());
}
void BytecodeGraphBuilder::VisitLoadIC() {
void BytecodeGraphBuilder::VisitLdaNamedProperty() {
FrameStateBeforeAndAfter states(this);
Node* node = BuildNamedLoad();
environment()->BindAccumulator(node, &states);
......@@ -780,7 +780,7 @@ Node* BytecodeGraphBuilder::BuildKeyedLoad() {
return NewNode(op, object, key, GetFunctionClosure());
}
void BytecodeGraphBuilder::VisitKeyedLoadIC() {
void BytecodeGraphBuilder::VisitLdaKeyedProperty() {
FrameStateBeforeAndAfter states(this);
Node* node = BuildKeyedLoad();
environment()->BindAccumulator(node, &states);
......@@ -808,11 +808,11 @@ void BytecodeGraphBuilder::BuildNamedStore(LanguageMode language_mode) {
environment()->RecordAfterState(node, &states);
}
void BytecodeGraphBuilder::VisitStoreICSloppy() {
void BytecodeGraphBuilder::VisitStaNamedPropertySloppy() {
BuildNamedStore(LanguageMode::SLOPPY);
}
void BytecodeGraphBuilder::VisitStoreICStrict() {
void BytecodeGraphBuilder::VisitStaNamedPropertyStrict() {
BuildNamedStore(LanguageMode::STRICT);
}
......@@ -831,11 +831,11 @@ void BytecodeGraphBuilder::BuildKeyedStore(LanguageMode language_mode) {
environment()->RecordAfterState(node, &states);
}
void BytecodeGraphBuilder::VisitKeyedStoreICSloppy() {
void BytecodeGraphBuilder::VisitStaKeyedPropertySloppy() {
BuildKeyedStore(LanguageMode::SLOPPY);
}
void BytecodeGraphBuilder::VisitKeyedStoreICStrict() {
void BytecodeGraphBuilder::VisitStaKeyedPropertyStrict() {
BuildKeyedStore(LanguageMode::STRICT);
}
......
......@@ -363,8 +363,9 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadNamedProperty(
OperandScale operand_scale = Bytecodes::OperandSizesToScale(
object.SizeOfOperand(), Bytecodes::SizeForUnsignedOperand(name_index),
Bytecodes::SizeForUnsignedOperand(feedback_slot));
OutputScaled(Bytecode::kLoadIC, operand_scale, RegisterOperand(object),
UnsignedOperand(name_index), UnsignedOperand(feedback_slot));
OutputScaled(Bytecode::kLdaNamedProperty, operand_scale,
RegisterOperand(object), UnsignedOperand(name_index),
UnsignedOperand(feedback_slot));
return *this;
}
......@@ -372,15 +373,15 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadKeyedProperty(
Register object, int feedback_slot) {
OperandScale operand_scale = Bytecodes::OperandSizesToScale(
object.SizeOfOperand(), Bytecodes::SizeForUnsignedOperand(feedback_slot));
OutputScaled(Bytecode::kKeyedLoadIC, operand_scale, RegisterOperand(object),
UnsignedOperand(feedback_slot));
OutputScaled(Bytecode::kLdaKeyedProperty, operand_scale,
RegisterOperand(object), UnsignedOperand(feedback_slot));
return *this;
}
BytecodeArrayBuilder& BytecodeArrayBuilder::StoreNamedProperty(
Register object, const Handle<Name> name, int feedback_slot,
LanguageMode language_mode) {
Bytecode bytecode = BytecodeForStoreIC(language_mode);
Bytecode bytecode = BytecodeForStoreNamedProperty(language_mode);
size_t name_index = GetConstantPoolEntry(name);
OperandScale operand_scale = Bytecodes::OperandSizesToScale(
object.SizeOfOperand(), Bytecodes::SizeForUnsignedOperand(name_index),
......@@ -394,7 +395,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::StoreNamedProperty(
BytecodeArrayBuilder& BytecodeArrayBuilder::StoreKeyedProperty(
Register object, Register key, int feedback_slot,
LanguageMode language_mode) {
Bytecode bytecode = BytecodeForKeyedStoreIC(language_mode);
Bytecode bytecode = BytecodeForStoreKeyedProperty(language_mode);
OperandScale operand_scale = Bytecodes::OperandSizesToScale(
object.SizeOfOperand(), key.SizeOfOperand(),
Bytecodes::SizeForUnsignedOperand(feedback_slot));
......@@ -1150,12 +1151,13 @@ Bytecode BytecodeArrayBuilder::BytecodeForCompareOperation(Token::Value op) {
// static
Bytecode BytecodeArrayBuilder::BytecodeForStoreIC(LanguageMode language_mode) {
Bytecode BytecodeArrayBuilder::BytecodeForStoreNamedProperty(
LanguageMode language_mode) {
switch (language_mode) {
case SLOPPY:
return Bytecode::kStoreICSloppy;
return Bytecode::kStaNamedPropertySloppy;
case STRICT:
return Bytecode::kStoreICStrict;
return Bytecode::kStaNamedPropertyStrict;
default:
UNREACHABLE();
}
......@@ -1164,13 +1166,13 @@ Bytecode BytecodeArrayBuilder::BytecodeForStoreIC(LanguageMode language_mode) {
// static
Bytecode BytecodeArrayBuilder::BytecodeForKeyedStoreIC(
Bytecode BytecodeArrayBuilder::BytecodeForStoreKeyedProperty(
LanguageMode language_mode) {
switch (language_mode) {
case SLOPPY:
return Bytecode::kKeyedStoreICSloppy;
return Bytecode::kStaKeyedPropertySloppy;
case STRICT:
return Bytecode::kKeyedStoreICStrict;
return Bytecode::kStaKeyedPropertyStrict;
default:
UNREACHABLE();
}
......
......@@ -288,8 +288,8 @@ class BytecodeArrayBuilder final : public ZoneObject {
static Bytecode BytecodeForBinaryOperation(Token::Value op);
static Bytecode BytecodeForCountOperation(Token::Value op);
static Bytecode BytecodeForCompareOperation(Token::Value op);
static Bytecode BytecodeForStoreIC(LanguageMode language_mode);
static Bytecode BytecodeForKeyedStoreIC(LanguageMode language_mode);
static Bytecode BytecodeForStoreNamedProperty(LanguageMode language_mode);
static Bytecode BytecodeForStoreKeyedProperty(LanguageMode language_mode);
static Bytecode BytecodeForLoadGlobal(TypeofMode typeof_mode);
static Bytecode BytecodeForStoreGlobal(LanguageMode language_mode);
static Bytecode BytecodeForStoreLookupSlot(LanguageMode language_mode);
......
......@@ -201,10 +201,10 @@ void TransformLdaStarToLdrLdar(Bytecode new_bytecode, BytecodeNode* const last,
bool BytecodePeepholeOptimizer::ChangeLdaToLdr(BytecodeNode* const current) {
if (current->bytecode() == Bytecode::kStar) {
switch (last_.bytecode()) {
case Bytecode::kLoadIC:
case Bytecode::kLdaNamedProperty:
TransformLdaStarToLdrLdar(Bytecode::kLdrNamedProperty, &last_, current);
return true;
case Bytecode::kKeyedLoadIC:
case Bytecode::kLdaKeyedProperty:
TransformLdaStarToLdrLdar(Bytecode::kLdrKeyedProperty, &last_, current);
return true;
case Bytecode::kLdaGlobal:
......
......@@ -125,24 +125,24 @@ namespace interpreter {
/* Register-register transfers */ \
V(Mov, AccumulatorUse::kNone, OperandType::kReg, OperandType::kRegOut) \
\
/* LoadIC operations */ \
V(LoadIC, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kIdx, \
OperandType::kIdx) \
/* Property loads (LoadIC) operations */ \
V(LdaNamedProperty, AccumulatorUse::kWrite, OperandType::kReg, \
OperandType::kIdx, OperandType::kIdx) \
V(LdrNamedProperty, AccumulatorUse::kNone, OperandType::kReg, \
OperandType::kIdx, OperandType::kIdx, OperandType::kRegOut) \
V(KeyedLoadIC, AccumulatorUse::kReadWrite, OperandType::kReg, \
V(LdaKeyedProperty, AccumulatorUse::kReadWrite, OperandType::kReg, \
OperandType::kIdx) \
V(LdrKeyedProperty, AccumulatorUse::kRead, OperandType::kReg, \
OperandType::kIdx, OperandType::kRegOut) \
\
/* StoreIC operations */ \
V(StoreICSloppy, AccumulatorUse::kRead, OperandType::kReg, \
/* Propery stores (StoreIC) operations */ \
V(StaNamedPropertySloppy, AccumulatorUse::kRead, OperandType::kReg, \
OperandType::kIdx, OperandType::kIdx) \
V(StoreICStrict, AccumulatorUse::kRead, OperandType::kReg, \
V(StaNamedPropertyStrict, AccumulatorUse::kRead, OperandType::kReg, \
OperandType::kIdx, OperandType::kIdx) \
V(KeyedStoreICSloppy, AccumulatorUse::kRead, OperandType::kReg, \
V(StaKeyedPropertySloppy, AccumulatorUse::kRead, OperandType::kReg, \
OperandType::kReg, OperandType::kIdx) \
V(KeyedStoreICStrict, AccumulatorUse::kRead, OperandType::kReg, \
V(StaKeyedPropertyStrict, AccumulatorUse::kRead, OperandType::kReg, \
OperandType::kReg, OperandType::kIdx) \
\
/* Binary Operators */ \
......
......@@ -593,11 +593,11 @@ Node* Interpreter::BuildLoadNamedProperty(Callable ic,
smi_slot, type_feedback_vector);
}
// LoadIC <object> <name_index> <slot>
// LdaNamedProperty <object> <name_index> <slot>
//
// Calls the LoadIC at FeedBackVector slot <slot> for <object> and the name at
// constant pool entry <name_index>.
void Interpreter::DoLoadIC(InterpreterAssembler* assembler) {
void Interpreter::DoLdaNamedProperty(InterpreterAssembler* assembler) {
Callable ic = CodeFactory::LoadICInOptimizedCode(isolate_, NOT_INSIDE_TYPEOF,
UNINITIALIZED);
Node* result = BuildLoadNamedProperty(ic, assembler);
......@@ -636,7 +636,7 @@ Node* Interpreter::BuildLoadKeyedProperty(Callable ic,
//
// Calls the KeyedLoadIC at FeedBackVector slot <slot> for <object> and the key
// in the accumulator.
void Interpreter::DoKeyedLoadIC(InterpreterAssembler* assembler) {
void Interpreter::DoLdaKeyedProperty(InterpreterAssembler* assembler) {
Callable ic =
CodeFactory::KeyedLoadICInOptimizedCode(isolate_, UNINITIALIZED);
Node* result = BuildLoadKeyedProperty(ic, assembler);
......@@ -673,23 +673,23 @@ void Interpreter::DoStoreIC(Callable ic, InterpreterAssembler* assembler) {
__ Dispatch();
}
// StoreICSloppy <object> <name_index> <slot>
// StaNamedPropertySloppy <object> <name_index> <slot>
//
// Calls the sloppy mode StoreIC at FeedBackVector slot <slot> for <object> and
// the name in constant pool entry <name_index> with the value in the
// accumulator.
void Interpreter::DoStoreICSloppy(InterpreterAssembler* assembler) {
void Interpreter::DoStaNamedPropertySloppy(InterpreterAssembler* assembler) {
Callable ic =
CodeFactory::StoreICInOptimizedCode(isolate_, SLOPPY, UNINITIALIZED);
DoStoreIC(ic, assembler);
}
// StoreICStrict <object> <name_index> <slot>
// StaNamedPropertyStrict <object> <name_index> <slot>
//
// Calls the strict mode StoreIC at FeedBackVector slot <slot> for <object> and
// the name in constant pool entry <name_index> with the value in the
// accumulator.
void Interpreter::DoStoreICStrict(InterpreterAssembler* assembler) {
void Interpreter::DoStaNamedPropertyStrict(InterpreterAssembler* assembler) {
Callable ic =
CodeFactory::StoreICInOptimizedCode(isolate_, STRICT, UNINITIALIZED);
DoStoreIC(ic, assembler);
......@@ -711,21 +711,21 @@ void Interpreter::DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler) {
__ Dispatch();
}
// KeyedStoreICSloppy <object> <key> <slot>
// StaKeyedPropertySloppy <object> <key> <slot>
//
// Calls the sloppy mode KeyStoreIC at FeedBackVector slot <slot> for <object>
// and the key <key> with the value in the accumulator.
void Interpreter::DoKeyedStoreICSloppy(InterpreterAssembler* assembler) {
void Interpreter::DoStaKeyedPropertySloppy(InterpreterAssembler* assembler) {
Callable ic =
CodeFactory::KeyedStoreICInOptimizedCode(isolate_, SLOPPY, UNINITIALIZED);
DoKeyedStoreIC(ic, assembler);
}
// KeyedStoreICStrict <object> <key> <slot>
// StaKeyedPropertyStrict <object> <key> <slot>
//
// Calls the strict mode KeyStoreIC at FeedBackVector slot <slot> for <object>
// and the key <key> with the value in the accumulator.
void Interpreter::DoKeyedStoreICStrict(InterpreterAssembler* assembler) {
void Interpreter::DoStaKeyedPropertyStrict(InterpreterAssembler* assembler) {
Callable ic =
CodeFactory::KeyedStoreICInOptimizedCode(isolate_, STRICT, UNINITIALIZED);
DoKeyedStoreIC(ic, assembler);
......
......@@ -41,14 +41,14 @@ bytecodes: [
B(LdaZero),
B(Star), R(1),
/* 54 E> */ B(Ldar), R(0),
B(KeyedStoreICSloppy), R(2), R(1), U8(1),
B(StaKeyedPropertySloppy), R(2), R(1), U8(1),
B(LdaSmi), U8(1),
B(Star), R(1),
/* 57 E> */ B(Ldar), R(0),
B(Star), R(3),
B(LdaSmi), U8(1),
B(Add), R(3),
B(KeyedStoreICSloppy), R(2), R(1), U8(1),
B(StaKeyedPropertySloppy), R(2), R(1), U8(1),
B(Ldar), R(2),
/* 66 S> */ B(Return),
]
......@@ -96,9 +96,9 @@ bytecodes: [
B(LdaZero),
B(Star), R(3),
/* 56 E> */ B(Ldar), R(0),
B(KeyedStoreICSloppy), R(4), R(3), U8(1),
B(StaKeyedPropertySloppy), R(4), R(3), U8(1),
B(Ldar), R(4),
B(KeyedStoreICSloppy), R(2), R(1), U8(5),
B(StaKeyedPropertySloppy), R(2), R(1), U8(5),
B(LdaSmi), U8(1),
B(Star), R(1),
B(CreateArrayLiteral), U8(2), U8(1), U8(3),
......@@ -109,9 +109,9 @@ bytecodes: [
B(Star), R(5),
B(LdaSmi), U8(2),
B(Add), R(5),
B(KeyedStoreICSloppy), R(4), R(3), U8(3),
B(StaKeyedPropertySloppy), R(4), R(3), U8(3),
B(Ldar), R(4),
B(KeyedStoreICSloppy), R(2), R(1), U8(5),
B(StaKeyedPropertySloppy), R(2), R(1), U8(5),
B(Ldar), R(2),
/* 77 S> */ B(Return),
]
......
......@@ -171,7 +171,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Star), R(2),
B(LdaSmi), U8(2),
/* 136 E> */ B(StoreICStrict), R(2), U8(3), U8(4),
/* 136 E> */ B(StaNamedPropertyStrict), R(2), U8(3), U8(4),
B(Ldar), R(this),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(2),
......@@ -239,7 +239,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Star), R(2),
B(LdaSmi), U8(2),
/* 134 E> */ B(StoreICStrict), R(2), U8(3), U8(4),
/* 134 E> */ B(StaNamedPropertyStrict), R(2), U8(3), U8(4),
B(Ldar), R(this),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(2),
......
......@@ -69,7 +69,7 @@ bytecodes: [
B(LdrNamedProperty), R(1), U8(1), U8(1), R(2),
B(LdaSmi), U8(2),
B(Mul), R(2),
/* 61 E> */ B(StoreICSloppy), R(1), U8(1), U8(3),
/* 61 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(3),
B(LdaUndefined),
/* 67 S> */ B(Return),
]
......@@ -98,7 +98,7 @@ bytecodes: [
B(LdrKeyedProperty), R(1), U8(1), R(3),
B(LdaSmi), U8(2),
B(BitwiseXor), R(3),
/* 57 E> */ B(KeyedStoreICSloppy), R(1), R(2), U8(3),
/* 57 E> */ B(StaKeyedPropertySloppy), R(1), R(2), U8(3),
B(LdaUndefined),
/* 63 S> */ B(Return),
]
......
......@@ -106,11 +106,11 @@ bytecodes: [
B(Star), R(1),
B(Star), R(0),
/* 54 S> */ B(Star), R(1),
B(LoadIC), R(1), U8(1), U8(1),
B(LdaNamedProperty), R(1), U8(1), U8(1),
B(ToNumber),
B(Star), R(2),
B(Inc),
/* 66 E> */ B(StoreICSloppy), R(1), U8(1), U8(3),
/* 66 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(3),
B(Ldar), R(2),
/* 70 S> */ B(Return),
]
......@@ -134,9 +134,9 @@ bytecodes: [
B(Star), R(1),
B(Star), R(0),
/* 54 S> */ B(Star), R(1),
B(LoadIC), R(1), U8(1), U8(1),
B(LdaNamedProperty), R(1), U8(1), U8(1),
B(Dec),
/* 65 E> */ B(StoreICSloppy), R(1), U8(1), U8(3),
/* 65 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(3),
/* 70 S> */ B(Return),
]
constant pool: [
......@@ -163,11 +163,11 @@ bytecodes: [
/* 72 S> */ B(Star), R(2),
/* 81 E> */ B(Ldar), R(0),
B(Star), R(3),
B(KeyedLoadIC), R(2), U8(1),
B(LdaKeyedProperty), R(2), U8(1),
B(ToNumber),
B(Star), R(4),
B(Dec),
/* 86 E> */ B(KeyedStoreICSloppy), R(2), R(3), U8(3),
/* 86 E> */ B(StaKeyedPropertySloppy), R(2), R(3), U8(3),
B(Ldar), R(4),
/* 90 S> */ B(Return),
]
......@@ -195,9 +195,9 @@ bytecodes: [
/* 72 S> */ B(Star), R(2),
/* 83 E> */ B(Ldar), R(0),
B(Star), R(3),
B(KeyedLoadIC), R(2), U8(1),
B(LdaKeyedProperty), R(2), U8(1),
B(Inc),
/* 87 E> */ B(KeyedStoreICSloppy), R(2), R(3), U8(3),
/* 87 E> */ B(StaKeyedPropertySloppy), R(2), R(3), U8(3),
/* 90 S> */ B(Return),
]
constant pool: [
......@@ -282,7 +282,7 @@ bytecodes: [
B(Inc),
/* 75 E> */ B(Star), R(0),
B(LdaSmi), U8(2),
/* 79 E> */ B(KeyedStoreICSloppy), R(2), R(3), U8(1),
/* 79 E> */ B(StaKeyedPropertySloppy), R(2), R(3), U8(1),
/* 84 S> */ B(Return),
]
constant pool: [
......
......@@ -43,7 +43,7 @@ bytecodes: [
/* 15 S> */ B(Ldar), R(0),
B(Star), R(1),
/* 31 E> */ B(LdaZero),
B(KeyedLoadIC), R(1), U8(1),
B(LdaKeyedProperty), R(1), U8(1),
/* 36 S> */ B(Return),
]
constant pool: [
......@@ -90,7 +90,7 @@ bytecodes: [
/* 16 S> */ B(Ldar), R(0),
B(Star), R(2),
/* 32 E> */ B(LdaZero),
B(KeyedLoadIC), R(2), U8(1),
B(LdaKeyedProperty), R(2), U8(1),
/* 37 S> */ B(Return),
]
constant pool: [
......
......@@ -71,7 +71,7 @@ bytecodes: [
/* 29 S> */ B(Ldar), R(0),
B(Star), R(2),
/* 44 E> */ B(LdaZero),
B(KeyedLoadIC), R(2), U8(1),
B(LdaKeyedProperty), R(2), U8(1),
/* 49 S> */ B(Return),
]
constant pool: [
......@@ -104,7 +104,7 @@ bytecodes: [
/* 50 E> */ B(Ldar), R(0),
B(Star), R(3),
/* 59 E> */ B(LdaZero),
B(KeyedLoadIC), R(3), U8(3),
B(LdaKeyedProperty), R(3), U8(3),
B(Add), R(4),
/* 64 S> */ B(Return),
]
......
......@@ -176,7 +176,7 @@ bytecodes: [
/* 67 E> */ B(Ldar), R(0),
B(Star), R(7),
B(Ldar), R(6),
B(StoreICSloppy), R(7), U8(2), U8(7),
B(StaNamedPropertySloppy), R(7), U8(2), U8(7),
/* 62 E> */ B(StackCheck),
/* 95 S> */ B(Ldar), R(0),
B(Star), R(6),
......@@ -236,12 +236,12 @@ bytecodes: [
B(LdaZero),
B(Star), R(8),
B(Ldar), R(6),
B(KeyedStoreICSloppy), R(7), R(8), U8(5),
B(StaKeyedPropertySloppy), R(7), R(8), U8(5),
/* 59 E> */ B(StackCheck),
/* 83 S> */ B(Ldar), R(0),
B(Star), R(6),
/* 91 E> */ B(LdaSmi), U8(3),
B(KeyedLoadIC), R(6), U8(3),
B(LdaKeyedProperty), R(6), U8(3),
/* 98 S> */ B(Return),
B(ForInStep), R(5),
B(Star), R(5),
......
......@@ -41,7 +41,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Ldar), R(2),
B(Star), R(13),
B(LoadIC), R(13), U8(3), U8(9),
B(LdaNamedProperty), R(13), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(27),
B(LdaSmi), U8(2),
B(Star), R(3),
......@@ -217,7 +217,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
B(Ldar), R(2),
B(Star), R(14),
B(LoadIC), R(14), U8(3), U8(9),
B(LdaNamedProperty), R(14), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(31),
B(LdaSmi), U8(2),
B(Star), R(3),
......@@ -400,7 +400,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Ldar), R(2),
B(Star), R(13),
B(LoadIC), R(13), U8(3), U8(9),
B(LdaNamedProperty), R(13), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(49),
B(LdaSmi), U8(2),
B(Star), R(3),
......@@ -588,7 +588,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
B(Ldar), R(1),
B(Star), R(12),
B(LoadIC), R(12), U8(4), U8(9),
B(LdaNamedProperty), R(12), U8(4), U8(9),
B(JumpIfToBooleanTrue), U8(41),
B(LdaSmi), U8(2),
B(Star), R(2),
......@@ -596,8 +596,8 @@ bytecodes: [
B(Star), R(12),
B(Ldar), R(1),
B(Star), R(13),
B(LoadIC), R(13), U8(5), U8(11),
B(StoreICSloppy), R(12), U8(6), U8(13),
B(LdaNamedProperty), R(13), U8(5), U8(11),
B(StaNamedPropertySloppy), R(12), U8(6), U8(13),
B(Ldar), R(3),
/* 62 E> */ B(StackCheck),
/* 88 S> */ B(Ldar), R(6),
......
......@@ -360,12 +360,12 @@ bytecodes: [
B(LdrContextSlot), R(1), U8(8), R(11),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
B(LdrContextSlot), R(1), U8(8), R(11),
B(LoadIC), R(11), U8(5), U8(9),
B(LdaNamedProperty), R(11), U8(5), U8(9),
B(JumpIfToBooleanTrueConstant), U8(10),
B(LdaSmi), U8(2),
B(StaContextSlot), R(1), U8(9),
B(LdrContextSlot), R(1), U8(8), R(11),
B(LoadIC), R(11), U8(6), U8(11),
B(LdaNamedProperty), R(11), U8(6), U8(11),
B(StaContextSlot), R(1), U8(6),
B(LdaContextSlot), R(1), U8(10),
/* 16 E> */ B(StackCheck),
......@@ -465,7 +465,7 @@ bytecodes: [
B(ToBooleanLogicalNot),
B(JumpIfFalseConstant), U8(16),
B(LdrContextSlot), R(1), U8(7), R(10),
B(LoadIC), R(10), U8(12), U8(13),
B(LdaNamedProperty), R(10), U8(12), U8(13),
B(StaContextSlot), R(1), U8(11),
B(LdrContextSlot), R(1), U8(11), R(10),
B(LdaNull),
......
......@@ -59,7 +59,7 @@ bytecodes: [
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(1),
/* 75 E> */ B(Ldar), R(0),
B(StoreICSloppy), R(1), U8(1), U8(1),
B(StaNamedPropertySloppy), R(1), U8(1), U8(1),
B(Ldar), R(1),
/* 80 S> */ B(Return),
]
......@@ -87,7 +87,7 @@ bytecodes: [
/* 67 E> */ B(Star), R(2),
B(LdaSmi), U8(1),
B(Add), R(2),
B(StoreICSloppy), R(1), U8(1), U8(1),
B(StaNamedPropertySloppy), R(1), U8(1), U8(1),
B(Ldar), R(1),
/* 76 S> */ B(Return),
]
......@@ -110,7 +110,7 @@ bytecodes: [
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(0),
B(CreateClosure), U8(1), U8(0),
B(StoreICSloppy), R(0), U8(2), U8(1),
B(StaNamedPropertySloppy), R(0), U8(2), U8(1),
B(Ldar), R(0),
/* 67 S> */ B(Return),
]
......@@ -134,7 +134,7 @@ bytecodes: [
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
B(Star), R(0),
B(CreateClosure), U8(1), U8(0),
B(StoreICSloppy), R(0), U8(2), U8(1),
B(StaNamedPropertySloppy), R(0), U8(2), U8(1),
B(Ldar), R(0),
/* 68 S> */ B(Return),
]
......@@ -345,7 +345,7 @@ bytecodes: [
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(1),
B(Star), R(1),
/* 64 E> */ B(Ldar), R(0),
B(StoreICSloppy), R(1), U8(2), U8(1),
B(StaNamedPropertySloppy), R(1), U8(2), U8(1),
B(Mov), R(1), R(2),
/* 68 E> */ B(Ldar), R(0),
B(ToName),
......
......@@ -20,7 +20,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 24 E> */ B(LoadIC), R(0), U8(0), U8(1),
/* 24 E> */ B(LdaNamedProperty), R(0), U8(0), U8(1),
/* 31 S> */ B(Return),
]
constant pool: [
......@@ -41,7 +41,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 24 E> */ B(LoadIC), R(0), U8(0), U8(1),
/* 24 E> */ B(LdaNamedProperty), R(0), U8(0), U8(1),
/* 33 S> */ B(Return),
]
constant pool: [
......@@ -63,7 +63,7 @@ bytecodes: [
/* 16 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 24 E> */ B(LdaSmi), U8(100),
B(KeyedLoadIC), R(0), U8(1),
B(LdaKeyedProperty), R(0), U8(1),
/* 31 S> */ B(Return),
]
constant pool: [
......@@ -84,7 +84,7 @@ bytecodes: [
/* 19 S> */ B(Ldar), R(arg0),
B(Star), R(0),
/* 27 E> */ B(Ldar), R(arg1),
B(KeyedLoadIC), R(0), U8(1),
B(LdaKeyedProperty), R(0), U8(1),
/* 32 S> */ B(Return),
]
constant pool: [
......@@ -108,7 +108,7 @@ bytecodes: [
/* 32 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 40 E> */ B(LdaSmi), U8(-124),
B(KeyedLoadIC), R(1), U8(3),
B(LdaKeyedProperty), R(1), U8(3),
/* 48 S> */ B(Return),
]
constant pool: [
......@@ -644,7 +644,7 @@ bytecodes: [
/* 1810 E> */ B(LdrNamedProperty), R(1), U8(0), U8(255), R(0),
/* 1819 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1827 E> */ B(Wide), B(LoadIC), R16(1), U16(0), U16(257),
/* 1827 E> */ B(Wide), B(LdaNamedProperty), R16(1), U16(0), U16(257),
/* 1834 S> */ B(Return),
]
constant pool: [
......@@ -1309,7 +1309,7 @@ bytecodes: [
/* 1566 S> */ B(Ldar), R(arg0),
B(Star), R(1),
/* 1574 E> */ B(Ldar), R(arg1),
B(Wide), B(KeyedLoadIC), R16(1), U16(257),
B(Wide), B(LdaKeyedProperty), R16(1), U16(257),
/* 1579 S> */ B(Return),
]
constant pool: [
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -29,7 +29,7 @@ bytecodes: [
B(CreateObjectLiteral), U8(2), U8(0), U8(1),
B(Star), R(4),
B(CreateClosure), U8(3), U8(0),
B(StoreICSloppy), R(4), U8(4), U8(3),
B(StaNamedPropertySloppy), R(4), U8(4), U8(3),
B(Ldar), R(4),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3),
......
......@@ -165,14 +165,14 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) {
offset += Bytecodes::Size(Bytecode::kStar, OperandScale::kSingle);
iterator.Advance();
CHECK_EQ(iterator.current_bytecode(), Bytecode::kLoadIC);
CHECK_EQ(iterator.current_bytecode(), Bytecode::kLdaNamedProperty);
CHECK_EQ(iterator.current_offset(), offset);
CHECK_EQ(iterator.current_operand_scale(), OperandScale::kSingle);
CHECK_EQ(iterator.GetRegisterOperand(0).index(), reg_1.index());
CHECK_EQ(iterator.GetIndexOperand(1), name_index);
CHECK_EQ(iterator.GetIndexOperand(2), feedback_slot);
CHECK(!iterator.done());
offset += Bytecodes::Size(Bytecode::kLoadIC, OperandScale::kSingle);
offset += Bytecodes::Size(Bytecode::kLdaNamedProperty, OperandScale::kSingle);
iterator.Advance();
CHECK_EQ(iterator.current_bytecode(), Bytecode::kAdd);
......
......@@ -388,8 +388,8 @@ TEST_F(BytecodePeepholeOptimizerTest, MergeLoadICStar) {
static_cast<uint32_t>(Register(256).ToOperand())};
const int expected_operand_count = static_cast<int>(arraysize(operands));
BytecodeNode first(Bytecode::kLoadIC, operands[0], operands[1], operands[2],
OperandScale::kSingle);
BytecodeNode first(Bytecode::kLdaNamedProperty, operands[0], operands[1],
operands[2], OperandScale::kSingle);
BytecodeNode second(Bytecode::kStar, operands[3], OperandScale::kDouble);
BytecodeNode third(Bytecode::kReturn);
optimizer()->Write(&first);
......@@ -410,13 +410,13 @@ TEST_F(BytecodePeepholeOptimizerTest, MergeLoadICStar) {
CHECK_EQ(last_written().bytecode(), third.bytecode());
}
TEST_F(BytecodePeepholeOptimizerTest, MergeKeyedLoadICStar) {
TEST_F(BytecodePeepholeOptimizerTest, MergeLdaKeyedPropertyStar) {
const uint32_t operands[] = {static_cast<uint32_t>(Register(31).ToOperand()),
9999997,
static_cast<uint32_t>(Register(1).ToOperand())};
const int expected_operand_count = static_cast<int>(arraysize(operands));
BytecodeNode first(Bytecode::kKeyedLoadIC, operands[0], operands[1],
BytecodeNode first(Bytecode::kLdaKeyedProperty, operands[0], operands[1],
OperandScale::kQuadruple);
BytecodeNode second(Bytecode::kStar, operands[2], OperandScale::kSingle);
BytecodeNode third(Bytecode::kReturn);
......
......@@ -92,10 +92,10 @@ TEST_F(BytecodeNodeTest, Constructor3) {
TEST_F(BytecodeNodeTest, Constructor4) {
uint32_t operands[] = {0x11, 0x22, 0x33};
BytecodeNode node(Bytecode::kLoadIC, operands[0], operands[1], operands[2],
OperandScale::kSingle);
BytecodeNode node(Bytecode::kLdaNamedProperty, operands[0], operands[1],
operands[2], OperandScale::kSingle);
CHECK_EQ(node.operand_count(), 3);
CHECK_EQ(node.bytecode(), Bytecode::kLoadIC);
CHECK_EQ(node.bytecode(), Bytecode::kLdaNamedProperty);
CHECK_EQ(node.operand(0), operands[0]);
CHECK_EQ(node.operand(1), operands[1]);
CHECK_EQ(node.operand(2), operands[2]);
......
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