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 |