mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8219214: Infinite Loop in CodeSection::dump()
Reviewed-by: kvn, thartmann
This commit is contained in:
parent
d569301f4e
commit
97807df5ba
2 changed files with 1 additions and 40 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -1029,26 +1029,10 @@ void CodeBuffer::log_section_sizes(const char* name) {
|
||||||
|
|
||||||
#ifndef PRODUCT
|
#ifndef PRODUCT
|
||||||
|
|
||||||
void CodeSection::dump() {
|
|
||||||
address ptr = start();
|
|
||||||
for (csize_t step; ptr < end(); ptr += step) {
|
|
||||||
step = end() - ptr;
|
|
||||||
if (step > jintSize * 4) step = jintSize * 4;
|
|
||||||
tty->print(INTPTR_FORMAT ": ", p2i(ptr));
|
|
||||||
while (step > 0) {
|
|
||||||
tty->print(" " PTR32_FORMAT, *(jint*)ptr);
|
|
||||||
ptr += jintSize;
|
|
||||||
}
|
|
||||||
tty->cr();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CodeSection::decode() {
|
void CodeSection::decode() {
|
||||||
Disassembler::decode(start(), end());
|
Disassembler::decode(start(), end());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CodeBuffer::block_comment(intptr_t offset, const char * comment) {
|
void CodeBuffer::block_comment(intptr_t offset, const char * comment) {
|
||||||
_code_strings.add_comment(offset, comment);
|
_code_strings.add_comment(offset, comment);
|
||||||
}
|
}
|
||||||
|
@ -1205,26 +1189,6 @@ void CodeBuffer::decode() {
|
||||||
_decode_begin = insts_end();
|
_decode_begin = insts_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CodeBuffer::skip_decode() {
|
|
||||||
_decode_begin = insts_end();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CodeBuffer::decode_all() {
|
|
||||||
ttyLocker ttyl;
|
|
||||||
for (int n = 0; n < (int)SECT_LIMIT; n++) {
|
|
||||||
// dump contents of each section
|
|
||||||
CodeSection* cs = code_section(n);
|
|
||||||
tty->print_cr("! %s:", code_section_name(n));
|
|
||||||
if (cs != consts())
|
|
||||||
cs->decode();
|
|
||||||
else
|
|
||||||
cs->dump();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CodeSection::print(const char* name) {
|
void CodeSection::print(const char* name) {
|
||||||
csize_t locs_size = locs_end() - locs_start();
|
csize_t locs_size = locs_end() - locs_start();
|
||||||
tty->print_cr(" %7s.code = " PTR_FORMAT " : " PTR_FORMAT " : " PTR_FORMAT " (%d of %d)%s",
|
tty->print_cr(" %7s.code = " PTR_FORMAT " : " PTR_FORMAT " : " PTR_FORMAT " (%d of %d)%s",
|
||||||
|
|
|
@ -240,7 +240,6 @@ class CodeSection {
|
||||||
|
|
||||||
#ifndef PRODUCT
|
#ifndef PRODUCT
|
||||||
void decode();
|
void decode();
|
||||||
void dump();
|
|
||||||
void print(const char* name);
|
void print(const char* name);
|
||||||
#endif //PRODUCT
|
#endif //PRODUCT
|
||||||
};
|
};
|
||||||
|
@ -649,8 +648,6 @@ class CodeBuffer: public StackObj {
|
||||||
// Printing / Decoding
|
// Printing / Decoding
|
||||||
// decodes from decode_begin() to code_end() and sets decode_begin to end
|
// decodes from decode_begin() to code_end() and sets decode_begin to end
|
||||||
void decode();
|
void decode();
|
||||||
void decode_all(); // decodes all the code
|
|
||||||
void skip_decode(); // sets decode_begin to code_end();
|
|
||||||
void print();
|
void print();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue