< prev index next >

src/hotspot/share/opto/output.cpp

Print this page
rev 53308 : 8247350: [aarch64] assert(false) failed: wrong size of mach node
Summary: use movptr() to load address of string
Reviewed-by: adinn, azeemj

*** 28,37 **** --- 28,38 ---- #include "code/compiledIC.hpp" #include "code/debugInfo.hpp" #include "code/debugInfoRec.hpp" #include "compiler/compileBroker.hpp" #include "compiler/compilerDirectives.hpp" + #include "compiler/disassembler.hpp" #include "compiler/oopMap.hpp" #include "memory/allocation.inline.hpp" #include "opto/ad.hpp" #include "opto/callnode.hpp" #include "opto/cfgnode.hpp"
*** 1397,1408 **** if (failing()) { return; } #ifdef ASSERT ! if (n->size(_regalloc) < (current_offset-instr_offset)) { n->dump(); assert(false, "wrong size of mach node"); } #endif non_safepoints.observe_instruction(n, current_offset); --- 1398,1418 ---- if (failing()) { return; } #ifdef ASSERT ! uint n_size = n->size(C->regalloc()); ! if (n_size < (current_offset-instr_offset)) { ! MachNode* mach = n->as_Mach(); n->dump(); + mach->dump_format(C->regalloc(), tty); + tty->print_cr(" n_size (%d), current_offset (%d), instr_offset (%d)", n_size, current_offset, instr_offset); + Disassembler::decode(cb->insts_begin() + instr_offset, cb->insts_begin() + current_offset + 1, tty); + tty->print_cr(" ------------------- "); + BufferBlob* blob = this->scratch_buffer_blob(); + address blob_begin = blob->content_begin(); + Disassembler::decode(blob_begin, blob_begin + n_size + 1, tty); assert(false, "wrong size of mach node"); } #endif non_safepoints.observe_instruction(n, current_offset);
< prev index next >