| 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 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 4053 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4064 } | 4064 } |
| 4065 __ Jump(t9); | 4065 __ Jump(t9); |
| 4066 } | 4066 } |
| 4067 | 4067 |
| 4068 | 4068 |
| 4069 void DirectCEntryStub::GenerateCall(MacroAssembler* masm, | 4069 void DirectCEntryStub::GenerateCall(MacroAssembler* masm, |
| 4070 Register target) { | 4070 Register target) { |
| 4071 intptr_t loc = | 4071 intptr_t loc = |
| 4072 reinterpret_cast<intptr_t>(GetCode().location()); | 4072 reinterpret_cast<intptr_t>(GetCode().location()); |
| 4073 __ Move(t9, target); | 4073 __ Move(t9, target); |
| 4074 __ li(ra, Operand(loc, RelocInfo::CODE_TARGET), CONSTANT_SIZE); | 4074 __ li(at, Operand(loc, RelocInfo::CODE_TARGET), CONSTANT_SIZE); |
| 4075 __ Call(ra); | 4075 __ Call(at); |
| 4076 } | 4076 } |
| 4077 | 4077 |
| 4078 | 4078 |
| 4079 void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm, | 4079 void NameDictionaryLookupStub::GenerateNegativeLookup(MacroAssembler* masm, |
| 4080 Label* miss, | 4080 Label* miss, |
| 4081 Label* done, | 4081 Label* done, |
| 4082 Register receiver, | 4082 Register receiver, |
| 4083 Register properties, | 4083 Register properties, |
| 4084 Handle<Name> name, | 4084 Handle<Name> name, |
| 4085 Register scratch0) { | 4085 Register scratch0) { |
| (...skipping 1192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5278 __ jmp(&end_profiler_check); | 5278 __ jmp(&end_profiler_check); |
| 5279 | 5279 |
| 5280 __ bind(&profiler_disabled); | 5280 __ bind(&profiler_disabled); |
| 5281 __ mov(t9, function_address); | 5281 __ mov(t9, function_address); |
| 5282 __ bind(&end_profiler_check); | 5282 __ bind(&end_profiler_check); |
| 5283 | 5283 |
| 5284 // Allocate HandleScope in callee-save registers. | 5284 // Allocate HandleScope in callee-save registers. |
| 5285 __ li(s3, Operand(next_address)); | 5285 __ li(s3, Operand(next_address)); |
| 5286 __ ld(s0, MemOperand(s3, kNextOffset)); | 5286 __ ld(s0, MemOperand(s3, kNextOffset)); |
| 5287 __ ld(s1, MemOperand(s3, kLimitOffset)); | 5287 __ ld(s1, MemOperand(s3, kLimitOffset)); |
| 5288 __ ld(s2, MemOperand(s3, kLevelOffset)); | 5288 __ lw(s2, MemOperand(s3, kLevelOffset)); |
| 5289 __ Daddu(s2, s2, Operand(1)); | 5289 __ Addu(s2, s2, Operand(1)); |
| 5290 __ sd(s2, MemOperand(s3, kLevelOffset)); | 5290 __ sw(s2, MemOperand(s3, kLevelOffset)); |
| 5291 | 5291 |
| 5292 if (FLAG_log_timer_events) { | 5292 if (FLAG_log_timer_events) { |
| 5293 FrameScope frame(masm, StackFrame::MANUAL); | 5293 FrameScope frame(masm, StackFrame::MANUAL); |
| 5294 __ PushSafepointRegisters(); | 5294 __ PushSafepointRegisters(); |
| 5295 __ PrepareCallCFunction(1, a0); | 5295 __ PrepareCallCFunction(1, a0); |
| 5296 __ li(a0, Operand(ExternalReference::isolate_address(isolate))); | 5296 __ li(a0, Operand(ExternalReference::isolate_address(isolate))); |
| 5297 __ CallCFunction(ExternalReference::log_enter_external_function(isolate), | 5297 __ CallCFunction(ExternalReference::log_enter_external_function(isolate), |
| 5298 1); | 5298 1); |
| 5299 __ PopSafepointRegisters(); | 5299 __ PopSafepointRegisters(); |
| 5300 } | 5300 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 5321 Label return_value_loaded; | 5321 Label return_value_loaded; |
| 5322 | 5322 |
| 5323 // Load value from ReturnValue. | 5323 // Load value from ReturnValue. |
| 5324 __ ld(v0, return_value_operand); | 5324 __ ld(v0, return_value_operand); |
| 5325 __ bind(&return_value_loaded); | 5325 __ bind(&return_value_loaded); |
| 5326 | 5326 |
| 5327 // No more valid handles (the result handle was the last one). Restore | 5327 // No more valid handles (the result handle was the last one). Restore |
| 5328 // previous handle scope. | 5328 // previous handle scope. |
| 5329 __ sd(s0, MemOperand(s3, kNextOffset)); | 5329 __ sd(s0, MemOperand(s3, kNextOffset)); |
| 5330 if (__ emit_debug_code()) { | 5330 if (__ emit_debug_code()) { |
| 5331 __ ld(a1, MemOperand(s3, kLevelOffset)); | 5331 __ lw(a1, MemOperand(s3, kLevelOffset)); |
| 5332 __ Check(eq, kUnexpectedLevelAfterReturnFromApiCall, a1, Operand(s2)); | 5332 __ Check(eq, kUnexpectedLevelAfterReturnFromApiCall, a1, Operand(s2)); |
| 5333 } | 5333 } |
| 5334 __ Dsubu(s2, s2, Operand(1)); | 5334 __ Subu(s2, s2, Operand(1)); |
| 5335 __ sd(s2, MemOperand(s3, kLevelOffset)); | 5335 __ sw(s2, MemOperand(s3, kLevelOffset)); |
| 5336 __ ld(at, MemOperand(s3, kLimitOffset)); | 5336 __ ld(at, MemOperand(s3, kLimitOffset)); |
| 5337 __ Branch(&delete_allocated_handles, ne, s1, Operand(at)); | 5337 __ Branch(&delete_allocated_handles, ne, s1, Operand(at)); |
| 5338 | 5338 |
| 5339 // Leave the API exit frame. | 5339 // Leave the API exit frame. |
| 5340 __ bind(&leave_exit_frame); | 5340 __ bind(&leave_exit_frame); |
| 5341 | 5341 |
| 5342 bool restore_context = context_restore_operand != NULL; | 5342 bool restore_context = context_restore_operand != NULL; |
| 5343 if (restore_context) { | 5343 if (restore_context) { |
| 5344 __ ld(cp, *context_restore_operand); | 5344 __ ld(cp, *context_restore_operand); |
| 5345 } | 5345 } |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5543 kStackUnwindSpace, kInvalidStackOffset, | 5543 kStackUnwindSpace, kInvalidStackOffset, |
| 5544 MemOperand(fp, 6 * kPointerSize), NULL); | 5544 MemOperand(fp, 6 * kPointerSize), NULL); |
| 5545 } | 5545 } |
| 5546 | 5546 |
| 5547 | 5547 |
| 5548 #undef __ | 5548 #undef __ |
| 5549 | 5549 |
| 5550 } } // namespace v8::internal | 5550 } } // namespace v8::internal |
| 5551 | 5551 |
| 5552 #endif // V8_TARGET_ARCH_MIPS64 | 5552 #endif // V8_TARGET_ARCH_MIPS64 |
| OLD | NEW |