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

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

Issue 2311203002: Move kMaxRegularHeapObjectSize into globals (Closed)
Patch Set: Saving the file helps... Created 4 years, 3 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/mips/macro-assembler-mips.cc ('k') | src/mips64/macro-assembler-mips64.cc » ('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 #if V8_TARGET_ARCH_MIPS64 5 #if V8_TARGET_ARCH_MIPS64
6 6
7 #include "src/code-stubs.h" 7 #include "src/code-stubs.h"
8 #include "src/api-arguments.h" 8 #include "src/api-arguments.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 4620 matching lines...) Expand 10 before | Expand all | Expand 10 after
4631 __ sd(v0, FieldMemOperand(a3, JSArray::kElementsOffset)); 4631 __ sd(v0, FieldMemOperand(a3, JSArray::kElementsOffset));
4632 __ sd(a4, FieldMemOperand(a3, JSArray::kLengthOffset)); 4632 __ sd(a4, FieldMemOperand(a3, JSArray::kLengthOffset));
4633 STATIC_ASSERT(JSArray::kSize == 4 * kPointerSize); 4633 STATIC_ASSERT(JSArray::kSize == 4 * kPointerSize);
4634 __ Ret(USE_DELAY_SLOT); 4634 __ Ret(USE_DELAY_SLOT);
4635 __ mov(v0, a3); // In delay slot 4635 __ mov(v0, a3); // In delay slot
4636 4636
4637 // Fall back to %AllocateInNewSpace (if not too big). 4637 // Fall back to %AllocateInNewSpace (if not too big).
4638 Label too_big_for_new_space; 4638 Label too_big_for_new_space;
4639 __ bind(&allocate); 4639 __ bind(&allocate);
4640 __ Branch(&too_big_for_new_space, gt, a5, 4640 __ Branch(&too_big_for_new_space, gt, a5,
4641 Operand(Page::kMaxRegularHeapObjectSize)); 4641 Operand(kMaxRegularHeapObjectSize));
4642 { 4642 {
4643 FrameScope scope(masm, StackFrame::INTERNAL); 4643 FrameScope scope(masm, StackFrame::INTERNAL);
4644 __ SmiTag(a0); 4644 __ SmiTag(a0);
4645 __ SmiTag(a5); 4645 __ SmiTag(a5);
4646 __ Push(a0, a2, a5); 4646 __ Push(a0, a2, a5);
4647 __ CallRuntime(Runtime::kAllocateInNewSpace); 4647 __ CallRuntime(Runtime::kAllocateInNewSpace);
4648 __ Pop(a0, a2); 4648 __ Pop(a0, a2);
4649 __ SmiUntag(a0); 4649 __ SmiUntag(a0);
4650 } 4650 }
4651 __ jmp(&done_allocate); 4651 __ jmp(&done_allocate);
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
4986 __ sd(at, FieldMemOperand(a3, JSStrictArgumentsObject::kPropertiesOffset)); 4986 __ sd(at, FieldMemOperand(a3, JSStrictArgumentsObject::kPropertiesOffset));
4987 __ sd(v0, FieldMemOperand(a3, JSStrictArgumentsObject::kElementsOffset)); 4987 __ sd(v0, FieldMemOperand(a3, JSStrictArgumentsObject::kElementsOffset));
4988 __ sd(a4, FieldMemOperand(a3, JSStrictArgumentsObject::kLengthOffset)); 4988 __ sd(a4, FieldMemOperand(a3, JSStrictArgumentsObject::kLengthOffset));
4989 STATIC_ASSERT(JSStrictArgumentsObject::kSize == 4 * kPointerSize); 4989 STATIC_ASSERT(JSStrictArgumentsObject::kSize == 4 * kPointerSize);
4990 __ Ret(USE_DELAY_SLOT); 4990 __ Ret(USE_DELAY_SLOT);
4991 __ mov(v0, a3); // In delay slot 4991 __ mov(v0, a3); // In delay slot
4992 4992
4993 // Fall back to %AllocateInNewSpace (if not too big). 4993 // Fall back to %AllocateInNewSpace (if not too big).
4994 Label too_big_for_new_space; 4994 Label too_big_for_new_space;
4995 __ bind(&allocate); 4995 __ bind(&allocate);
4996 __ Branch(&too_big_for_new_space, gt, a5, 4996 __ Branch(&too_big_for_new_space, gt, a5, Operand(kMaxRegularHeapObjectSize));
4997 Operand(Page::kMaxRegularHeapObjectSize));
4998 { 4997 {
4999 FrameScope scope(masm, StackFrame::INTERNAL); 4998 FrameScope scope(masm, StackFrame::INTERNAL);
5000 __ SmiTag(a0); 4999 __ SmiTag(a0);
5001 __ SmiTag(a5); 5000 __ SmiTag(a5);
5002 __ Push(a0, a2, a5); 5001 __ Push(a0, a2, a5);
5003 __ CallRuntime(Runtime::kAllocateInNewSpace); 5002 __ CallRuntime(Runtime::kAllocateInNewSpace);
5004 __ Pop(a0, a2); 5003 __ Pop(a0, a2);
5005 __ SmiUntag(a0); 5004 __ SmiUntag(a0);
5006 } 5005 }
5007 __ jmp(&done_allocate); 5006 __ jmp(&done_allocate);
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
5436 kStackUnwindSpace, kInvalidStackOffset, 5435 kStackUnwindSpace, kInvalidStackOffset,
5437 return_value_operand, NULL); 5436 return_value_operand, NULL);
5438 } 5437 }
5439 5438
5440 #undef __ 5439 #undef __
5441 5440
5442 } // namespace internal 5441 } // namespace internal
5443 } // namespace v8 5442 } // namespace v8
5444 5443
5445 #endif // V8_TARGET_ARCH_MIPS64 5444 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « src/mips/macro-assembler-mips.cc ('k') | src/mips64/macro-assembler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698