| OLD | NEW |
| 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 2541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2552 | 2552 |
| 2553 | 2553 |
| 2554 void Assembler::bc1t(int16_t offset, uint16_t cc) { | 2554 void Assembler::bc1t(int16_t offset, uint16_t cc) { |
| 2555 DCHECK(is_uint3(cc)); | 2555 DCHECK(is_uint3(cc)); |
| 2556 Instr instr = COP1 | BC1 | cc << 18 | 1 << 16 | (offset & kImm16Mask); | 2556 Instr instr = COP1 | BC1 | cc << 18 | 1 << 16 | (offset & kImm16Mask); |
| 2557 emit(instr); | 2557 emit(instr); |
| 2558 } | 2558 } |
| 2559 | 2559 |
| 2560 | 2560 |
| 2561 // Debugging. | 2561 // Debugging. |
| 2562 void Assembler::RecordJSReturn() { | |
| 2563 positions_recorder()->WriteRecordedPositions(); | |
| 2564 CheckBuffer(); | |
| 2565 RecordRelocInfo(RelocInfo::JS_RETURN); | |
| 2566 } | |
| 2567 | |
| 2568 | |
| 2569 void Assembler::RecordDebugBreakSlot() { | |
| 2570 positions_recorder()->WriteRecordedPositions(); | |
| 2571 CheckBuffer(); | |
| 2572 RecordRelocInfo(RelocInfo::DEBUG_BREAK_SLOT); | |
| 2573 } | |
| 2574 | |
| 2575 | |
| 2576 void Assembler::RecordComment(const char* msg) { | |
| 2577 if (FLAG_code_comments) { | |
| 2578 CheckBuffer(); | |
| 2579 RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg)); | |
| 2580 } | |
| 2581 } | |
| 2582 | |
| 2583 | |
| 2584 void Assembler::RecordDeoptReason(const int reason, const int raw_position) { | |
| 2585 if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) { | |
| 2586 EnsureSpace ensure_space(this); | |
| 2587 RecordRelocInfo(RelocInfo::POSITION, raw_position); | |
| 2588 RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); | |
| 2589 } | |
| 2590 } | |
| 2591 | |
| 2592 | |
| 2593 int Assembler::RelocateInternalReference(byte* pc, intptr_t pc_delta) { | 2562 int Assembler::RelocateInternalReference(byte* pc, intptr_t pc_delta) { |
| 2594 Instr instr = instr_at(pc); | 2563 Instr instr = instr_at(pc); |
| 2595 DCHECK(IsJ(instr) || IsLui(instr)); | 2564 DCHECK(IsJ(instr) || IsLui(instr)); |
| 2596 if (IsLui(instr)) { | 2565 if (IsLui(instr)) { |
| 2597 Instr instr_lui = instr_at(pc + 0 * Assembler::kInstrSize); | 2566 Instr instr_lui = instr_at(pc + 0 * Assembler::kInstrSize); |
| 2598 Instr instr_ori = instr_at(pc + 1 * Assembler::kInstrSize); | 2567 Instr instr_ori = instr_at(pc + 1 * Assembler::kInstrSize); |
| 2599 Instr instr_ori2 = instr_at(pc + 3 * Assembler::kInstrSize); | 2568 Instr instr_ori2 = instr_at(pc + 3 * Assembler::kInstrSize); |
| 2600 DCHECK(IsOri(instr_ori)); | 2569 DCHECK(IsOri(instr_ori)); |
| 2601 DCHECK(IsOri(instr_ori2)); | 2570 DCHECK(IsOri(instr_ori2)); |
| 2602 // TODO(plind): symbolic names for the shifts. | 2571 // TODO(plind): symbolic names for the shifts. |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2941 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { | 2910 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { |
| 2942 // No out-of-line constant pool support. | 2911 // No out-of-line constant pool support. |
| 2943 DCHECK(!FLAG_enable_ool_constant_pool); | 2912 DCHECK(!FLAG_enable_ool_constant_pool); |
| 2944 return; | 2913 return; |
| 2945 } | 2914 } |
| 2946 | 2915 |
| 2947 | 2916 |
| 2948 } } // namespace v8::internal | 2917 } } // namespace v8::internal |
| 2949 | 2918 |
| 2950 #endif // V8_TARGET_ARCH_MIPS64 | 2919 #endif // V8_TARGET_ARCH_MIPS64 |
| OLD | NEW |