| 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 2314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2325 | 2325 |
| 2326 | 2326 |
| 2327 void Assembler::bc1t(int16_t offset, uint16_t cc) { | 2327 void Assembler::bc1t(int16_t offset, uint16_t cc) { |
| 2328 DCHECK(is_uint3(cc)); | 2328 DCHECK(is_uint3(cc)); |
| 2329 Instr instr = COP1 | BC1 | cc << 18 | 1 << 16 | (offset & kImm16Mask); | 2329 Instr instr = COP1 | BC1 | cc << 18 | 1 << 16 | (offset & kImm16Mask); |
| 2330 emit(instr); | 2330 emit(instr); |
| 2331 } | 2331 } |
| 2332 | 2332 |
| 2333 | 2333 |
| 2334 // Debugging. | 2334 // Debugging. |
| 2335 void Assembler::RecordJSReturn() { | |
| 2336 positions_recorder()->WriteRecordedPositions(); | |
| 2337 CheckBuffer(); | |
| 2338 RecordRelocInfo(RelocInfo::JS_RETURN); | |
| 2339 } | |
| 2340 | |
| 2341 | |
| 2342 void Assembler::RecordDebugBreakSlot() { | |
| 2343 positions_recorder()->WriteRecordedPositions(); | |
| 2344 CheckBuffer(); | |
| 2345 RecordRelocInfo(RelocInfo::DEBUG_BREAK_SLOT); | |
| 2346 } | |
| 2347 | |
| 2348 | |
| 2349 void Assembler::RecordComment(const char* msg) { | |
| 2350 if (FLAG_code_comments) { | |
| 2351 CheckBuffer(); | |
| 2352 RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg)); | |
| 2353 } | |
| 2354 } | |
| 2355 | |
| 2356 | |
| 2357 void Assembler::RecordDeoptReason(const int reason, const int raw_position) { | |
| 2358 if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) { | |
| 2359 EnsureSpace ensure_space(this); | |
| 2360 RecordRelocInfo(RelocInfo::POSITION, raw_position); | |
| 2361 RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); | |
| 2362 } | |
| 2363 } | |
| 2364 | |
| 2365 | |
| 2366 int Assembler::RelocateInternalReference(byte* pc, intptr_t pc_delta) { | 2335 int Assembler::RelocateInternalReference(byte* pc, intptr_t pc_delta) { |
| 2367 Instr instr = instr_at(pc); | 2336 Instr instr = instr_at(pc); |
| 2368 if (IsLui(instr)) { | 2337 if (IsLui(instr)) { |
| 2369 Instr instr_lui = instr_at(pc + 0 * Assembler::kInstrSize); | 2338 Instr instr_lui = instr_at(pc + 0 * Assembler::kInstrSize); |
| 2370 Instr instr_ori = instr_at(pc + 1 * Assembler::kInstrSize); | 2339 Instr instr_ori = instr_at(pc + 1 * Assembler::kInstrSize); |
| 2371 DCHECK(IsOri(instr_ori)); | 2340 DCHECK(IsOri(instr_ori)); |
| 2372 int32_t imm = (instr_lui & static_cast<int32_t>(kImm16Mask)) << kLuiShift; | 2341 int32_t imm = (instr_lui & static_cast<int32_t>(kImm16Mask)) << kLuiShift; |
| 2373 imm |= (instr_ori & static_cast<int32_t>(kImm16Mask)); | 2342 imm |= (instr_ori & static_cast<int32_t>(kImm16Mask)); |
| 2374 if (imm == kEndOfJumpChain) { | 2343 if (imm == kEndOfJumpChain) { |
| 2375 return 0; // Number of instructions patched. | 2344 return 0; // Number of instructions patched. |
| (...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2792 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { | 2761 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { |
| 2793 // No out-of-line constant pool support. | 2762 // No out-of-line constant pool support. |
| 2794 DCHECK(!FLAG_enable_ool_constant_pool); | 2763 DCHECK(!FLAG_enable_ool_constant_pool); |
| 2795 return; | 2764 return; |
| 2796 } | 2765 } |
| 2797 | 2766 |
| 2798 | 2767 |
| 2799 } } // namespace v8::internal | 2768 } } // namespace v8::internal |
| 2800 | 2769 |
| 2801 #endif // V8_TARGET_ARCH_MIPS | 2770 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |