OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_MIPS64 | 7 #if V8_TARGET_ARCH_MIPS64 |
8 | 8 |
9 // Note on Mips implementation: | 9 // Note on Mips implementation: |
10 // | 10 // |
(...skipping 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1339 | 1339 |
1340 void FullCodeGenerator::EmitLoadHomeObject(SuperReference* expr) { | 1340 void FullCodeGenerator::EmitLoadHomeObject(SuperReference* expr) { |
1341 Comment cnmt(masm_, "[ SuperReference "); | 1341 Comment cnmt(masm_, "[ SuperReference "); |
1342 | 1342 |
1343 __ ld(LoadDescriptor::ReceiverRegister(), | 1343 __ ld(LoadDescriptor::ReceiverRegister(), |
1344 MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); | 1344 MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |
1345 | 1345 |
1346 Handle<Symbol> home_object_symbol(isolate()->heap()->home_object_symbol()); | 1346 Handle<Symbol> home_object_symbol(isolate()->heap()->home_object_symbol()); |
1347 __ li(LoadDescriptor::NameRegister(), home_object_symbol); | 1347 __ li(LoadDescriptor::NameRegister(), home_object_symbol); |
1348 | 1348 |
1349 CallLoadIC(NOT_CONTEXTUAL, expr->HomeObjectFeedbackId()); | 1349 if (FLAG_vector_ics) { |
| 1350 __ li(VectorLoadICDescriptor::SlotRegister(), |
| 1351 Operand(Smi::FromInt(expr->HomeObjectFeedbackSlot()))); |
| 1352 CallLoadIC(NOT_CONTEXTUAL); |
| 1353 } else { |
| 1354 CallLoadIC(NOT_CONTEXTUAL, expr->HomeObjectFeedbackId()); |
| 1355 } |
1350 | 1356 |
1351 Label done; | 1357 Label done; |
1352 __ Branch(&done, ne, v0, Operand(isolate()->factory()->undefined_value())); | 1358 __ Branch(&done, ne, v0, Operand(isolate()->factory()->undefined_value())); |
1353 __ CallRuntime(Runtime::kThrowNonMethodError, 0); | 1359 __ CallRuntime(Runtime::kThrowNonMethodError, 0); |
1354 __ bind(&done); | 1360 __ bind(&done); |
1355 } | 1361 } |
1356 | 1362 |
1357 | 1363 |
1358 void FullCodeGenerator::EmitLoadGlobalCheckExtensions(VariableProxy* proxy, | 1364 void FullCodeGenerator::EmitLoadGlobalCheckExtensions(VariableProxy* proxy, |
1359 TypeofState typeof_state, | 1365 TypeofState typeof_state, |
(...skipping 3727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5087 Assembler::target_address_at(pc_immediate_load_address)) == | 5093 Assembler::target_address_at(pc_immediate_load_address)) == |
5088 reinterpret_cast<uint64_t>( | 5094 reinterpret_cast<uint64_t>( |
5089 isolate->builtins()->OsrAfterStackCheck()->entry())); | 5095 isolate->builtins()->OsrAfterStackCheck()->entry())); |
5090 return OSR_AFTER_STACK_CHECK; | 5096 return OSR_AFTER_STACK_CHECK; |
5091 } | 5097 } |
5092 | 5098 |
5093 | 5099 |
5094 } } // namespace v8::internal | 5100 } } // namespace v8::internal |
5095 | 5101 |
5096 #endif // V8_TARGET_ARCH_MIPS64 | 5102 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |