344 st->print(INTX_FORMAT_W(+) " " PTR_FORMAT, adr - desc->begin(), p2i(adr));
345 } else if (WizardMode) {
346 st->print(" " PTR_FORMAT, p2i(adr));
347 }
348 return;
349 }
350 st->print("Stub::<unknown> " PTR_FORMAT, p2i(adr));
351 return;
352 }
353
354 BarrierSet* bs = Universe::heap()->barrier_set();
355 if (bs->is_a(BarrierSet::CardTableModRef) &&
356 adr == (address)(barrier_set_cast<CardTableModRefBS>(bs)->byte_map_base)) {
357 st->print("word_map_base");
358 if (WizardMode) st->print(" " INTPTR_FORMAT, p2i(adr));
359 return;
360 }
361 }
362
363 // Fall through to a simple (hexadecimal) numeral.
364 st->print(PTR_FORMAT, p2i(adr));
365 }
366
367 void decode_env::print_insn_labels() {
368 address p = cur_insn();
369 outputStream* st = output();
370 CodeBlob* cb = _code;
371 if (cb != NULL) {
372 cb->print_block_comment(st, p);
373 }
374 _strings.print_block_comment(st, (intptr_t)(p - _start));
375 if (_print_pc) {
376 st->print(" " PTR_FORMAT ": ", p2i(p));
377 }
378 }
379
380 void decode_env::print_insn_bytes(address pc, address pc_limit) {
381 outputStream* st = output();
382 size_t incr = 1;
383 size_t perline = _bytes_per_line;
384 if ((size_t) Disassembler::pd_instruction_alignment() >= sizeof(int)
|
344 st->print(INTX_FORMAT_W(+) " " PTR_FORMAT, adr - desc->begin(), p2i(adr));
345 } else if (WizardMode) {
346 st->print(" " PTR_FORMAT, p2i(adr));
347 }
348 return;
349 }
350 st->print("Stub::<unknown> " PTR_FORMAT, p2i(adr));
351 return;
352 }
353
354 BarrierSet* bs = Universe::heap()->barrier_set();
355 if (bs->is_a(BarrierSet::CardTableModRef) &&
356 adr == (address)(barrier_set_cast<CardTableModRefBS>(bs)->byte_map_base)) {
357 st->print("word_map_base");
358 if (WizardMode) st->print(" " INTPTR_FORMAT, p2i(adr));
359 return;
360 }
361 }
362
363 // Fall through to a simple (hexadecimal) numeral.
364 static char buf[O_BUFLEN];
365 int offset;
366 bool found;
367 found = os::dll_address_to_function_name(adr, buf, sizeof(buf), &offset);
368
369 if (found) {
370 st->print(" " PTR_FORMAT " = %s", p2i(adr), buf);
371 if (offset != 0) {
372 st->print("+%d", offset);
373 }
374 } else {
375 st->print(" " PTR_FORMAT, p2i(adr));
376 }
377 }
378
379 void decode_env::print_insn_labels() {
380 address p = cur_insn();
381 outputStream* st = output();
382 CodeBlob* cb = _code;
383 if (cb != NULL) {
384 cb->print_block_comment(st, p);
385 }
386 _strings.print_block_comment(st, (intptr_t)(p - _start));
387 if (_print_pc) {
388 st->print(" " PTR_FORMAT ": ", p2i(p));
389 }
390 }
391
392 void decode_env::print_insn_bytes(address pc, address pc_limit) {
393 outputStream* st = output();
394 size_t incr = 1;
395 size_t perline = _bytes_per_line;
396 if ((size_t) Disassembler::pd_instruction_alignment() >= sizeof(int)
|