comparison src/share/vm/prims/jvmtiCodeBlobEvents.cpp @ 931:72088be4b386

6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit Summary: use PcDesc to keep record of the reexecute bit instead of using DebugInfoStreams Reviewed-by: kvn, never, twisti
author cfang
date Thu, 20 Aug 2009 12:42:57 -0700
parents a61af66fc99e
children f70b0d9ab095
comparison
equal deleted inserted replaced
930:357d4e2eb4dd 931:72088be4b386
1 /* 1 /*
2 * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 2003-2009 Sun Microsystems, Inc. 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.
400 pcds_in_method = (nm->scopes_pcs_end() - nm->scopes_pcs_begin()); 400 pcds_in_method = (nm->scopes_pcs_end() - nm->scopes_pcs_begin());
401 map = NEW_C_HEAP_ARRAY(jvmtiAddrLocationMap, pcds_in_method); 401 map = NEW_C_HEAP_ARRAY(jvmtiAddrLocationMap, pcds_in_method);
402 402
403 address scopes_data = nm->scopes_data_begin(); 403 address scopes_data = nm->scopes_data_begin();
404 for( pcd = nm->scopes_pcs_begin(); pcd < nm->scopes_pcs_end(); ++pcd ) { 404 for( pcd = nm->scopes_pcs_begin(); pcd < nm->scopes_pcs_end(); ++pcd ) {
405 ScopeDesc sc0(nm, pcd->scope_decode_offset()); 405 ScopeDesc sc0(nm, pcd->scope_decode_offset(), pcd->should_reexecute());
406 ScopeDesc *sd = &sc0; 406 ScopeDesc *sd = &sc0;
407 while( !sd->is_top() ) { sd = sd->sender(); } 407 while( !sd->is_top() ) { sd = sd->sender(); }
408 int bci = sd->bci(); 408 int bci = sd->bci();
409 if (bci != InvocationEntryBci) { 409 if (bci != InvocationEntryBci) {
410 assert(map_length < pcds_in_method, "checking"); 410 assert(map_length < pcds_in_method, "checking");