agent/src/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
7088955 Cdiff agent/src/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java
agent/src/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 23,36 ****
--- 23,66 ----
*/
package sun.jvm.hotspot.runtime;
import java.io.*;
+ import java.util.*;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.types.*;
+ import sun.jvm.hotspot.ci.*;
public class CompilerThread extends JavaThread {
+ static {
+ VM.registerVMInitializedObserver(new Observer() {
+ public void update(Observable o, Object data) {
+ initialize(VM.getVM().getTypeDataBase());
+ }
+ });
+ }
+
+ private static AddressField _env_field;
+
+ private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
+ Type type = db.lookupType("CompilerThread");
+
+ _env_field = type.getAddressField("_env");
+ }
+
+ private ciEnv _env;
+
+ public synchronized ciEnv env() {
+ if (_env == null) {
+ Address v = _env_field.getValue(this.getAddress());
+ if (v != null) {
+ _env = new ciEnv(v);
+ }
+ }
+ return _env;
+ }
+
public CompilerThread(Address addr) {
super(addr);
}
public boolean isJavaThread() { return false; }
agent/src/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File