Mercurial > hg > graal-jvmci-8
comparison src/share/vm/prims/jvmtiCodeBlobEvents.cpp @ 3018:5857923e563c
Fixed an issue with frame states in exception dispatch chains (now we are correctly rethrowing the exception immediately at entering the interpreter).
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Sat, 18 Jun 2011 19:13:55 +0200 |
parents | f95d63e2154a |
children | 957c266d8bc5 |
comparison
equal
deleted
inserted
replaced
3017:b4ba003eb11d | 3018:5857923e563c |
---|---|
249 pcds_in_method = (nm->scopes_pcs_end() - nm->scopes_pcs_begin()); | 249 pcds_in_method = (nm->scopes_pcs_end() - nm->scopes_pcs_begin()); |
250 map = NEW_C_HEAP_ARRAY(jvmtiAddrLocationMap, pcds_in_method); | 250 map = NEW_C_HEAP_ARRAY(jvmtiAddrLocationMap, pcds_in_method); |
251 | 251 |
252 address scopes_data = nm->scopes_data_begin(); | 252 address scopes_data = nm->scopes_data_begin(); |
253 for( pcd = nm->scopes_pcs_begin(); pcd < nm->scopes_pcs_end(); ++pcd ) { | 253 for( pcd = nm->scopes_pcs_begin(); pcd < nm->scopes_pcs_end(); ++pcd ) { |
254 ScopeDesc sc0(nm, pcd->scope_decode_offset(), pcd->should_reexecute(), pcd->return_oop()); | 254 ScopeDesc sc0(nm, pcd->scope_decode_offset(), pcd->should_reexecute(), pcd->rethrow_exception(), pcd->return_oop()); |
255 ScopeDesc *sd = &sc0; | 255 ScopeDesc *sd = &sc0; |
256 while( !sd->is_top() ) { sd = sd->sender(); } | 256 while( !sd->is_top() ) { sd = sd->sender(); } |
257 int bci = sd->bci(); | 257 int bci = sd->bci(); |
258 if (bci != InvocationEntryBci) { | 258 if (bci != InvocationEntryBci) { |
259 assert(map_length < pcds_in_method, "checking"); | 259 assert(map_length < pcds_in_method, "checking"); |