Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: src/mips64/code-stubs-mips64.cc

Issue 1222283002: Version 4.4.63.13 (cherry-pick) (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@4.4
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/mips64/assembler-mips64.cc ('k') | test/mjsunit/mjsunit.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « src/mips64/assembler-mips64.cc ('k') | test/mjsunit/mjsunit.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698