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

Side by Side Diff: src/mips/assembler-mips.h

Issue 457313003: Reland "MIPS: Add support for arch. revision 6 to mips32 port." (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebase Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « src/globals.h ('k') | src/mips/assembler-mips.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 (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 // cp is assumed to be a callee saved register. 321 // cp is assumed to be a callee saved register.
322 // Defined using #define instead of "static const Register&" because Clang 322 // Defined using #define instead of "static const Register&" because Clang
323 // complains otherwise when a compilation unit that includes this header 323 // complains otherwise when a compilation unit that includes this header
324 // doesn't use the variables. 324 // doesn't use the variables.
325 #define kRootRegister s6 325 #define kRootRegister s6
326 #define cp s7 326 #define cp s7
327 #define kLithiumScratchReg s3 327 #define kLithiumScratchReg s3
328 #define kLithiumScratchReg2 s4 328 #define kLithiumScratchReg2 s4
329 #define kLithiumScratchDouble f30 329 #define kLithiumScratchDouble f30
330 #define kDoubleRegZero f28 330 #define kDoubleRegZero f28
331 // Used on mips32r6 for compare operations.
332 #define kDoubleCompareReg f31
331 333
332 // FPU (coprocessor 1) control registers. 334 // FPU (coprocessor 1) control registers.
333 // Currently only FCSR (#31) is implemented. 335 // Currently only FCSR (#31) is implemented.
334 struct FPUControlRegister { 336 struct FPUControlRegister {
335 bool is_valid() const { return code_ == kFCSRRegister; } 337 bool is_valid() const { return code_ == kFCSRRegister; }
336 bool is(FPUControlRegister creg) const { return code_ == creg.code_; } 338 bool is(FPUControlRegister creg) const { return code_ == creg.code_; }
337 int code() const { 339 int code() const {
338 DCHECK(is_valid()); 340 DCHECK(is_valid());
339 return code_; 341 return code_;
340 } 342 }
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 // but it may be bound only once. 460 // but it may be bound only once.
459 void bind(Label* L); // Binds an unbound label L to current code position. 461 void bind(Label* L); // Binds an unbound label L to current code position.
460 // Determines if Label is bound and near enough so that branch instruction 462 // Determines if Label is bound and near enough so that branch instruction
461 // can be used to reach it, instead of jump instruction. 463 // can be used to reach it, instead of jump instruction.
462 bool is_near(Label* L); 464 bool is_near(Label* L);
463 465
464 // Returns the branch offset to the given label from the current code 466 // Returns the branch offset to the given label from the current code
465 // position. Links the label to the current position if it is still unbound. 467 // position. Links the label to the current position if it is still unbound.
466 // Manages the jump elimination optimization if the second parameter is true. 468 // Manages the jump elimination optimization if the second parameter is true.
467 int32_t branch_offset(Label* L, bool jump_elimination_allowed); 469 int32_t branch_offset(Label* L, bool jump_elimination_allowed);
470 int32_t branch_offset_compact(Label* L, bool jump_elimination_allowed);
471 int32_t branch_offset21(Label* L, bool jump_elimination_allowed);
472 int32_t branch_offset21_compact(Label* L, bool jump_elimination_allowed);
468 int32_t shifted_branch_offset(Label* L, bool jump_elimination_allowed) { 473 int32_t shifted_branch_offset(Label* L, bool jump_elimination_allowed) {
469 int32_t o = branch_offset(L, jump_elimination_allowed); 474 int32_t o = branch_offset(L, jump_elimination_allowed);
470 DCHECK((o & 3) == 0); // Assert the offset is aligned. 475 DCHECK((o & 3) == 0); // Assert the offset is aligned.
471 return o >> 2; 476 return o >> 2;
472 } 477 }
478 int32_t shifted_branch_offset_compact(Label* L,
479 bool jump_elimination_allowed) {
480 int32_t o = branch_offset_compact(L, jump_elimination_allowed);
481 DCHECK((o & 3) == 0); // Assert the offset is aligned.
482 return o >> 2;
483 }
473 uint32_t jump_address(Label* L); 484 uint32_t jump_address(Label* L);
474 485
475 // Puts a labels target address at the given position. 486 // Puts a labels target address at the given position.
476 // The high 8 bits are set to zero. 487 // The high 8 bits are set to zero.
477 void label_at_put(Label* L, int at_offset); 488 void label_at_put(Label* L, int at_offset);
478 489
479 // Read/Modify the code target address in the branch/call instruction at pc. 490 // Read/Modify the code target address in the branch/call instruction at pc.
480 static Address target_address_at(Address pc); 491 static Address target_address_at(Address pc);
481 static void set_target_address_at(Address pc, 492 static void set_target_address_at(Address pc,
482 Address target, 493 Address target,
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 void b(int16_t offset); 631 void b(int16_t offset);
621 void b(Label* L) { b(branch_offset(L, false)>>2); } 632 void b(Label* L) { b(branch_offset(L, false)>>2); }
622 void bal(int16_t offset); 633 void bal(int16_t offset);
623 void bal(Label* L) { bal(branch_offset(L, false)>>2); } 634 void bal(Label* L) { bal(branch_offset(L, false)>>2); }
624 635
625 void beq(Register rs, Register rt, int16_t offset); 636 void beq(Register rs, Register rt, int16_t offset);
626 void beq(Register rs, Register rt, Label* L) { 637 void beq(Register rs, Register rt, Label* L) {
627 beq(rs, rt, branch_offset(L, false) >> 2); 638 beq(rs, rt, branch_offset(L, false) >> 2);
628 } 639 }
629 void bgez(Register rs, int16_t offset); 640 void bgez(Register rs, int16_t offset);
641 void bgezc(Register rt, int16_t offset);
642 void bgezc(Register rt, Label* L) {
643 bgezc(rt, branch_offset_compact(L, false)>>2);
644 }
645 void bgeuc(Register rs, Register rt, int16_t offset);
646 void bgeuc(Register rs, Register rt, Label* L) {
647 bgeuc(rs, rt, branch_offset_compact(L, false)>>2);
648 }
649 void bgec(Register rs, Register rt, int16_t offset);
650 void bgec(Register rs, Register rt, Label* L) {
651 bgec(rs, rt, branch_offset_compact(L, false)>>2);
652 }
630 void bgezal(Register rs, int16_t offset); 653 void bgezal(Register rs, int16_t offset);
654 void bgezalc(Register rt, int16_t offset);
655 void bgezalc(Register rt, Label* L) {
656 bgezalc(rt, branch_offset_compact(L, false)>>2);
657 }
658 void bgezall(Register rs, int16_t offset);
659 void bgezall(Register rs, Label* L) {
660 bgezall(rs, branch_offset(L, false)>>2);
661 }
631 void bgtz(Register rs, int16_t offset); 662 void bgtz(Register rs, int16_t offset);
663 void bgtzc(Register rt, int16_t offset);
664 void bgtzc(Register rt, Label* L) {
665 bgtzc(rt, branch_offset_compact(L, false)>>2);
666 }
632 void blez(Register rs, int16_t offset); 667 void blez(Register rs, int16_t offset);
668 void blezc(Register rt, int16_t offset);
669 void blezc(Register rt, Label* L) {
670 blezc(rt, branch_offset_compact(L, false)>>2);
671 }
633 void bltz(Register rs, int16_t offset); 672 void bltz(Register rs, int16_t offset);
673 void bltzc(Register rt, int16_t offset);
674 void bltzc(Register rt, Label* L) {
675 bltzc(rt, branch_offset_compact(L, false)>>2);
676 }
677 void bltuc(Register rs, Register rt, int16_t offset);
678 void bltuc(Register rs, Register rt, Label* L) {
679 bltuc(rs, rt, branch_offset_compact(L, false)>>2);
680 }
681 void bltc(Register rs, Register rt, int16_t offset);
682 void bltc(Register rs, Register rt, Label* L) {
683 bltc(rs, rt, branch_offset_compact(L, false)>>2);
684 }
634 void bltzal(Register rs, int16_t offset); 685 void bltzal(Register rs, int16_t offset);
686 void blezalc(Register rt, int16_t offset);
687 void blezalc(Register rt, Label* L) {
688 blezalc(rt, branch_offset_compact(L, false)>>2);
689 }
690 void bltzalc(Register rt, int16_t offset);
691 void bltzalc(Register rt, Label* L) {
692 bltzalc(rt, branch_offset_compact(L, false)>>2);
693 }
694 void bgtzalc(Register rt, int16_t offset);
695 void bgtzalc(Register rt, Label* L) {
696 bgtzalc(rt, branch_offset_compact(L, false)>>2);
697 }
698 void beqzalc(Register rt, int16_t offset);
699 void beqzalc(Register rt, Label* L) {
700 beqzalc(rt, branch_offset_compact(L, false)>>2);
701 }
702 void beqc(Register rs, Register rt, int16_t offset);
703 void beqc(Register rs, Register rt, Label* L) {
704 beqc(rs, rt, branch_offset_compact(L, false)>>2);
705 }
706 void beqzc(Register rs, int32_t offset);
707 void beqzc(Register rs, Label* L) {
708 beqzc(rs, branch_offset21_compact(L, false)>>2);
709 }
710 void bnezalc(Register rt, int16_t offset);
711 void bnezalc(Register rt, Label* L) {
712 bnezalc(rt, branch_offset_compact(L, false)>>2);
713 }
714 void bnec(Register rs, Register rt, int16_t offset);
715 void bnec(Register rs, Register rt, Label* L) {
716 bnec(rs, rt, branch_offset_compact(L, false)>>2);
717 }
718 void bnezc(Register rt, int32_t offset);
719 void bnezc(Register rt, Label* L) {
720 bnezc(rt, branch_offset21_compact(L, false)>>2);
721 }
635 void bne(Register rs, Register rt, int16_t offset); 722 void bne(Register rs, Register rt, int16_t offset);
636 void bne(Register rs, Register rt, Label* L) { 723 void bne(Register rs, Register rt, Label* L) {
637 bne(rs, rt, branch_offset(L, false)>>2); 724 bne(rs, rt, branch_offset(L, false)>>2);
638 } 725 }
726 void bovc(Register rs, Register rt, int16_t offset);
727 void bovc(Register rs, Register rt, Label* L) {
728 bovc(rs, rt, branch_offset_compact(L, false)>>2);
729 }
730 void bnvc(Register rs, Register rt, int16_t offset);
731 void bnvc(Register rs, Register rt, Label* L) {
732 bnvc(rs, rt, branch_offset_compact(L, false)>>2);
733 }
639 734
640 // Never use the int16_t b(l)cond version with a branch offset 735 // Never use the int16_t b(l)cond version with a branch offset
641 // instead of using the Label* version. 736 // instead of using the Label* version.
642 737
643 // Jump targets must be in the current 256 MB-aligned region. i.e. 28 bits. 738 // Jump targets must be in the current 256 MB-aligned region. i.e. 28 bits.
644 void j(int32_t target); 739 void j(int32_t target);
645 void jal(int32_t target); 740 void jal(int32_t target);
646 void jalr(Register rs, Register rd = ra); 741 void jalr(Register rs, Register rd = ra);
647 void jr(Register target); 742 void jr(Register target);
648 void j_or_jr(int32_t target, Register rs); 743 void j_or_jr(int32_t target, Register rs);
649 void jal_or_jalr(int32_t target, Register rs); 744 void jal_or_jalr(int32_t target, Register rs);
650 745
651 746
652 // -------Data-processing-instructions--------- 747 // -------Data-processing-instructions---------
653 748
654 // Arithmetic. 749 // Arithmetic.
655 void addu(Register rd, Register rs, Register rt); 750 void addu(Register rd, Register rs, Register rt);
656 void subu(Register rd, Register rs, Register rt); 751 void subu(Register rd, Register rs, Register rt);
657 void mult(Register rs, Register rt); 752 void mult(Register rs, Register rt);
658 void multu(Register rs, Register rt); 753 void multu(Register rs, Register rt);
659 void div(Register rs, Register rt); 754 void div(Register rs, Register rt);
660 void divu(Register rs, Register rt); 755 void divu(Register rs, Register rt);
756 void div(Register rd, Register rs, Register rt);
757 void divu(Register rd, Register rs, Register rt);
758 void mod(Register rd, Register rs, Register rt);
759 void modu(Register rd, Register rs, Register rt);
661 void mul(Register rd, Register rs, Register rt); 760 void mul(Register rd, Register rs, Register rt);
761 void muh(Register rd, Register rs, Register rt);
762 void mulu(Register rd, Register rs, Register rt);
763 void muhu(Register rd, Register rs, Register rt);
662 764
663 void addiu(Register rd, Register rs, int32_t j); 765 void addiu(Register rd, Register rs, int32_t j);
664 766
665 // Logical. 767 // Logical.
666 void and_(Register rd, Register rs, Register rt); 768 void and_(Register rd, Register rs, Register rt);
667 void or_(Register rd, Register rs, Register rt); 769 void or_(Register rd, Register rs, Register rt);
668 void xor_(Register rd, Register rs, Register rt); 770 void xor_(Register rd, Register rs, Register rt);
669 void nor(Register rd, Register rs, Register rt); 771 void nor(Register rd, Register rs, Register rt);
670 772
671 void andi(Register rd, Register rs, int32_t j); 773 void andi(Register rd, Register rs, int32_t j);
672 void ori(Register rd, Register rs, int32_t j); 774 void ori(Register rd, Register rs, int32_t j);
673 void xori(Register rd, Register rs, int32_t j); 775 void xori(Register rd, Register rs, int32_t j);
674 void lui(Register rd, int32_t j); 776 void lui(Register rd, int32_t j);
777 void aui(Register rs, Register rt, int32_t j);
675 778
676 // Shifts. 779 // Shifts.
677 // Please note: sll(zero_reg, zero_reg, x) instructions are reserved as nop 780 // Please note: sll(zero_reg, zero_reg, x) instructions are reserved as nop
678 // and may cause problems in normal code. coming_from_nop makes sure this 781 // and may cause problems in normal code. coming_from_nop makes sure this
679 // doesn't happen. 782 // doesn't happen.
680 void sll(Register rd, Register rt, uint16_t sa, bool coming_from_nop = false); 783 void sll(Register rd, Register rt, uint16_t sa, bool coming_from_nop = false);
681 void sllv(Register rd, Register rt, Register rs); 784 void sllv(Register rd, Register rt, Register rs);
682 void srl(Register rd, Register rt, uint16_t sa); 785 void srl(Register rd, Register rt, uint16_t sa);
683 void srlv(Register rd, Register rt, Register rs); 786 void srlv(Register rd, Register rt, Register rs);
684 void sra(Register rt, Register rd, uint16_t sa); 787 void sra(Register rt, Register rd, uint16_t sa);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 void sltu(Register rd, Register rs, Register rt); 832 void sltu(Register rd, Register rs, Register rt);
730 void slti(Register rd, Register rs, int32_t j); 833 void slti(Register rd, Register rs, int32_t j);
731 void sltiu(Register rd, Register rs, int32_t j); 834 void sltiu(Register rd, Register rs, int32_t j);
732 835
733 // Conditional move. 836 // Conditional move.
734 void movz(Register rd, Register rs, Register rt); 837 void movz(Register rd, Register rs, Register rt);
735 void movn(Register rd, Register rs, Register rt); 838 void movn(Register rd, Register rs, Register rt);
736 void movt(Register rd, Register rs, uint16_t cc = 0); 839 void movt(Register rd, Register rs, uint16_t cc = 0);
737 void movf(Register rd, Register rs, uint16_t cc = 0); 840 void movf(Register rd, Register rs, uint16_t cc = 0);
738 841
842 void sel(SecondaryField fmt, FPURegister fd, FPURegister ft,
843 FPURegister fs, uint8_t sel);
844 void seleqz(Register rs, Register rt, Register rd);
845 void seleqz(SecondaryField fmt, FPURegister fd, FPURegister ft,
846 FPURegister fs);
847 void selnez(Register rs, Register rt, Register rd);
848 void selnez(SecondaryField fmt, FPURegister fd, FPURegister ft,
849 FPURegister fs);
850
739 // Bit twiddling. 851 // Bit twiddling.
740 void clz(Register rd, Register rs); 852 void clz(Register rd, Register rs);
741 void ins_(Register rt, Register rs, uint16_t pos, uint16_t size); 853 void ins_(Register rt, Register rs, uint16_t pos, uint16_t size);
742 void ext_(Register rt, Register rs, uint16_t pos, uint16_t size); 854 void ext_(Register rt, Register rs, uint16_t pos, uint16_t size);
743 855
744 // --------Coprocessor-instructions---------------- 856 // --------Coprocessor-instructions----------------
745 857
746 // Load, store, and move. 858 // Load, store, and move.
747 void lwc1(FPURegister fd, const MemOperand& src); 859 void lwc1(FPURegister fd, const MemOperand& src);
748 void ldc1(FPURegister fd, const MemOperand& src); 860 void ldc1(FPURegister fd, const MemOperand& src);
749 861
750 void swc1(FPURegister fs, const MemOperand& dst); 862 void swc1(FPURegister fs, const MemOperand& dst);
751 void sdc1(FPURegister fs, const MemOperand& dst); 863 void sdc1(FPURegister fs, const MemOperand& dst);
752 864
753 void mtc1(Register rt, FPURegister fs); 865 void mtc1(Register rt, FPURegister fs);
866 void mthc1(Register rt, FPURegister fs);
867
754 void mfc1(Register rt, FPURegister fs); 868 void mfc1(Register rt, FPURegister fs);
869 void mfhc1(Register rt, FPURegister fs);
755 870
756 void ctc1(Register rt, FPUControlRegister fs); 871 void ctc1(Register rt, FPUControlRegister fs);
757 void cfc1(Register rt, FPUControlRegister fs); 872 void cfc1(Register rt, FPUControlRegister fs);
758 873
759 // Arithmetic. 874 // Arithmetic.
760 void add_d(FPURegister fd, FPURegister fs, FPURegister ft); 875 void add_d(FPURegister fd, FPURegister fs, FPURegister ft);
761 void sub_d(FPURegister fd, FPURegister fs, FPURegister ft); 876 void sub_d(FPURegister fd, FPURegister fs, FPURegister ft);
762 void mul_d(FPURegister fd, FPURegister fs, FPURegister ft); 877 void mul_d(FPURegister fd, FPURegister fs, FPURegister ft);
763 void madd_d(FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft); 878 void madd_d(FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft);
764 void div_d(FPURegister fd, FPURegister fs, FPURegister ft); 879 void div_d(FPURegister fd, FPURegister fs, FPURegister ft);
(...skipping 18 matching lines...) Expand all
783 void cvt_l_d(FPURegister fd, FPURegister fs); 898 void cvt_l_d(FPURegister fd, FPURegister fs);
784 void trunc_l_s(FPURegister fd, FPURegister fs); 899 void trunc_l_s(FPURegister fd, FPURegister fs);
785 void trunc_l_d(FPURegister fd, FPURegister fs); 900 void trunc_l_d(FPURegister fd, FPURegister fs);
786 void round_l_s(FPURegister fd, FPURegister fs); 901 void round_l_s(FPURegister fd, FPURegister fs);
787 void round_l_d(FPURegister fd, FPURegister fs); 902 void round_l_d(FPURegister fd, FPURegister fs);
788 void floor_l_s(FPURegister fd, FPURegister fs); 903 void floor_l_s(FPURegister fd, FPURegister fs);
789 void floor_l_d(FPURegister fd, FPURegister fs); 904 void floor_l_d(FPURegister fd, FPURegister fs);
790 void ceil_l_s(FPURegister fd, FPURegister fs); 905 void ceil_l_s(FPURegister fd, FPURegister fs);
791 void ceil_l_d(FPURegister fd, FPURegister fs); 906 void ceil_l_d(FPURegister fd, FPURegister fs);
792 907
908 void min(SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs);
909 void mina(SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs);
910 void max(SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs);
911 void maxa(SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs);
912
793 void cvt_s_w(FPURegister fd, FPURegister fs); 913 void cvt_s_w(FPURegister fd, FPURegister fs);
794 void cvt_s_l(FPURegister fd, FPURegister fs); 914 void cvt_s_l(FPURegister fd, FPURegister fs);
795 void cvt_s_d(FPURegister fd, FPURegister fs); 915 void cvt_s_d(FPURegister fd, FPURegister fs);
796 916
797 void cvt_d_w(FPURegister fd, FPURegister fs); 917 void cvt_d_w(FPURegister fd, FPURegister fs);
798 void cvt_d_l(FPURegister fd, FPURegister fs); 918 void cvt_d_l(FPURegister fd, FPURegister fs);
799 void cvt_d_s(FPURegister fd, FPURegister fs); 919 void cvt_d_s(FPURegister fd, FPURegister fs);
800 920
801 // Conditions and branches. 921 // Conditions and branches for MIPSr6.
922 void cmp(FPUCondition cond, SecondaryField fmt,
923 FPURegister fd, FPURegister ft, FPURegister fs);
924
925 void bc1eqz(int16_t offset, FPURegister ft);
926 void bc1eqz(Label* L, FPURegister ft) {
927 bc1eqz(branch_offset(L, false)>>2, ft);
928 }
929 void bc1nez(int16_t offset, FPURegister ft);
930 void bc1nez(Label* L, FPURegister ft) {
931 bc1nez(branch_offset(L, false)>>2, ft);
932 }
933
934 // Conditions and branches for non MIPSr6.
802 void c(FPUCondition cond, SecondaryField fmt, 935 void c(FPUCondition cond, SecondaryField fmt,
803 FPURegister ft, FPURegister fs, uint16_t cc = 0); 936 FPURegister ft, FPURegister fs, uint16_t cc = 0);
804 937
805 void bc1f(int16_t offset, uint16_t cc = 0); 938 void bc1f(int16_t offset, uint16_t cc = 0);
806 void bc1f(Label* L, uint16_t cc = 0) { bc1f(branch_offset(L, false)>>2, cc); } 939 void bc1f(Label* L, uint16_t cc = 0) { bc1f(branch_offset(L, false)>>2, cc); }
807 void bc1t(int16_t offset, uint16_t cc = 0); 940 void bc1t(int16_t offset, uint16_t cc = 0);
808 void bc1t(Label* L, uint16_t cc = 0) { bc1t(branch_offset(L, false)>>2, cc); } 941 void bc1t(Label* L, uint16_t cc = 0) { bc1t(branch_offset(L, false)>>2, cc); }
809 void fcmp(FPURegister src1, const double src2, FPUCondition cond); 942 void fcmp(FPURegister src1, const double src2, FPUCondition cond);
810 943
811 // Check the code size generated from label to here. 944 // Check the code size generated from label to here.
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
1237 class EnsureSpace BASE_EMBEDDED { 1370 class EnsureSpace BASE_EMBEDDED {
1238 public: 1371 public:
1239 explicit EnsureSpace(Assembler* assembler) { 1372 explicit EnsureSpace(Assembler* assembler) {
1240 assembler->CheckBuffer(); 1373 assembler->CheckBuffer();
1241 } 1374 }
1242 }; 1375 };
1243 1376
1244 } } // namespace v8::internal 1377 } } // namespace v8::internal
1245 1378
1246 #endif // V8_ARM_ASSEMBLER_MIPS_H_ 1379 #endif // V8_ARM_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « src/globals.h ('k') | src/mips/assembler-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698