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 5436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5447 | 5447 |
5448 void MacroAssembler::TestJSArrayForAllocationSiteInfo( | 5448 void MacroAssembler::TestJSArrayForAllocationSiteInfo( |
5449 Register receiver_reg, | 5449 Register receiver_reg, |
5450 Register scratch_reg, | 5450 Register scratch_reg, |
5451 Label* allocation_info_present) { | 5451 Label* allocation_info_present) { |
5452 Label no_info_available; | 5452 Label no_info_available; |
5453 ExternalReference new_space_start = | 5453 ExternalReference new_space_start = |
5454 ExternalReference::new_space_start(isolate()); | 5454 ExternalReference::new_space_start(isolate()); |
5455 ExternalReference new_space_allocation_top = | 5455 ExternalReference new_space_allocation_top = |
5456 ExternalReference::new_space_allocation_top_address(isolate()); | 5456 ExternalReference::new_space_allocation_top_address(isolate()); |
5457 lw(scratch_reg, FieldMemOperand(receiver_reg, | 5457 Addu(scratch_reg, receiver_reg, |
5458 JSArray::kSize + AllocationSiteInfo::kSize - kHeapObjectTag)); | 5458 Operand(JSArray::kSize + AllocationSiteInfo::kSize - kHeapObjectTag)); |
5459 Branch(&no_info_available, lt, scratch_reg, Operand(new_space_start)); | 5459 Branch(&no_info_available, lt, scratch_reg, Operand(new_space_start)); |
5460 Branch(&no_info_available, gt, scratch_reg, | 5460 li(at, Operand(new_space_allocation_top)); |
5461 Operand(new_space_allocation_top)); | 5461 lw(at, MemOperand(at)); |
| 5462 Branch(&no_info_available, gt, scratch_reg, Operand(at)); |
5462 lw(scratch_reg, MemOperand(scratch_reg, -AllocationSiteInfo::kSize)); | 5463 lw(scratch_reg, MemOperand(scratch_reg, -AllocationSiteInfo::kSize)); |
5463 Branch(allocation_info_present, eq, scratch_reg, | 5464 Branch(allocation_info_present, eq, scratch_reg, |
5464 Operand(Handle<Map>(isolate()->heap()->allocation_site_info_map()))); | 5465 Operand(Handle<Map>(isolate()->heap()->allocation_site_info_map()))); |
5465 bind(&no_info_available); | 5466 bind(&no_info_available); |
5466 } | 5467 } |
5467 | 5468 |
5468 | 5469 |
5469 bool AreAliased(Register r1, Register r2, Register r3, Register r4) { | 5470 bool AreAliased(Register r1, Register r2, Register r3, Register r4) { |
5470 if (r1.is(r2)) return true; | 5471 if (r1.is(r2)) return true; |
5471 if (r1.is(r3)) return true; | 5472 if (r1.is(r3)) return true; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5527 opcode == BGTZL); | 5528 opcode == BGTZL); |
5528 opcode = (cond == eq) ? BEQ : BNE; | 5529 opcode = (cond == eq) ? BEQ : BNE; |
5529 instr = (instr & ~kOpcodeMask) | opcode; | 5530 instr = (instr & ~kOpcodeMask) | opcode; |
5530 masm_.emit(instr); | 5531 masm_.emit(instr); |
5531 } | 5532 } |
5532 | 5533 |
5533 | 5534 |
5534 } } // namespace v8::internal | 5535 } } // namespace v8::internal |
5535 | 5536 |
5536 #endif // V8_TARGET_ARCH_MIPS | 5537 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |