comparison agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java @ 1644:2a47bd84841f

6965184: possible races in make_not_entrant_or_zombie Reviewed-by: kvn
author never
date Thu, 08 Jul 2010 14:29:44 -0700
parents e9ff18c4ace7
children 3e8fbc61cee8
comparison
equal deleted inserted replaced
1635:a693e51ac197 1644:2a47bd84841f
33 import sun.jvm.hotspot.types.*; 33 import sun.jvm.hotspot.types.*;
34 import sun.jvm.hotspot.utilities.*; 34 import sun.jvm.hotspot.utilities.*;
35 35
36 public class NMethod extends CodeBlob { 36 public class NMethod extends CodeBlob {
37 private static long pcDescSize; 37 private static long pcDescSize;
38 private static CIntegerField zombieInstructionSizeField;
39 private static sun.jvm.hotspot.types.OopField methodField; 38 private static sun.jvm.hotspot.types.OopField methodField;
40 /** != InvocationEntryBci if this nmethod is an on-stack replacement method */ 39 /** != InvocationEntryBci if this nmethod is an on-stack replacement method */
41 private static CIntegerField entryBCIField; 40 private static CIntegerField entryBCIField;
42 /** To support simple linked-list chaining of nmethods */ 41 /** To support simple linked-list chaining of nmethods */
43 private static AddressField osrLinkField; 42 private static AddressField osrLinkField;
86 } 85 }
87 86
88 private static void initialize(TypeDataBase db) { 87 private static void initialize(TypeDataBase db) {
89 Type type = db.lookupType("nmethod"); 88 Type type = db.lookupType("nmethod");
90 89
91 zombieInstructionSizeField = type.getCIntegerField("_zombie_instruction_size");
92 methodField = type.getOopField("_method"); 90 methodField = type.getOopField("_method");
93 entryBCIField = type.getCIntegerField("_entry_bci"); 91 entryBCIField = type.getCIntegerField("_entry_bci");
94 osrLinkField = type.getAddressField("_osr_link"); 92 osrLinkField = type.getAddressField("_osr_link");
95 scavengeRootLinkField = type.getAddressField("_scavenge_root_link"); 93 scavengeRootLinkField = type.getAddressField("_scavenge_root_link");
96 scavengeRootStateField = type.getJByteField("_scavenge_root_state"); 94 scavengeRootStateField = type.getJByteField("_scavenge_root_state");