| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 #include "src/code-stub-assembler.h" | 4 #include "src/code-stub-assembler.h" |
| 5 #include "src/code-factory.h" | 5 #include "src/code-factory.h" |
| 6 #include "src/frames-inl.h" | 6 #include "src/frames-inl.h" |
| 7 #include "src/frames.h" | 7 #include "src/frames.h" |
| 8 | 8 |
| 9 namespace v8 { | 9 namespace v8 { |
| 10 namespace internal { | 10 namespace internal { |
| (...skipping 5066 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5077 | 5077 |
| 5078 GotoUnless(UintPtrLessThan(intptr_index, length), &if_oob); | 5078 GotoUnless(UintPtrLessThan(intptr_index, length), &if_oob); |
| 5079 | 5079 |
| 5080 // Check if the element is a double hole, but don't load it. | 5080 // Check if the element is a double hole, but don't load it. |
| 5081 LoadFixedDoubleArrayElement(elements, intptr_index, MachineType::None(), 0, | 5081 LoadFixedDoubleArrayElement(elements, intptr_index, MachineType::None(), 0, |
| 5082 INTPTR_PARAMETERS, if_not_found); | 5082 INTPTR_PARAMETERS, if_not_found); |
| 5083 Goto(if_found); | 5083 Goto(if_found); |
| 5084 } | 5084 } |
| 5085 Bind(&if_isdictionary); | 5085 Bind(&if_isdictionary); |
| 5086 { | 5086 { |
| 5087 // Negative keys must be converted to property names. |
| 5088 GotoIf(IntPtrLessThan(intptr_index, IntPtrConstant(0)), if_bailout); |
| 5089 |
| 5087 Variable var_entry(this, MachineType::PointerRepresentation()); | 5090 Variable var_entry(this, MachineType::PointerRepresentation()); |
| 5088 Node* elements = LoadElements(object); | 5091 Node* elements = LoadElements(object); |
| 5089 NumberDictionaryLookup<SeededNumberDictionary>( | 5092 NumberDictionaryLookup<SeededNumberDictionary>( |
| 5090 elements, intptr_index, if_found, &var_entry, if_not_found); | 5093 elements, intptr_index, if_found, &var_entry, if_not_found); |
| 5091 } | 5094 } |
| 5092 Bind(&if_isfaststringwrapper); | 5095 Bind(&if_isfaststringwrapper); |
| 5093 { | 5096 { |
| 5094 CSA_ASSERT(this, HasInstanceType(object, JS_VALUE_TYPE)); | 5097 CSA_ASSERT(this, HasInstanceType(object, JS_VALUE_TYPE)); |
| 5095 Node* string = LoadJSValueValue(object); | 5098 Node* string = LoadJSValueValue(object); |
| 5096 CSA_ASSERT(this, IsStringInstanceType(LoadInstanceType(string))); | 5099 CSA_ASSERT(this, IsStringInstanceType(LoadInstanceType(string))); |
| (...skipping 3117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8214 Node* CodeStubAssembler::IsPromiseHookEnabled() { | 8217 Node* CodeStubAssembler::IsPromiseHookEnabled() { |
| 8215 Node* const is_promisehook_enabled = | 8218 Node* const is_promisehook_enabled = |
| 8216 Load(MachineType::Uint8(), | 8219 Load(MachineType::Uint8(), |
| 8217 ExternalConstant( | 8220 ExternalConstant( |
| 8218 ExternalReference::is_promisehook_enabled_address(isolate()))); | 8221 ExternalReference::is_promisehook_enabled_address(isolate()))); |
| 8219 return WordNotEqual(is_promisehook_enabled, Int32Constant(0)); | 8222 return WordNotEqual(is_promisehook_enabled, Int32Constant(0)); |
| 8220 } | 8223 } |
| 8221 | 8224 |
| 8222 } // namespace internal | 8225 } // namespace internal |
| 8223 } // namespace v8 | 8226 } // namespace v8 |
| OLD | NEW |