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

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

Issue 12391055: Cleaned up CpuFeature scope handling. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fixed nits Created 7 years, 9 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/mips/lithium-gap-resolver-mips.cc ('k') | src/mips/stub-cache-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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 if ((regs & (1 << i)) != 0) { 846 if ((regs & (1 << i)) != 0) {
847 lw(ToRegister(i), MemOperand(sp, stack_offset)); 847 lw(ToRegister(i), MemOperand(sp, stack_offset));
848 stack_offset += kPointerSize; 848 stack_offset += kPointerSize;
849 } 849 }
850 } 850 }
851 addiu(sp, sp, stack_offset); 851 addiu(sp, sp, stack_offset);
852 } 852 }
853 853
854 854
855 void MacroAssembler::MultiPushFPU(RegList regs) { 855 void MacroAssembler::MultiPushFPU(RegList regs) {
856 CpuFeatures::Scope scope(FPU); 856 CpuFeatureScope scope(this, FPU);
857 int16_t num_to_push = NumberOfBitsSet(regs); 857 int16_t num_to_push = NumberOfBitsSet(regs);
858 int16_t stack_offset = num_to_push * kDoubleSize; 858 int16_t stack_offset = num_to_push * kDoubleSize;
859 859
860 Subu(sp, sp, Operand(stack_offset)); 860 Subu(sp, sp, Operand(stack_offset));
861 for (int16_t i = kNumRegisters - 1; i >= 0; i--) { 861 for (int16_t i = kNumRegisters - 1; i >= 0; i--) {
862 if ((regs & (1 << i)) != 0) { 862 if ((regs & (1 << i)) != 0) {
863 stack_offset -= kDoubleSize; 863 stack_offset -= kDoubleSize;
864 sdc1(FPURegister::from_code(i), MemOperand(sp, stack_offset)); 864 sdc1(FPURegister::from_code(i), MemOperand(sp, stack_offset));
865 } 865 }
866 } 866 }
867 } 867 }
868 868
869 869
870 void MacroAssembler::MultiPushReversedFPU(RegList regs) { 870 void MacroAssembler::MultiPushReversedFPU(RegList regs) {
871 CpuFeatures::Scope scope(FPU); 871 CpuFeatureScope scope(this, FPU);
872 int16_t num_to_push = NumberOfBitsSet(regs); 872 int16_t num_to_push = NumberOfBitsSet(regs);
873 int16_t stack_offset = num_to_push * kDoubleSize; 873 int16_t stack_offset = num_to_push * kDoubleSize;
874 874
875 Subu(sp, sp, Operand(stack_offset)); 875 Subu(sp, sp, Operand(stack_offset));
876 for (int16_t i = 0; i < kNumRegisters; i++) { 876 for (int16_t i = 0; i < kNumRegisters; i++) {
877 if ((regs & (1 << i)) != 0) { 877 if ((regs & (1 << i)) != 0) {
878 stack_offset -= kDoubleSize; 878 stack_offset -= kDoubleSize;
879 sdc1(FPURegister::from_code(i), MemOperand(sp, stack_offset)); 879 sdc1(FPURegister::from_code(i), MemOperand(sp, stack_offset));
880 } 880 }
881 } 881 }
882 } 882 }
883 883
884 884
885 void MacroAssembler::MultiPopFPU(RegList regs) { 885 void MacroAssembler::MultiPopFPU(RegList regs) {
886 CpuFeatures::Scope scope(FPU); 886 CpuFeatureScope scope(this, FPU);
887 int16_t stack_offset = 0; 887 int16_t stack_offset = 0;
888 888
889 for (int16_t i = 0; i < kNumRegisters; i++) { 889 for (int16_t i = 0; i < kNumRegisters; i++) {
890 if ((regs & (1 << i)) != 0) { 890 if ((regs & (1 << i)) != 0) {
891 ldc1(FPURegister::from_code(i), MemOperand(sp, stack_offset)); 891 ldc1(FPURegister::from_code(i), MemOperand(sp, stack_offset));
892 stack_offset += kDoubleSize; 892 stack_offset += kDoubleSize;
893 } 893 }
894 } 894 }
895 addiu(sp, sp, stack_offset); 895 addiu(sp, sp, stack_offset);
896 } 896 }
897 897
898 898
899 void MacroAssembler::MultiPopReversedFPU(RegList regs) { 899 void MacroAssembler::MultiPopReversedFPU(RegList regs) {
900 CpuFeatures::Scope scope(FPU); 900 CpuFeatureScope scope(this, FPU);
901 int16_t stack_offset = 0; 901 int16_t stack_offset = 0;
902 902
903 for (int16_t i = kNumRegisters - 1; i >= 0; i--) { 903 for (int16_t i = kNumRegisters - 1; i >= 0; i--) {
904 if ((regs & (1 << i)) != 0) { 904 if ((regs & (1 << i)) != 0) {
905 ldc1(FPURegister::from_code(i), MemOperand(sp, stack_offset)); 905 ldc1(FPURegister::from_code(i), MemOperand(sp, stack_offset));
906 stack_offset += kDoubleSize; 906 stack_offset += kDoubleSize;
907 } 907 }
908 } 908 }
909 addiu(sp, sp, stack_offset); 909 addiu(sp, sp, stack_offset);
910 } 910 }
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
1158 }; 1158 };
1159 } 1159 }
1160 1160
1161 if (bd == PROTECT) { 1161 if (bd == PROTECT) {
1162 nop(); 1162 nop();
1163 } 1163 }
1164 } 1164 }
1165 1165
1166 1166
1167 void MacroAssembler::Move(FPURegister dst, double imm) { 1167 void MacroAssembler::Move(FPURegister dst, double imm) {
1168 ASSERT(CpuFeatures::IsEnabled(FPU)); 1168 ASSERT(IsEnabled(FPU));
1169 static const DoubleRepresentation minus_zero(-0.0); 1169 static const DoubleRepresentation minus_zero(-0.0);
1170 static const DoubleRepresentation zero(0.0); 1170 static const DoubleRepresentation zero(0.0);
1171 DoubleRepresentation value(imm); 1171 DoubleRepresentation value(imm);
1172 // Handle special values first. 1172 // Handle special values first.
1173 bool force_load = dst.is(kDoubleRegZero); 1173 bool force_load = dst.is(kDoubleRegZero);
1174 if (value.bits == zero.bits && !force_load) { 1174 if (value.bits == zero.bits && !force_load) {
1175 mov_d(dst, kDoubleRegZero); 1175 mov_d(dst, kDoubleRegZero);
1176 } else if (value.bits == minus_zero.bits && !force_load) { 1176 } else if (value.bits == minus_zero.bits && !force_load) {
1177 neg_d(dst, kDoubleRegZero); 1177 neg_d(dst, kDoubleRegZero);
1178 } else { 1178 } else {
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
1338 if (!CpuFeatures::IsSupported(FPU)) { 1338 if (!CpuFeatures::IsSupported(FPU)) {
1339 // We have a shifted exponent between 0 and 30 in scratch2. 1339 // We have a shifted exponent between 0 and 30 in scratch2.
1340 srl(dest, scratch2, HeapNumber::kExponentShift); 1340 srl(dest, scratch2, HeapNumber::kExponentShift);
1341 // We now have the exponent in dest. Subtract from 30 to get 1341 // We now have the exponent in dest. Subtract from 30 to get
1342 // how much to shift down. 1342 // how much to shift down.
1343 li(at, Operand(30)); 1343 li(at, Operand(30));
1344 subu(dest, at, dest); 1344 subu(dest, at, dest);
1345 } 1345 }
1346 bind(&right_exponent); 1346 bind(&right_exponent);
1347 if (CpuFeatures::IsSupported(FPU)) { 1347 if (CpuFeatures::IsSupported(FPU)) {
1348 CpuFeatures::Scope scope(FPU); 1348 CpuFeatureScope scope(this, FPU);
1349 // MIPS FPU instructions implementing double precision to integer 1349 // MIPS FPU instructions implementing double precision to integer
1350 // conversion using round to zero. Since the FP value was qualified 1350 // conversion using round to zero. Since the FP value was qualified
1351 // above, the resulting integer should be a legal int32. 1351 // above, the resulting integer should be a legal int32.
1352 // The original 'Exponent' word is still in scratch. 1352 // The original 'Exponent' word is still in scratch.
1353 lwc1(double_scratch, FieldMemOperand(source, HeapNumber::kMantissaOffset)); 1353 lwc1(double_scratch, FieldMemOperand(source, HeapNumber::kMantissaOffset));
1354 mtc1(scratch, FPURegister::from_code(double_scratch.code() + 1)); 1354 mtc1(scratch, FPURegister::from_code(double_scratch.code() + 1));
1355 trunc_w_d(double_scratch, double_scratch); 1355 trunc_w_d(double_scratch, double_scratch);
1356 mfc1(dest, double_scratch); 1356 mfc1(dest, double_scratch);
1357 } else { 1357 } else {
1358 // On entry, dest has final downshift, scratch has original sign/exp/mant. 1358 // On entry, dest has final downshift, scratch has original sign/exp/mant.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1399 DoubleRegister double_input, 1399 DoubleRegister double_input,
1400 Register scratch, 1400 Register scratch,
1401 DoubleRegister double_scratch, 1401 DoubleRegister double_scratch,
1402 Register except_flag, 1402 Register except_flag,
1403 CheckForInexactConversion check_inexact) { 1403 CheckForInexactConversion check_inexact) {
1404 ASSERT(!result.is(scratch)); 1404 ASSERT(!result.is(scratch));
1405 ASSERT(!double_input.is(double_scratch)); 1405 ASSERT(!double_input.is(double_scratch));
1406 ASSERT(!except_flag.is(scratch)); 1406 ASSERT(!except_flag.is(scratch));
1407 1407
1408 ASSERT(CpuFeatures::IsSupported(FPU)); 1408 ASSERT(CpuFeatures::IsSupported(FPU));
1409 CpuFeatures::Scope scope(FPU); 1409 CpuFeatureScope scope(this, FPU);
1410 Label done; 1410 Label done;
1411 1411
1412 // Clear the except flag (0 = no exception) 1412 // Clear the except flag (0 = no exception)
1413 mov(except_flag, zero_reg); 1413 mov(except_flag, zero_reg);
1414 1414
1415 // Test for values that can be exactly represented as a signed 32-bit integer. 1415 // Test for values that can be exactly represented as a signed 32-bit integer.
1416 cvt_w_d(double_scratch, double_input); 1416 cvt_w_d(double_scratch, double_input);
1417 mfc1(result, double_scratch); 1417 mfc1(result, double_scratch);
1418 cvt_d_w(double_scratch, double_scratch); 1418 cvt_d_w(double_scratch, double_scratch);
1419 BranchF(&done, NULL, eq, double_input, double_scratch); 1419 BranchF(&done, NULL, eq, double_input, double_scratch);
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
1541 bind(&done); 1541 bind(&done);
1542 } 1542 }
1543 1543
1544 1544
1545 void MacroAssembler::EmitECMATruncate(Register result, 1545 void MacroAssembler::EmitECMATruncate(Register result,
1546 FPURegister double_input, 1546 FPURegister double_input,
1547 FPURegister single_scratch, 1547 FPURegister single_scratch,
1548 Register scratch, 1548 Register scratch,
1549 Register scratch2, 1549 Register scratch2,
1550 Register scratch3) { 1550 Register scratch3) {
1551 CpuFeatures::Scope scope(FPU); 1551 CpuFeatureScope scope(this, FPU);
1552 ASSERT(!scratch2.is(result)); 1552 ASSERT(!scratch2.is(result));
1553 ASSERT(!scratch3.is(result)); 1553 ASSERT(!scratch3.is(result));
1554 ASSERT(!scratch3.is(scratch2)); 1554 ASSERT(!scratch3.is(scratch2));
1555 ASSERT(!scratch.is(result) && 1555 ASSERT(!scratch.is(result) &&
1556 !scratch.is(scratch2) && 1556 !scratch.is(scratch2) &&
1557 !scratch.is(scratch3)); 1557 !scratch.is(scratch3));
1558 ASSERT(!single_scratch.is(double_input)); 1558 ASSERT(!single_scratch.is(double_input));
1559 1559
1560 Label done; 1560 Label done;
1561 Label manual; 1561 Label manual;
(...skipping 1915 matching lines...) Expand 10 before | Expand all | Expand 10 after
3477 SmiUntag(untagged_value, value_reg); 3477 SmiUntag(untagged_value, value_reg);
3478 FloatingPointHelper::ConvertIntToDouble(this, 3478 FloatingPointHelper::ConvertIntToDouble(this,
3479 untagged_value, 3479 untagged_value,
3480 destination, 3480 destination,
3481 f0, 3481 f0,
3482 mantissa_reg, 3482 mantissa_reg,
3483 exponent_reg, 3483 exponent_reg,
3484 scratch4, 3484 scratch4,
3485 f2); 3485 f2);
3486 if (destination == FloatingPointHelper::kFPURegisters) { 3486 if (destination == FloatingPointHelper::kFPURegisters) {
3487 CpuFeatures::Scope scope(FPU); 3487 CpuFeatureScope scope(this, FPU);
3488 sdc1(f0, MemOperand(scratch1, 0)); 3488 sdc1(f0, MemOperand(scratch1, 0));
3489 } else { 3489 } else {
3490 sw(mantissa_reg, MemOperand(scratch1, 0)); 3490 sw(mantissa_reg, MemOperand(scratch1, 0));
3491 sw(exponent_reg, MemOperand(scratch1, Register::kSizeInBytes)); 3491 sw(exponent_reg, MemOperand(scratch1, Register::kSizeInBytes));
3492 } 3492 }
3493 bind(&done); 3493 bind(&done);
3494 } 3494 }
3495 3495
3496 3496
3497 void MacroAssembler::CompareMapAndBranch(Register obj, 3497 void MacroAssembler::CompareMapAndBranch(Register obj,
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
3570 if (smi_check_type == DO_SMI_CHECK) { 3570 if (smi_check_type == DO_SMI_CHECK) {
3571 JumpIfSmi(obj, fail); 3571 JumpIfSmi(obj, fail);
3572 } 3572 }
3573 lw(scratch, FieldMemOperand(obj, HeapObject::kMapOffset)); 3573 lw(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
3574 LoadRoot(at, index); 3574 LoadRoot(at, index);
3575 Branch(fail, ne, scratch, Operand(at)); 3575 Branch(fail, ne, scratch, Operand(at));
3576 } 3576 }
3577 3577
3578 3578
3579 void MacroAssembler::GetCFunctionDoubleResult(const DoubleRegister dst) { 3579 void MacroAssembler::GetCFunctionDoubleResult(const DoubleRegister dst) {
3580 CpuFeatures::Scope scope(FPU); 3580 CpuFeatureScope scope(this, FPU);
3581 if (IsMipsSoftFloatABI) { 3581 if (IsMipsSoftFloatABI) {
3582 Move(dst, v0, v1); 3582 Move(dst, v0, v1);
3583 } else { 3583 } else {
3584 Move(dst, f0); // Reg f0 is o32 ABI FP return value. 3584 Move(dst, f0); // Reg f0 is o32 ABI FP return value.
3585 } 3585 }
3586 } 3586 }
3587 3587
3588 3588
3589 void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg) { 3589 void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg) {
3590 CpuFeatures::Scope scope(FPU); 3590 CpuFeatureScope scope(this, FPU);
3591 if (!IsMipsSoftFloatABI) { 3591 if (!IsMipsSoftFloatABI) {
3592 Move(f12, dreg); 3592 Move(f12, dreg);
3593 } else { 3593 } else {
3594 Move(a0, a1, dreg); 3594 Move(a0, a1, dreg);
3595 } 3595 }
3596 } 3596 }
3597 3597
3598 3598
3599 void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg1, 3599 void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg1,
3600 DoubleRegister dreg2) { 3600 DoubleRegister dreg2) {
3601 CpuFeatures::Scope scope(FPU); 3601 CpuFeatureScope scope(this, FPU);
3602 if (!IsMipsSoftFloatABI) { 3602 if (!IsMipsSoftFloatABI) {
3603 if (dreg2.is(f12)) { 3603 if (dreg2.is(f12)) {
3604 ASSERT(!dreg1.is(f14)); 3604 ASSERT(!dreg1.is(f14));
3605 Move(f14, dreg2); 3605 Move(f14, dreg2);
3606 Move(f12, dreg1); 3606 Move(f12, dreg1);
3607 } else { 3607 } else {
3608 Move(f12, dreg1); 3608 Move(f12, dreg1);
3609 Move(f14, dreg2); 3609 Move(f14, dreg2);
3610 } 3610 }
3611 } else { 3611 } else {
3612 Move(a0, a1, dreg1); 3612 Move(a0, a1, dreg1);
3613 Move(a2, a3, dreg2); 3613 Move(a2, a3, dreg2);
3614 } 3614 }
3615 } 3615 }
3616 3616
3617 3617
3618 void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg, 3618 void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg,
3619 Register reg) { 3619 Register reg) {
3620 CpuFeatures::Scope scope(FPU); 3620 CpuFeatureScope scope(this, FPU);
3621 if (!IsMipsSoftFloatABI) { 3621 if (!IsMipsSoftFloatABI) {
3622 Move(f12, dreg); 3622 Move(f12, dreg);
3623 Move(a2, reg); 3623 Move(a2, reg);
3624 } else { 3624 } else {
3625 Move(a2, reg); 3625 Move(a2, reg);
3626 Move(a0, a1, dreg); 3626 Move(a0, a1, dreg);
3627 } 3627 }
3628 } 3628 }
3629 3629
3630 3630
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after
4625 sw(t8, MemOperand(fp, ExitFrameConstants::kCodeOffset)); 4625 sw(t8, MemOperand(fp, ExitFrameConstants::kCodeOffset));
4626 4626
4627 // Save the frame pointer and the context in top. 4627 // Save the frame pointer and the context in top.
4628 li(t8, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate()))); 4628 li(t8, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate())));
4629 sw(fp, MemOperand(t8)); 4629 sw(fp, MemOperand(t8));
4630 li(t8, Operand(ExternalReference(Isolate::kContextAddress, isolate()))); 4630 li(t8, Operand(ExternalReference(Isolate::kContextAddress, isolate())));
4631 sw(cp, MemOperand(t8)); 4631 sw(cp, MemOperand(t8));
4632 4632
4633 const int frame_alignment = MacroAssembler::ActivationFrameAlignment(); 4633 const int frame_alignment = MacroAssembler::ActivationFrameAlignment();
4634 if (save_doubles) { 4634 if (save_doubles) {
4635 CpuFeatures::Scope scope(FPU); 4635 CpuFeatureScope scope(this, FPU);
4636 // The stack must be allign to 0 modulo 8 for stores with sdc1. 4636 // The stack must be allign to 0 modulo 8 for stores with sdc1.
4637 ASSERT(kDoubleSize == frame_alignment); 4637 ASSERT(kDoubleSize == frame_alignment);
4638 if (frame_alignment > 0) { 4638 if (frame_alignment > 0) {
4639 ASSERT(IsPowerOf2(frame_alignment)); 4639 ASSERT(IsPowerOf2(frame_alignment));
4640 And(sp, sp, Operand(-frame_alignment)); // Align stack. 4640 And(sp, sp, Operand(-frame_alignment)); // Align stack.
4641 } 4641 }
4642 int space = FPURegister::kMaxNumRegisters * kDoubleSize; 4642 int space = FPURegister::kMaxNumRegisters * kDoubleSize;
4643 Subu(sp, sp, Operand(space)); 4643 Subu(sp, sp, Operand(space));
4644 // Remember: we only need to save every 2nd double FPU value. 4644 // Remember: we only need to save every 2nd double FPU value.
4645 for (int i = 0; i < FPURegister::kMaxNumRegisters; i+=2) { 4645 for (int i = 0; i < FPURegister::kMaxNumRegisters; i+=2) {
(...skipping 17 matching lines...) Expand all
4663 addiu(at, sp, kPointerSize); 4663 addiu(at, sp, kPointerSize);
4664 sw(at, MemOperand(fp, ExitFrameConstants::kSPOffset)); 4664 sw(at, MemOperand(fp, ExitFrameConstants::kSPOffset));
4665 } 4665 }
4666 4666
4667 4667
4668 void MacroAssembler::LeaveExitFrame(bool save_doubles, 4668 void MacroAssembler::LeaveExitFrame(bool save_doubles,
4669 Register argument_count, 4669 Register argument_count,
4670 bool do_return) { 4670 bool do_return) {
4671 // Optionally restore all double registers. 4671 // Optionally restore all double registers.
4672 if (save_doubles) { 4672 if (save_doubles) {
4673 CpuFeatures::Scope scope(FPU); 4673 CpuFeatureScope scope(this, FPU);
4674 // Remember: we only need to restore every 2nd double FPU value. 4674 // Remember: we only need to restore every 2nd double FPU value.
4675 lw(t8, MemOperand(fp, ExitFrameConstants::kSPOffset)); 4675 lw(t8, MemOperand(fp, ExitFrameConstants::kSPOffset));
4676 for (int i = 0; i < FPURegister::kMaxNumRegisters; i+=2) { 4676 for (int i = 0; i < FPURegister::kMaxNumRegisters; i+=2) {
4677 FPURegister reg = FPURegister::from_code(i); 4677 FPURegister reg = FPURegister::from_code(i);
4678 ldc1(reg, MemOperand(t8, i * kDoubleSize + kPointerSize)); 4678 ldc1(reg, MemOperand(t8, i * kDoubleSize + kPointerSize));
4679 } 4679 }
4680 } 4680 }
4681 4681
4682 // Clear top frame. 4682 // Clear top frame.
4683 li(t8, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate()))); 4683 li(t8, Operand(ExternalReference(Isolate::kCEntryFPAddress, isolate())));
(...skipping 847 matching lines...) Expand 10 before | Expand all | Expand 10 after
5531 opcode == BGTZL); 5531 opcode == BGTZL);
5532 opcode = (cond == eq) ? BEQ : BNE; 5532 opcode = (cond == eq) ? BEQ : BNE;
5533 instr = (instr & ~kOpcodeMask) | opcode; 5533 instr = (instr & ~kOpcodeMask) | opcode;
5534 masm_.emit(instr); 5534 masm_.emit(instr);
5535 } 5535 }
5536 5536
5537 5537
5538 } } // namespace v8::internal 5538 } } // namespace v8::internal
5539 5539
5540 #endif // V8_TARGET_ARCH_MIPS 5540 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/mips/lithium-gap-resolver-mips.cc ('k') | src/mips/stub-cache-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698