Mercurial > hg > graal-jvmci-8
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"); |