Chromium Code Reviews| Index: src/interpreter/bytecodes.h |
| diff --git a/src/interpreter/bytecodes.h b/src/interpreter/bytecodes.h |
| index 83c09dbd2eabebcb29cabc2cb5d90902162a4b1c..e6cda3941bec1afa3f502f46c989461f8364c529 100644 |
| --- a/src/interpreter/bytecodes.h |
| +++ b/src/interpreter/bytecodes.h |
| @@ -119,19 +119,19 @@ namespace interpreter { |
| V(Mov, AccumulatorUse::kNone, OperandType::kReg, OperandType::kRegOut) \ |
| \ |
| /* LoadIC operations */ \ |
| - V(LoadIC, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kIdx, \ |
| - OperandType::kIdx) \ |
| - V(KeyedLoadIC, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
| + V(LdaNamedProperty, AccumulatorUse::kWrite, OperandType::kReg, \ |
| + OperandType::kIdx, OperandType::kIdx) \ |
| + V(LdaKeyedProperty, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
| OperandType::kIdx) \ |
| \ |
| /* StoreIC operations */ \ |
| - V(StoreICSloppy, AccumulatorUse::kRead, OperandType::kReg, \ |
| + 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, \ |
|
rmcilroy
2016/05/18 16:09:41
Could we do this renaming in a seperate CL as well
oth
2016/05/18 20:22:25
Done.
|
| OperandType::kReg, OperandType::kIdx) \ |
| \ |
| /* Binary Operators */ \ |
| @@ -254,7 +254,18 @@ namespace interpreter { |
| \ |
| /* No operation (used to maintain source positions for peephole */ \ |
| /* eliminated bytecodes). */ \ |
| - V(Nop, AccumulatorUse::kNone) |
| + V(Nop, AccumulatorUse::kNone) \ |
| + \ |
| + /* Fused bytecodes emitted by the peephole optimizer. */ \ |
| + V(LdrUndefined, AccumulatorUse::kNone, OperandType::kRegOut) \ |
| + V(LdrContextSlot, AccumulatorUse::kNone, OperandType::kReg, \ |
| + OperandType::kIdx, OperandType::kRegOut) \ |
| + V(LdrGlobal, AccumulatorUse::kNone, OperandType::kIdx, OperandType::kIdx, \ |
| + OperandType::kRegOut) \ |
| + V(LdrNamedProperty, AccumulatorUse::kNone, OperandType::kReg, \ |
| + OperandType::kIdx, OperandType::kIdx, OperandType::kRegOut) \ |
| + V(LdrKeyedProperty, AccumulatorUse::kRead, OperandType::kReg, \ |
| + OperandType::kIdx, OperandType::kRegOut) |
|
rmcilroy
2016/05/17 15:49:33
I'd prefer these lived next to the Lda versions -
oth
2016/05/18 20:22:25
Done.
|
| enum class AccumulatorUse : uint8_t { |
| kNone = 0, |
| @@ -441,7 +452,10 @@ class Bytecodes { |
| static const char* OperandSizeToString(OperandSize operand_size); |
| // Returns byte value of bytecode. |
| - static uint8_t ToByte(Bytecode bytecode); |
| + static uint8_t ToByte(Bytecode bytecode) { |
| + DCHECK_LE(bytecode, Bytecode::kLast); |
| + return static_cast<uint8_t>(bytecode); |
| + } |
| // Returns bytecode for |value|. |
| static Bytecode FromByte(uint8_t value); |