Index: src/interpreter/bytecode-array-builder.cc |
diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc |
index 6a6981bd9cdcc4a9c1dde002b4753064dcccbfae..5e7770532d6a67233a82cfc942aec97eb040e895 100644 |
--- a/src/interpreter/bytecode-array-builder.cc |
+++ b/src/interpreter/bytecode-array-builder.cc |
@@ -364,11 +364,10 @@ void BytecodeArrayBuilder::MoveRegisterUntranslated(Register from, |
} |
BytecodeArrayBuilder& BytecodeArrayBuilder::LoadGlobal( |
- const Handle<String> name, int feedback_slot, LanguageMode language_mode, |
- TypeofMode typeof_mode) { |
- // TODO(rmcilroy): Potentially store language and typeof information in an |
+ const Handle<String> name, int feedback_slot, TypeofMode typeof_mode) { |
+ // TODO(rmcilroy): Potentially store typeof information in an |
// operand rather than having extra bytecodes. |
- Bytecode bytecode = BytecodeForLoadGlobal(language_mode, typeof_mode); |
+ Bytecode bytecode = BytecodeForLoadGlobal(typeof_mode); |
size_t name_index = GetConstantPoolEntry(name); |
if (FitsInIdx8Operand(name_index) && FitsInIdx8Operand(feedback_slot)) { |
Output(bytecode, static_cast<uint8_t>(name_index), |
@@ -468,16 +467,15 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::StoreLookupSlot( |
} |
BytecodeArrayBuilder& BytecodeArrayBuilder::LoadNamedProperty( |
- Register object, const Handle<Name> name, int feedback_slot, |
- LanguageMode language_mode) { |
- Bytecode bytecode = BytecodeForLoadIC(language_mode); |
+ Register object, const Handle<Name> name, int feedback_slot) { |
size_t name_index = GetConstantPoolEntry(name); |
if (FitsInIdx8Operand(name_index) && FitsInIdx8Operand(feedback_slot)) { |
- Output(bytecode, object.ToRawOperand(), static_cast<uint8_t>(name_index), |
+ Output(Bytecode::kLoadIC, object.ToRawOperand(), |
+ static_cast<uint8_t>(name_index), |
static_cast<uint8_t>(feedback_slot)); |
} else if (FitsInIdx16Operand(name_index) && |
FitsInIdx16Operand(feedback_slot)) { |
- Output(BytecodeForWideOperands(bytecode), object.ToRawOperand(), |
+ Output(Bytecode::kLoadICWide, object.ToRawOperand(), |
static_cast<uint16_t>(name_index), |
static_cast<uint16_t>(feedback_slot)); |
} else { |
@@ -486,15 +484,13 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadNamedProperty( |
return *this; |
} |
- |
BytecodeArrayBuilder& BytecodeArrayBuilder::LoadKeyedProperty( |
- Register object, int feedback_slot, LanguageMode language_mode) { |
- Bytecode bytecode = BytecodeForKeyedLoadIC(language_mode); |
+ Register object, int feedback_slot) { |
if (FitsInIdx8Operand(feedback_slot)) { |
- Output(bytecode, object.ToRawOperand(), |
+ Output(Bytecode::kKeyedLoadIC, object.ToRawOperand(), |
static_cast<uint8_t>(feedback_slot)); |
} else if (FitsInIdx16Operand(feedback_slot)) { |
- Output(BytecodeForWideOperands(bytecode), object.ToRawOperand(), |
+ Output(Bytecode::kKeyedLoadICWide, object.ToRawOperand(), |
static_cast<uint16_t>(feedback_slot)); |
} else { |
UNIMPLEMENTED(); |
@@ -1429,14 +1425,10 @@ Bytecode BytecodeArrayBuilder::BytecodeForCompareOperation(Token::Value op) { |
// static |
Bytecode BytecodeArrayBuilder::BytecodeForWideOperands(Bytecode bytecode) { |
switch (bytecode) { |
- case Bytecode::kLoadICSloppy: |
- return Bytecode::kLoadICSloppyWide; |
- case Bytecode::kLoadICStrict: |
- return Bytecode::kLoadICStrictWide; |
- case Bytecode::kKeyedLoadICSloppy: |
- return Bytecode::kKeyedLoadICSloppyWide; |
- case Bytecode::kKeyedLoadICStrict: |
- return Bytecode::kKeyedLoadICStrictWide; |
+ case Bytecode::kLoadIC: |
+ return Bytecode::kLoadICWide; |
+ case Bytecode::kKeyedLoadIC: |
+ return Bytecode::kKeyedLoadICWide; |
case Bytecode::kStoreICSloppy: |
return Bytecode::kStoreICSloppyWide; |
case Bytecode::kStoreICStrict: |
@@ -1445,14 +1437,10 @@ Bytecode BytecodeArrayBuilder::BytecodeForWideOperands(Bytecode bytecode) { |
return Bytecode::kKeyedStoreICSloppyWide; |
case Bytecode::kKeyedStoreICStrict: |
return Bytecode::kKeyedStoreICStrictWide; |
- case Bytecode::kLdaGlobalSloppy: |
- return Bytecode::kLdaGlobalSloppyWide; |
- case Bytecode::kLdaGlobalStrict: |
- return Bytecode::kLdaGlobalStrictWide; |
- case Bytecode::kLdaGlobalInsideTypeofSloppy: |
- return Bytecode::kLdaGlobalInsideTypeofSloppyWide; |
- case Bytecode::kLdaGlobalInsideTypeofStrict: |
- return Bytecode::kLdaGlobalInsideTypeofStrictWide; |
+ case Bytecode::kLdaGlobal: |
+ return Bytecode::kLdaGlobalWide; |
+ case Bytecode::kLdaGlobalInsideTypeof: |
+ return Bytecode::kLdaGlobalInsideTypeofWide; |
case Bytecode::kStaGlobalSloppy: |
return Bytecode::kStaGlobalSloppyWide; |
case Bytecode::kStaGlobalStrict: |
@@ -1473,39 +1461,6 @@ Bytecode BytecodeArrayBuilder::BytecodeForWideOperands(Bytecode bytecode) { |
// static |
-Bytecode BytecodeArrayBuilder::BytecodeForLoadIC(LanguageMode language_mode) { |
- switch (language_mode) { |
- case SLOPPY: |
- return Bytecode::kLoadICSloppy; |
- case STRICT: |
- return Bytecode::kLoadICStrict; |
- case STRONG: |
- UNIMPLEMENTED(); |
- default: |
- UNREACHABLE(); |
- } |
- return static_cast<Bytecode>(-1); |
-} |
- |
- |
-// static |
-Bytecode BytecodeArrayBuilder::BytecodeForKeyedLoadIC( |
- LanguageMode language_mode) { |
- switch (language_mode) { |
- case SLOPPY: |
- return Bytecode::kKeyedLoadICSloppy; |
- case STRICT: |
- return Bytecode::kKeyedLoadICStrict; |
- case STRONG: |
- UNIMPLEMENTED(); |
- default: |
- UNREACHABLE(); |
- } |
- return static_cast<Bytecode>(-1); |
-} |
- |
- |
-// static |
Bytecode BytecodeArrayBuilder::BytecodeForStoreIC(LanguageMode language_mode) { |
switch (language_mode) { |
case SLOPPY: |
@@ -1539,23 +1494,9 @@ Bytecode BytecodeArrayBuilder::BytecodeForKeyedStoreIC( |
// static |
-Bytecode BytecodeArrayBuilder::BytecodeForLoadGlobal(LanguageMode language_mode, |
- TypeofMode typeof_mode) { |
- switch (language_mode) { |
- case SLOPPY: |
- return typeof_mode == INSIDE_TYPEOF |
- ? Bytecode::kLdaGlobalInsideTypeofSloppy |
- : Bytecode::kLdaGlobalSloppy; |
- case STRICT: |
- return typeof_mode == INSIDE_TYPEOF |
- ? Bytecode::kLdaGlobalInsideTypeofStrict |
- : Bytecode::kLdaGlobalStrict; |
- case STRONG: |
- UNIMPLEMENTED(); |
- default: |
- UNREACHABLE(); |
- } |
- return static_cast<Bytecode>(-1); |
+Bytecode BytecodeArrayBuilder::BytecodeForLoadGlobal(TypeofMode typeof_mode) { |
+ return typeof_mode == INSIDE_TYPEOF ? Bytecode::kLdaGlobalInsideTypeof |
+ : Bytecode::kLdaGlobal; |
} |