mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
6951083: oops and relocations should part of nmethod not CodeBlob
This moves the oops from Codeblob to nmethod. Reviewed-by: kvn, never
This commit is contained in:
parent
a13355babf
commit
c9f2ba541b
20 changed files with 250 additions and 295 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -130,7 +130,7 @@ typedef struct Nmethod_t {
|
|||
int32_t scopes_data_beg; /* _scopes_data_offset */
|
||||
int32_t scopes_data_end;
|
||||
int32_t oops_beg; /* _oops_offset */
|
||||
int32_t oops_len; /* _oops_length */
|
||||
int32_t oops_end;
|
||||
int32_t scopes_pcs_beg; /* _scopes_pcs_offset */
|
||||
int32_t scopes_pcs_end;
|
||||
|
||||
|
@ -597,9 +597,9 @@ static int nmethod_info(Nmethod_t *N)
|
|||
CHECK_FAIL(err);
|
||||
|
||||
/* Oops */
|
||||
err = ps_pread(J->P, nm + OFFSET_CodeBlob_oops_offset, &N->oops_beg, SZ32);
|
||||
err = ps_pread(J->P, nm + OFFSET_nmethod_oops_offset, &N->oops_beg, SZ32);
|
||||
CHECK_FAIL(err);
|
||||
err = ps_pread(J->P, nm + OFFSET_CodeBlob_oops_length, &N->oops_len, SZ32);
|
||||
err = ps_pread(J->P, nm + OFFSET_nmethod_scopes_data_offset, &N->oops_end, SZ32);
|
||||
CHECK_FAIL(err);
|
||||
|
||||
/* scopes_pcs */
|
||||
|
@ -624,8 +624,8 @@ static int nmethod_info(Nmethod_t *N)
|
|||
fprintf(stderr, "\t nmethod_info: orig_pc_offset: %#x \n",
|
||||
N->orig_pc_offset);
|
||||
|
||||
fprintf(stderr, "\t nmethod_info: oops_beg: %#x, oops_len: %#x\n",
|
||||
N->oops_beg, N->oops_len);
|
||||
fprintf(stderr, "\t nmethod_info: oops_beg: %#x, oops_end: %#x\n",
|
||||
N->oops_beg, N->oops_end);
|
||||
|
||||
fprintf(stderr, "\t nmethod_info: scopes_data_beg: %#x, scopes_data_end: %#x\n",
|
||||
N->scopes_data_beg, N->scopes_data_end);
|
||||
|
@ -959,8 +959,8 @@ static int scopeDesc_chain(Nmethod_t *N) {
|
|||
err = scope_desc_at(N, decode_offset, vf);
|
||||
CHECK_FAIL(err);
|
||||
|
||||
if (vf->methodIdx > N->oops_len) {
|
||||
fprintf(stderr, "\t scopeDesc_chain: (methodIdx > oops_len) !\n");
|
||||
if (vf->methodIdx > ((N->oops_end - N->oops_beg) / POINTER_SIZE)) {
|
||||
fprintf(stderr, "\t scopeDesc_chain: (methodIdx > oops length) !\n");
|
||||
return -1;
|
||||
}
|
||||
err = read_pointer(N->J, N->nm + N->oops_beg + (vf->methodIdx-1)*POINTER_SIZE,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue