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 2329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2340 | 2340 |
2341 | 2341 |
2342 void Assembler::RecordComment(const char* msg) { | 2342 void Assembler::RecordComment(const char* msg) { |
2343 if (FLAG_code_comments) { | 2343 if (FLAG_code_comments) { |
2344 CheckBuffer(); | 2344 CheckBuffer(); |
2345 RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg)); | 2345 RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg)); |
2346 } | 2346 } |
2347 } | 2347 } |
2348 | 2348 |
2349 | 2349 |
| 2350 void Assembler::RecordDeoptReason(const int reason, const int raw_position) { |
| 2351 if (FLAG_trace_deopt) { |
| 2352 EnsureSpace ensure_space(this); |
| 2353 RecordRelocInfo(RelocInfo::POSITION, raw_position); |
| 2354 RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); |
| 2355 } |
| 2356 } |
| 2357 |
| 2358 |
2350 int Assembler::RelocateInternalReference(byte* pc, intptr_t pc_delta) { | 2359 int Assembler::RelocateInternalReference(byte* pc, intptr_t pc_delta) { |
2351 Instr instr = instr_at(pc); | 2360 Instr instr = instr_at(pc); |
2352 DCHECK(IsJ(instr) || IsLui(instr)); | 2361 DCHECK(IsJ(instr) || IsLui(instr)); |
2353 if (IsLui(instr)) { | 2362 if (IsLui(instr)) { |
2354 Instr instr_lui = instr_at(pc + 0 * Assembler::kInstrSize); | 2363 Instr instr_lui = instr_at(pc + 0 * Assembler::kInstrSize); |
2355 Instr instr_ori = instr_at(pc + 1 * Assembler::kInstrSize); | 2364 Instr instr_ori = instr_at(pc + 1 * Assembler::kInstrSize); |
2356 DCHECK(IsOri(instr_ori)); | 2365 DCHECK(IsOri(instr_ori)); |
2357 int32_t imm = (instr_lui & static_cast<int32_t>(kImm16Mask)) << kLuiShift; | 2366 int32_t imm = (instr_lui & static_cast<int32_t>(kImm16Mask)) << kLuiShift; |
2358 imm |= (instr_ori & static_cast<int32_t>(kImm16Mask)); | 2367 imm |= (instr_ori & static_cast<int32_t>(kImm16Mask)); |
2359 if (imm == kEndOfJumpChain) { | 2368 if (imm == kEndOfJumpChain) { |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2740 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { | 2749 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { |
2741 // No out-of-line constant pool support. | 2750 // No out-of-line constant pool support. |
2742 DCHECK(!FLAG_enable_ool_constant_pool); | 2751 DCHECK(!FLAG_enable_ool_constant_pool); |
2743 return; | 2752 return; |
2744 } | 2753 } |
2745 | 2754 |
2746 | 2755 |
2747 } } // namespace v8::internal | 2756 } } // namespace v8::internal |
2748 | 2757 |
2749 #endif // V8_TARGET_ARCH_MIPS | 2758 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |