OLD | NEW |
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 5460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5471 Branch(&done); | 5471 Branch(&done); |
5472 | 5472 |
5473 // In 0-255 range, round and truncate. | 5473 // In 0-255 range, round and truncate. |
5474 bind(&in_bounds); | 5474 bind(&in_bounds); |
5475 cvt_w_d(temp_double_reg, input_reg); | 5475 cvt_w_d(temp_double_reg, input_reg); |
5476 mfc1(result_reg, temp_double_reg); | 5476 mfc1(result_reg, temp_double_reg); |
5477 bind(&done); | 5477 bind(&done); |
5478 } | 5478 } |
5479 | 5479 |
5480 | 5480 |
5481 void MacroAssembler::TestJSArrayForAllocationSiteInfo( | 5481 void MacroAssembler::TestJSArrayForAllocationMemento( |
5482 Register receiver_reg, | 5482 Register receiver_reg, |
5483 Register scratch_reg, | 5483 Register scratch_reg, |
5484 Condition cond, | 5484 Condition cond, |
5485 Label* allocation_info_present) { | 5485 Label* allocation_memento_present) { |
5486 Label no_info_available; | 5486 Label no_memento_available; |
5487 ExternalReference new_space_start = | 5487 ExternalReference new_space_start = |
5488 ExternalReference::new_space_start(isolate()); | 5488 ExternalReference::new_space_start(isolate()); |
5489 ExternalReference new_space_allocation_top = | 5489 ExternalReference new_space_allocation_top = |
5490 ExternalReference::new_space_allocation_top_address(isolate()); | 5490 ExternalReference::new_space_allocation_top_address(isolate()); |
5491 Addu(scratch_reg, receiver_reg, | 5491 Addu(scratch_reg, receiver_reg, |
5492 Operand(JSArray::kSize + AllocationSiteInfo::kSize - kHeapObjectTag)); | 5492 Operand(JSArray::kSize + AllocationMemento::kSize - kHeapObjectTag)); |
5493 Branch(&no_info_available, lt, scratch_reg, Operand(new_space_start)); | 5493 Branch(&no_memento_available, lt, scratch_reg, Operand(new_space_start)); |
5494 li(at, Operand(new_space_allocation_top)); | 5494 li(at, Operand(new_space_allocation_top)); |
5495 lw(at, MemOperand(at)); | 5495 lw(at, MemOperand(at)); |
5496 Branch(&no_info_available, gt, scratch_reg, Operand(at)); | 5496 Branch(&no_memento_available, gt, scratch_reg, Operand(at)); |
5497 lw(scratch_reg, MemOperand(scratch_reg, -AllocationSiteInfo::kSize)); | 5497 lw(scratch_reg, MemOperand(scratch_reg, -AllocationMemento::kSize)); |
5498 Branch(allocation_info_present, cond, scratch_reg, | 5498 Branch(allocation_memento_present, cond, scratch_reg, |
5499 Operand(Handle<Map>(isolate()->heap()->allocation_site_info_map()))); | 5499 Operand(Handle<Map>(isolate()->heap()->allocation_memento_map()))); |
5500 bind(&no_info_available); | 5500 bind(&no_memento_available); |
5501 } | 5501 } |
5502 | 5502 |
5503 | 5503 |
5504 bool AreAliased(Register r1, Register r2, Register r3, Register r4) { | 5504 bool AreAliased(Register r1, Register r2, Register r3, Register r4) { |
5505 if (r1.is(r2)) return true; | 5505 if (r1.is(r2)) return true; |
5506 if (r1.is(r3)) return true; | 5506 if (r1.is(r3)) return true; |
5507 if (r1.is(r4)) return true; | 5507 if (r1.is(r4)) return true; |
5508 if (r2.is(r3)) return true; | 5508 if (r2.is(r3)) return true; |
5509 if (r2.is(r4)) return true; | 5509 if (r2.is(r4)) return true; |
5510 if (r3.is(r4)) return true; | 5510 if (r3.is(r4)) return true; |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5561 opcode == BGTZL); | 5561 opcode == BGTZL); |
5562 opcode = (cond == eq) ? BEQ : BNE; | 5562 opcode = (cond == eq) ? BEQ : BNE; |
5563 instr = (instr & ~kOpcodeMask) | opcode; | 5563 instr = (instr & ~kOpcodeMask) | opcode; |
5564 masm_.emit(instr); | 5564 masm_.emit(instr); |
5565 } | 5565 } |
5566 | 5566 |
5567 | 5567 |
5568 } } // namespace v8::internal | 5568 } } // namespace v8::internal |
5569 | 5569 |
5570 #endif // V8_TARGET_ARCH_MIPS | 5570 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |