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

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

Issue 2593803003: s390: exploit high-word facility for Smi Ops (Closed)
Patch Set: fix native failures Created 3 years, 12 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 | « no previous file | src/s390/disasm-s390.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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_S390 5 #if V8_TARGET_ARCH_S390
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 3813 matching lines...) Expand 10 before | Expand all | Expand 10 after
3824 // r5 : parameters pointer 3824 // r5 : parameters pointer
3825 // r9 : JavaScript frame pointer 3825 // r9 : JavaScript frame pointer
3826 // Registers used over whole function: 3826 // Registers used over whole function:
3827 // r7 : arguments count (tagged) 3827 // r7 : arguments count (tagged)
3828 // r8 : mapped parameter count (tagged) 3828 // r8 : mapped parameter count (tagged)
3829 3829
3830 // Check if the calling frame is an arguments adaptor frame. 3830 // Check if the calling frame is an arguments adaptor frame.
3831 Label adaptor_frame, try_allocate, runtime; 3831 Label adaptor_frame, try_allocate, runtime;
3832 __ LoadP(r6, MemOperand(r9, StandardFrameConstants::kCallerFPOffset)); 3832 __ LoadP(r6, MemOperand(r9, StandardFrameConstants::kCallerFPOffset));
3833 __ LoadP(r2, MemOperand(r6, CommonFrameConstants::kContextOrFrameTypeOffset)); 3833 __ LoadP(r2, MemOperand(r6, CommonFrameConstants::kContextOrFrameTypeOffset));
3834 __ CmpSmiLiteral(r2, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR), r0); 3834 __ LoadSmiLiteral(r0, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR));
3835 __ CmpP(r2, r0);
3835 __ beq(&adaptor_frame); 3836 __ beq(&adaptor_frame);
3836 3837
3837 // No adaptor, parameter count = argument count. 3838 // No adaptor, parameter count = argument count.
3838 __ LoadRR(r7, r4); 3839 __ LoadRR(r7, r4);
3839 __ LoadRR(r8, r4); 3840 __ LoadRR(r8, r4);
3840 __ b(&try_allocate); 3841 __ b(&try_allocate);
3841 3842
3842 // We have an adaptor frame. Patch the parameters pointer. 3843 // We have an adaptor frame. Patch the parameters pointer.
3843 __ bind(&adaptor_frame); 3844 __ bind(&adaptor_frame);
3844 __ LoadP(r7, MemOperand(r6, ArgumentsAdaptorFrameConstants::kLengthOffset)); 3845 __ LoadP(r7, MemOperand(r6, ArgumentsAdaptorFrameConstants::kLengthOffset));
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
4503 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, 4504 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,
4504 kStackUnwindSpace, NULL, return_value_operand, NULL); 4505 kStackUnwindSpace, NULL, return_value_operand, NULL);
4505 } 4506 }
4506 4507
4507 #undef __ 4508 #undef __
4508 4509
4509 } // namespace internal 4510 } // namespace internal
4510 } // namespace v8 4511 } // namespace v8
4511 4512
4512 #endif // V8_TARGET_ARCH_S390 4513 #endif // V8_TARGET_ARCH_S390
OLDNEW
« no previous file with comments | « no previous file | src/s390/disasm-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698