| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index 2378f2b8933b62d3e992431f01413bb577102159..364c3a1824ef671ee44dcd8f984d4be0363da993 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -2897,9 +2897,7 @@ void LCodeGen::DoLoadKeyedExternalArray(LLoadKeyed* instr) {
|
| // gets replaced during bound check elimination with the index argument
|
| // to the bounds check, which can be tagged, so that case must be
|
| // handled here, too.
|
| - if (instr->hydrogen()->key()->representation().IsSmi()) {
|
| - __ SmiToInteger64(key_reg, key_reg);
|
| - } else if (instr->hydrogen()->IsDehoisted()) {
|
| + if (instr->hydrogen()->IsDehoisted()) {
|
| // Sign extend key because it could be a 32 bit negative value
|
| // and the dehoisted address computation happens in 64 bits
|
| __ movsxlq(key_reg, key_reg);
|
| @@ -2970,9 +2968,7 @@ void LCodeGen::DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr) {
|
| // representation for the key to be an integer, the input gets replaced
|
| // during bound check elimination with the index argument to the bounds
|
| // check, which can be tagged, so that case must be handled here, too.
|
| - if (instr->hydrogen()->key()->representation().IsSmi()) {
|
| - __ SmiToInteger64(key_reg, key_reg);
|
| - } else if (instr->hydrogen()->IsDehoisted()) {
|
| + if (instr->hydrogen()->IsDehoisted()) {
|
| // Sign extend key because it could be a 32 bit negative value
|
| // and the dehoisted address computation happens in 64 bits
|
| __ movsxlq(key_reg, key_reg);
|
| @@ -3012,9 +3008,7 @@ void LCodeGen::DoLoadKeyedFixedArray(LLoadKeyed* instr) {
|
| // gets replaced during bound check elimination with the index
|
| // argument to the bounds check, which can be tagged, so that
|
| // case must be handled here, too.
|
| - if (instr->hydrogen()->key()->representation().IsSmi()) {
|
| - __ SmiToInteger64(key_reg, key_reg);
|
| - } else if (instr->hydrogen()->IsDehoisted()) {
|
| + if (instr->hydrogen()->IsDehoisted()) {
|
| // Sign extend key because it could be a 32 bit negative value
|
| // and the dehoisted address computation happens in 64 bits
|
| __ movsxlq(key_reg, key_reg);
|
| @@ -4090,9 +4084,7 @@ void LCodeGen::DoStoreKeyedExternalArray(LStoreKeyed* instr) {
|
| // gets replaced during bound check elimination with the index
|
| // argument to the bounds check, which can be tagged, so that case
|
| // must be handled here, too.
|
| - if (instr->hydrogen()->key()->representation().IsSmi()) {
|
| - __ SmiToInteger64(key_reg, key_reg);
|
| - } else if (instr->hydrogen()->IsDehoisted()) {
|
| + if (instr->hydrogen()->IsDehoisted()) {
|
| // Sign extend key because it could be a 32 bit negative value
|
| // and the dehoisted address computation happens in 64 bits
|
| __ movsxlq(key_reg, key_reg);
|
| @@ -4154,9 +4146,7 @@ void LCodeGen::DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr) {
|
| // input gets replaced during bound check elimination with the index
|
| // argument to the bounds check, which can be tagged, so that case
|
| // must be handled here, too.
|
| - if (instr->hydrogen()->key()->representation().IsSmi()) {
|
| - __ SmiToInteger64(key_reg, key_reg);
|
| - } else if (instr->hydrogen()->IsDehoisted()) {
|
| + if (instr->hydrogen()->IsDehoisted()) {
|
| // Sign extend key because it could be a 32 bit negative value
|
| // and the dehoisted address computation happens in 64 bits
|
| __ movsxlq(key_reg, key_reg);
|
| @@ -4197,9 +4187,7 @@ void LCodeGen::DoStoreKeyedFixedArray(LStoreKeyed* instr) {
|
| // input gets replaced during bound check elimination with the index
|
| // argument to the bounds check, which can be tagged, so that case
|
| // must be handled here, too.
|
| - if (instr->hydrogen()->key()->representation().IsSmi()) {
|
| - __ SmiToInteger64(key_reg, key_reg);
|
| - } else if (instr->hydrogen()->IsDehoisted()) {
|
| + if (instr->hydrogen()->IsDehoisted()) {
|
| // Sign extend key because it could be a 32 bit negative value
|
| // and the dehoisted address computation happens in 64 bits
|
| __ movsxlq(key_reg, key_reg);
|
|
|