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

Side by Side Diff: src/s390/macro-assembler-s390.cc

Issue 2141723003: PPC/s390: [builtins] Construct builtin frame in String/Number ctors (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fixed Load instr, don't have to update sp Created 4 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/s390/macro-assembler-s390.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 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 #include <assert.h> // For assert 5 #include <assert.h> // For assert
6 #include <limits.h> // For LONG_MIN, LONG_MAX. 6 #include <limits.h> // For LONG_MIN, LONG_MAX.
7 7
8 #if V8_TARGET_ARCH_S390 8 #if V8_TARGET_ARCH_S390
9 9
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 982 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 // the caller frame pointer, return address and constant pool pointer. 993 // the caller frame pointer, return address and constant pool pointer.
994 LoadP(r14, MemOperand(fp, StandardFrameConstants::kCallerPCOffset)); 994 LoadP(r14, MemOperand(fp, StandardFrameConstants::kCallerPCOffset));
995 lay(r1, MemOperand( 995 lay(r1, MemOperand(
996 fp, StandardFrameConstants::kCallerSPOffset + stack_adjustment)); 996 fp, StandardFrameConstants::kCallerSPOffset + stack_adjustment));
997 LoadP(fp, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); 997 LoadP(fp, MemOperand(fp, StandardFrameConstants::kCallerFPOffset));
998 LoadRR(sp, r1); 998 LoadRR(sp, r1);
999 int frame_ends = pc_offset(); 999 int frame_ends = pc_offset();
1000 return frame_ends; 1000 return frame_ends;
1001 } 1001 }
1002 1002
1003 void MacroAssembler::EnterBuiltinFrame(Register context, Register target,
1004 Register argc) {
1005 CleanseP(r14);
1006 Push(r14, fp, context, target);
1007 la(fp, MemOperand(sp, 2 * kPointerSize));
1008 Push(argc);
1009 }
1010
1011 void MacroAssembler::LeaveBuiltinFrame(Register context, Register target,
1012 Register argc) {
1013 Pop(argc);
1014 Pop(r14, fp, context, target);
1015 }
1016
1003 // ExitFrame layout (probably wrongish.. needs updating) 1017 // ExitFrame layout (probably wrongish.. needs updating)
1004 // 1018 //
1005 // SP -> previousSP 1019 // SP -> previousSP
1006 // LK reserved 1020 // LK reserved
1007 // code 1021 // code
1008 // sp_on_exit (for debug?) 1022 // sp_on_exit (for debug?)
1009 // oldSP->prev SP 1023 // oldSP->prev SP
1010 // LK 1024 // LK
1011 // <parameters on stack> 1025 // <parameters on stack>
1012 1026
(...skipping 4495 matching lines...) Expand 10 before | Expand all | Expand 10 after
5508 } 5522 }
5509 if (mag.shift > 0) ShiftRightArith(result, result, Operand(mag.shift)); 5523 if (mag.shift > 0) ShiftRightArith(result, result, Operand(mag.shift));
5510 ExtractBit(r0, dividend, 31); 5524 ExtractBit(r0, dividend, 31);
5511 AddP(result, r0); 5525 AddP(result, r0);
5512 } 5526 }
5513 5527
5514 } // namespace internal 5528 } // namespace internal
5515 } // namespace v8 5529 } // namespace v8
5516 5530
5517 #endif // V8_TARGET_ARCH_S390 5531 #endif // V8_TARGET_ARCH_S390
OLDNEW
« no previous file with comments | « src/s390/macro-assembler-s390.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698