OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/codegen.h" | 8 #include "src/codegen.h" |
9 #include "src/debug.h" | 9 #include "src/debug.h" |
10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 constants = num_const; | 108 constants = num_const; |
109 pc += 4; | 109 pc += 4; |
110 } else if (it != NULL && !it->done() && it->rinfo()->pc() == pc && | 110 } else if (it != NULL && !it->done() && it->rinfo()->pc() == pc && |
111 it->rinfo()->rmode() == RelocInfo::INTERNAL_REFERENCE) { | 111 it->rinfo()->rmode() == RelocInfo::INTERNAL_REFERENCE) { |
112 // raw pointer embedded in code stream, e.g., jump table | 112 // raw pointer embedded in code stream, e.g., jump table |
113 byte* ptr = *reinterpret_cast<byte**>(pc); | 113 byte* ptr = *reinterpret_cast<byte**>(pc); |
114 SNPrintF(decode_buffer, | 114 SNPrintF(decode_buffer, |
115 "%08" V8PRIxPTR " jump table entry %4" V8PRIdPTR, | 115 "%08" V8PRIxPTR " jump table entry %4" V8PRIdPTR, |
116 reinterpret_cast<intptr_t>(ptr), | 116 reinterpret_cast<intptr_t>(ptr), |
117 ptr - begin); | 117 ptr - begin); |
118 pc += 4; | 118 pc += sizeof(ptr); |
119 } else { | 119 } else { |
120 decode_buffer[0] = '\0'; | 120 decode_buffer[0] = '\0'; |
121 pc += d.InstructionDecode(decode_buffer, pc); | 121 pc += d.InstructionDecode(decode_buffer, pc); |
122 } | 122 } |
123 } | 123 } |
124 #else // !V8_TARGET_ARCH_PPC | 124 #else // !V8_TARGET_ARCH_PPC |
125 #if ABI_USES_FUNCTION_DESCRIPTORS || V8_OOL_CONSTANT_POOL | 125 #if ABI_USES_FUNCTION_DESCRIPTORS || V8_OOL_CONSTANT_POOL |
126 // Function descriptors are specially decoded and skipped. | 126 // Function descriptors are specially decoded and skipped. |
127 // Other internal references (load of ool constant pool pointer) | 127 // Other internal references (load of ool constant pool pointer) |
128 // are not since they are a encoded as a regular mov sequence. | 128 // are not since they are a encoded as a regular mov sequence. |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 #else // ENABLE_DISASSEMBLER | 311 #else // ENABLE_DISASSEMBLER |
312 | 312 |
313 int Disassembler::Decode(Isolate* isolate, std::ostream* os, byte* begin, | 313 int Disassembler::Decode(Isolate* isolate, std::ostream* os, byte* begin, |
314 byte* end, Code* code) { | 314 byte* end, Code* code) { |
315 return 0; | 315 return 0; |
316 } | 316 } |
317 | 317 |
318 #endif // ENABLE_DISASSEMBLER | 318 #endif // ENABLE_DISASSEMBLER |
319 | 319 |
320 } } // namespace v8::internal | 320 } } // namespace v8::internal |
OLD | NEW |