< prev index next >
src/hotspot/share/asm/codeBuffer.cpp
Print this page
rev 51079 : 8205118: CodeStrings::copy() assertion caused by -XX:+VerifyOops -XX:+PrintStubCode
Reviewed-by: shade
*** 1073,1083 ****
: _next(NULL), _offset(offset) {
_string = os::strdup(string, mtCode);
}
const char * string() const { return _string; }
! intptr_t offset() const { assert(_offset >= 0, "offset for non comment?"); return _offset; }
CodeString* next() const { return _next; }
void set_next(CodeString* next) { _next = next; }
CodeString* first_comment() {
--- 1073,1087 ----
: _next(NULL), _offset(offset) {
_string = os::strdup(string, mtCode);
}
const char * string() const { return _string; }
! intptr_t offset() const {
! assert(_offset >= 0, "offset for non comment?");
! return offset_raw();
! }
! intptr_t offset_raw() const { return _offset; }
CodeString* next() const { return _next; }
void set_next(CodeString* next) { _next = next; }
CodeString* first_comment() {
*** 1150,1160 ****
check_valid();
assert(is_null(), "Cannot copy onto non-empty CodeStrings");
CodeString* n = other._strings;
CodeString** ps = &_strings;
while (n != NULL) {
! *ps = new CodeString(n->string(),n->offset());
ps = &((*ps)->_next);
n = n->next();
}
}
--- 1154,1164 ----
check_valid();
assert(is_null(), "Cannot copy onto non-empty CodeStrings");
CodeString* n = other._strings;
CodeString** ps = &_strings;
while (n != NULL) {
! *ps = new CodeString(n->string(), n->offset_raw());
ps = &((*ps)->_next);
n = n->next();
}
}
< prev index next >