| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 4006 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4017 ToInteger32(LConstantOperand::cast(instr->index())); | 4017 ToInteger32(LConstantOperand::cast(instr->index())); |
| 4018 if (instr->hydrogen()->length()->representation().IsTagged()) { | 4018 if (instr->hydrogen()->length()->representation().IsTagged()) { |
| 4019 __ Cmp(length, Smi::FromInt(constant_index)); | 4019 __ Cmp(length, Smi::FromInt(constant_index)); |
| 4020 } else { | 4020 } else { |
| 4021 __ cmpq(length, Immediate(constant_index)); | 4021 __ cmpq(length, Immediate(constant_index)); |
| 4022 } | 4022 } |
| 4023 } else { | 4023 } else { |
| 4024 __ cmpq(length, ToRegister(instr->index())); | 4024 __ cmpq(length, ToRegister(instr->index())); |
| 4025 } | 4025 } |
| 4026 } | 4026 } |
| 4027 DeoptimizeIf(below_equal, instr->environment()); | 4027 if (instr->hydrogen()->allow_equality()) { |
| 4028 DeoptimizeIf(below, instr->environment()); |
| 4029 } else { |
| 4030 DeoptimizeIf(below_equal, instr->environment()); |
| 4031 } |
| 4028 } | 4032 } |
| 4029 | 4033 |
| 4030 | 4034 |
| 4031 void LCodeGen::DoStoreKeyedExternalArray(LStoreKeyed* instr) { | 4035 void LCodeGen::DoStoreKeyedExternalArray(LStoreKeyed* instr) { |
| 4032 ElementsKind elements_kind = instr->elements_kind(); | 4036 ElementsKind elements_kind = instr->elements_kind(); |
| 4033 LOperand* key = instr->key(); | 4037 LOperand* key = instr->key(); |
| 4034 if (!key->IsConstantOperand()) { | 4038 if (!key->IsConstantOperand()) { |
| 4035 Register key_reg = ToRegister(key); | 4039 Register key_reg = ToRegister(key); |
| 4036 // Even though the HLoad/StoreKeyedFastElement instructions force | 4040 // Even though the HLoad/StoreKeyedFastElement instructions force |
| 4037 // the input representation for the key to be an integer, the input | 4041 // the input representation for the key to be an integer, the input |
| (...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5660 FixedArray::kHeaderSize - kPointerSize)); | 5664 FixedArray::kHeaderSize - kPointerSize)); |
| 5661 __ bind(&done); | 5665 __ bind(&done); |
| 5662 } | 5666 } |
| 5663 | 5667 |
| 5664 | 5668 |
| 5665 #undef __ | 5669 #undef __ |
| 5666 | 5670 |
| 5667 } } // namespace v8::internal | 5671 } } // namespace v8::internal |
| 5668 | 5672 |
| 5669 #endif // V8_TARGET_ARCH_X64 | 5673 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |