Mercurial > hg > graal-compiler
comparison src/os/solaris/dtrace/libjvm_db.c @ 1579:e9ff18c4ace7
Merge
author | jrose |
---|---|
date | Wed, 02 Jun 2010 22:45:42 -0700 |
parents | c18cbe5936b8 1a5913bf5e19 |
children | 3e8fbc61cee8 |
comparison
equal
deleted
inserted
replaced
1562:dfe27f03244a | 1579:e9ff18c4ace7 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
128 int32_t instrs_end; | 128 int32_t instrs_end; |
129 int32_t deopt_beg; /* _deoptimize_offset */ | 129 int32_t deopt_beg; /* _deoptimize_offset */ |
130 int32_t scopes_data_beg; /* _scopes_data_offset */ | 130 int32_t scopes_data_beg; /* _scopes_data_offset */ |
131 int32_t scopes_data_end; | 131 int32_t scopes_data_end; |
132 int32_t oops_beg; /* _oops_offset */ | 132 int32_t oops_beg; /* _oops_offset */ |
133 int32_t oops_len; /* _oops_length */ | 133 int32_t oops_end; |
134 int32_t scopes_pcs_beg; /* _scopes_pcs_offset */ | 134 int32_t scopes_pcs_beg; /* _scopes_pcs_offset */ |
135 int32_t scopes_pcs_end; | 135 int32_t scopes_pcs_end; |
136 | 136 |
137 int vf_cnt; | 137 int vf_cnt; |
138 Vframe_t vframes[MAX_VFRAMES_CNT]; | 138 Vframe_t vframes[MAX_VFRAMES_CNT]; |
595 CHECK_FAIL(err); | 595 CHECK_FAIL(err); |
596 err = ps_pread(J->P, nm + OFFSET_nmethod_orig_pc_offset, &N->orig_pc_offset, SZ32); | 596 err = ps_pread(J->P, nm + OFFSET_nmethod_orig_pc_offset, &N->orig_pc_offset, SZ32); |
597 CHECK_FAIL(err); | 597 CHECK_FAIL(err); |
598 | 598 |
599 /* Oops */ | 599 /* Oops */ |
600 err = ps_pread(J->P, nm + OFFSET_CodeBlob_oops_offset, &N->oops_beg, SZ32); | 600 err = ps_pread(J->P, nm + OFFSET_nmethod_oops_offset, &N->oops_beg, SZ32); |
601 CHECK_FAIL(err); | 601 CHECK_FAIL(err); |
602 err = ps_pread(J->P, nm + OFFSET_CodeBlob_oops_length, &N->oops_len, SZ32); | 602 err = ps_pread(J->P, nm + OFFSET_nmethod_scopes_data_offset, &N->oops_end, SZ32); |
603 CHECK_FAIL(err); | 603 CHECK_FAIL(err); |
604 | 604 |
605 /* scopes_pcs */ | 605 /* scopes_pcs */ |
606 err = ps_pread(J->P, nm + OFFSET_nmethod_scopes_pcs_offset, &N->scopes_pcs_beg, SZ32); | 606 err = ps_pread(J->P, nm + OFFSET_nmethod_scopes_pcs_offset, &N->scopes_pcs_beg, SZ32); |
607 CHECK_FAIL(err); | 607 CHECK_FAIL(err); |
622 N->deopt_beg); | 622 N->deopt_beg); |
623 | 623 |
624 fprintf(stderr, "\t nmethod_info: orig_pc_offset: %#x \n", | 624 fprintf(stderr, "\t nmethod_info: orig_pc_offset: %#x \n", |
625 N->orig_pc_offset); | 625 N->orig_pc_offset); |
626 | 626 |
627 fprintf(stderr, "\t nmethod_info: oops_beg: %#x, oops_len: %#x\n", | 627 fprintf(stderr, "\t nmethod_info: oops_beg: %#x, oops_end: %#x\n", |
628 N->oops_beg, N->oops_len); | 628 N->oops_beg, N->oops_end); |
629 | 629 |
630 fprintf(stderr, "\t nmethod_info: scopes_data_beg: %#x, scopes_data_end: %#x\n", | 630 fprintf(stderr, "\t nmethod_info: scopes_data_beg: %#x, scopes_data_end: %#x\n", |
631 N->scopes_data_beg, N->scopes_data_end); | 631 N->scopes_data_beg, N->scopes_data_end); |
632 | 632 |
633 fprintf(stderr, "\t nmethod_info: scopes_pcs_beg: %#x, scopes_pcs_end: %#x\n", | 633 fprintf(stderr, "\t nmethod_info: scopes_pcs_beg: %#x, scopes_pcs_end: %#x\n", |
957 } | 957 } |
958 | 958 |
959 err = scope_desc_at(N, decode_offset, vf); | 959 err = scope_desc_at(N, decode_offset, vf); |
960 CHECK_FAIL(err); | 960 CHECK_FAIL(err); |
961 | 961 |
962 if (vf->methodIdx > N->oops_len) { | 962 if (vf->methodIdx > ((N->oops_end - N->oops_beg) / POINTER_SIZE)) { |
963 fprintf(stderr, "\t scopeDesc_chain: (methodIdx > oops_len) !\n"); | 963 fprintf(stderr, "\t scopeDesc_chain: (methodIdx > oops length) !\n"); |
964 return -1; | 964 return -1; |
965 } | 965 } |
966 err = read_pointer(N->J, N->nm + N->oops_beg + (vf->methodIdx-1)*POINTER_SIZE, | 966 err = read_pointer(N->J, N->nm + N->oops_beg + (vf->methodIdx-1)*POINTER_SIZE, |
967 &vf->methodOop); | 967 &vf->methodOop); |
968 CHECK_FAIL(err); | 968 CHECK_FAIL(err); |