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

Side by Side Diff: src/regexp/mips64/regexp-macro-assembler-mips64.cc

Issue 1638303005: MIPS64: Eliminate ABI-dependent definitions. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 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/regexp/mips64/regexp-macro-assembler-mips64.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_MIPS64 5 #if V8_TARGET_ARCH_MIPS64
6 6
7 #include "src/regexp/mips64/regexp-macro-assembler-mips64.h" 7 #include "src/regexp/mips64/regexp-macro-assembler-mips64.h"
8 8
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/log.h" 10 #include "src/log.h"
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 // Save callee-save registers. 664 // Save callee-save registers.
665 // Start new stack frame. 665 // Start new stack frame.
666 // Store link register in existing stack-cell. 666 // Store link register in existing stack-cell.
667 // Order here should correspond to order of offset constants in header file. 667 // Order here should correspond to order of offset constants in header file.
668 // TODO(plind): we save s0..s7, but ONLY use s3 here - use the regs 668 // TODO(plind): we save s0..s7, but ONLY use s3 here - use the regs
669 // or dont save. 669 // or dont save.
670 RegList registers_to_retain = s0.bit() | s1.bit() | s2.bit() | 670 RegList registers_to_retain = s0.bit() | s1.bit() | s2.bit() |
671 s3.bit() | s4.bit() | s5.bit() | s6.bit() | s7.bit() | fp.bit(); 671 s3.bit() | s4.bit() | s5.bit() | s6.bit() | s7.bit() | fp.bit();
672 RegList argument_registers = a0.bit() | a1.bit() | a2.bit() | a3.bit(); 672 RegList argument_registers = a0.bit() | a1.bit() | a2.bit() | a3.bit();
673 673
674 if (kMipsAbi == kN64) { 674 argument_registers |= a4.bit() | a5.bit() | a6.bit() | a7.bit();
balazs.kilvady 2016/01/28 12:48:22 I think a4-a7 bits could be 'or'-ed to the above l
Ilija.Pavlovic1 2016/01/28 15:07:30 Yes, you are right. I didn't noted that definition
675 // TODO(plind): Should probably alias a4-a7, for clarity.
676 argument_registers |= a4.bit() | a5.bit() | a6.bit() | a7.bit();
677 }
678 675
679 __ MultiPush(argument_registers | registers_to_retain | ra.bit()); 676 __ MultiPush(argument_registers | registers_to_retain | ra.bit());
680 // Set frame pointer in space for it if this is not a direct call 677 // Set frame pointer in space for it if this is not a direct call
681 // from generated code. 678 // from generated code.
682 // TODO(plind): this 8 is the # of argument regs, should have definition. 679 // TODO(plind): this 8 is the # of argument regs, should have definition.
683 __ Daddu(frame_pointer(), sp, Operand(8 * kPointerSize)); 680 __ Daddu(frame_pointer(), sp, Operand(8 * kPointerSize));
684 __ mov(a0, zero_reg); 681 __ mov(a0, zero_reg);
685 __ push(a0); // Make room for success counter and initialize it to 0. 682 __ push(a0); // Make room for success counter and initialize it to 0.
686 __ push(a0); // Make room for "string start - 1" constant. 683 __ push(a0); // Make room for "string start - 1" constant.
687 684
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after
1330 } 1327 }
1331 1328
1332 #undef __ 1329 #undef __
1333 1330
1334 #endif // V8_INTERPRETED_REGEXP 1331 #endif // V8_INTERPRETED_REGEXP
1335 1332
1336 } // namespace internal 1333 } // namespace internal
1337 } // namespace v8 1334 } // namespace v8
1338 1335
1339 #endif // V8_TARGET_ARCH_MIPS64 1336 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « src/regexp/mips64/regexp-macro-assembler-mips64.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698