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

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

Issue 2010633003: Version 5.1.281.48 (cherry-pick) (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@5.1
Patch Set: Created 4 years, 6 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 | « include/v8-version.h ('k') | no next file » | 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_ARM 5 #if V8_TARGET_ARCH_ARM
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/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/bootstrapper.h" 10 #include "src/bootstrapper.h"
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 { 1059 {
1060 // Prevent literal pool emission before return address. 1060 // Prevent literal pool emission before return address.
1061 Assembler::BlockConstPoolScope block_const_pool(masm); 1061 Assembler::BlockConstPoolScope block_const_pool(masm);
1062 __ add(lr, pc, Operand(4)); 1062 __ add(lr, pc, Operand(4));
1063 __ str(lr, MemOperand(sp, result_stack_size)); 1063 __ str(lr, MemOperand(sp, result_stack_size));
1064 __ Call(r5); 1064 __ Call(r5);
1065 } 1065 }
1066 if (result_size() > 2) { 1066 if (result_size() > 2) {
1067 DCHECK_EQ(3, result_size()); 1067 DCHECK_EQ(3, result_size());
1068 // Read result values stored on stack. 1068 // Read result values stored on stack.
1069 __ ldr(r2, MemOperand(r0, 2 * kPointerSize)); 1069 __ ldr(r2, MemOperand(sp, 2 * kPointerSize));
1070 __ ldr(r1, MemOperand(r0, 1 * kPointerSize)); 1070 __ ldr(r1, MemOperand(sp, 1 * kPointerSize));
1071 __ ldr(r0, MemOperand(r0, 0 * kPointerSize)); 1071 __ ldr(r0, MemOperand(sp, 0 * kPointerSize));
1072 } 1072 }
1073 // Result returned in r0, r1:r0 or r2:r1:r0 - do not destroy these registers! 1073 // Result returned in r0, r1:r0 or r2:r1:r0 - do not destroy these registers!
1074 1074
1075 __ VFPEnsureFPSCRState(r3); 1075 __ VFPEnsureFPSCRState(r3);
1076 1076
1077 // Check result for exception sentinel. 1077 // Check result for exception sentinel.
1078 Label exception_returned; 1078 Label exception_returned;
1079 __ CompareRoot(r0, Heap::kExceptionRootIndex); 1079 __ CompareRoot(r0, Heap::kExceptionRootIndex);
1080 __ b(eq, &exception_returned); 1080 __ b(eq, &exception_returned);
1081 1081
(...skipping 4459 matching lines...) Expand 10 before | Expand all | Expand 10 after
5541 kStackUnwindSpace, NULL, return_value_operand, NULL); 5541 kStackUnwindSpace, NULL, return_value_operand, NULL);
5542 } 5542 }
5543 5543
5544 5544
5545 #undef __ 5545 #undef __
5546 5546
5547 } // namespace internal 5547 } // namespace internal
5548 } // namespace v8 5548 } // namespace v8
5549 5549
5550 #endif // V8_TARGET_ARCH_ARM 5550 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « include/v8-version.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698