Index: src/ppc/disasm-ppc.cc |
diff --git a/src/ppc/disasm-ppc.cc b/src/ppc/disasm-ppc.cc |
index 3472828eee73c2dfd1cbb500e1e5d2d6e5990a9f..2486741350b6063a7087d815950903701e9a49cb 100644 |
--- a/src/ppc/disasm-ppc.cc |
+++ b/src/ppc/disasm-ppc.cc |
@@ -988,6 +988,15 @@ int Decoder::InstructionDecode(byte* instr_ptr) { |
out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "%08x ", |
instr->InstructionBits()); |
+#if ABI_USES_FUNCTION_DESCRIPTORS |
+ // The first field will be identified as a jump table entry. We emit the rest |
+ // of the structure as zero, so just skip past them. |
+ if (instr->InstructionBits() == 0) { |
+ Format(instr, "constant"); |
+ return Instruction::kInstrSize; |
+ } |
+#endif |
+ |
switch (instr->OpcodeValue() << 26) { |
case TWI: { |
PrintSoftwareInterrupt(instr->SvcValue()); |