< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/BasicTypeSize.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2001, 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) 2001, 2017, 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.
*** 22,47 ****
*
*/
package sun.jvm.hotspot.runtime;
/** Encapsulates the BasicTypeSize enum in globalDefinitions.hpp in
the VM. */
public class BasicTypeSize {
! private static boolean initialized = false;
! private static int tBooleanSize = 1;
! private static int tCharSize = 1;
! private static int tFloatSize = 1;
! private static int tDoubleSize = 2;
! private static int tByteSize = 1;
! private static int tShortSize = 1;
! private static int tIntSize = 1;
! private static int tLongSize = 2;
! private static int tObjectSize = 1;
! private static int tArraySize = 1;
! private static int tVoidSize = 0;
public static int getTBooleanSize() {
return tBooleanSize;
}
--- 22,73 ----
*
*/
package sun.jvm.hotspot.runtime;
+ import java.util.Observer;
+ import sun.jvm.hotspot.types.TypeDataBase;
+
+
/** Encapsulates the BasicTypeSize enum in globalDefinitions.hpp in
the VM. */
public class BasicTypeSize {
! private static int tBooleanSize;
! private static int tCharSize;
! private static int tFloatSize;
! private static int tDoubleSize;
! private static int tByteSize;
! private static int tShortSize;
! private static int tIntSize;
! private static int tLongSize;
! private static int tObjectSize;
! private static int tArraySize;
! private static int tNarrowOopSize;
! private static int tNarrowKlassSize;
! private static int tVoidSize;
!
! static {
! VM.registerVMInitializedObserver(
! (o, d) -> initialize(VM.getVM().getTypeDataBase()));
! }
!
! private static synchronized void initialize(TypeDataBase db) {
! tBooleanSize = db.lookupIntConstant("T_BOOLEAN_size").intValue();
! tCharSize = db.lookupIntConstant("T_INT_size").intValue();
! tFloatSize = db.lookupIntConstant("T_FLOAT_size").intValue();
! tDoubleSize = db.lookupIntConstant("T_DOUBLE_size").intValue();
! tByteSize = db.lookupIntConstant("T_BYTE_size").intValue();
! tShortSize = db.lookupIntConstant("T_SHORT_size").intValue();
! tIntSize = db.lookupIntConstant("T_INT_size").intValue();
! tLongSize = db.lookupIntConstant("T_LONG_size").intValue();
! tObjectSize = db.lookupIntConstant("T_OBJECT_size").intValue();
! tArraySize = db.lookupIntConstant("T_ARRAY_size").intValue();
! tNarrowOopSize = db.lookupIntConstant("T_NARROWOOP_size").intValue();
! tNarrowKlassSize = db.lookupIntConstant("T_NARROWKLASS_size").intValue();
! tVoidSize = db.lookupIntConstant("T_VOID_size").intValue();
! }
public static int getTBooleanSize() {
return tBooleanSize;
}
*** 79,87 ****
--- 105,121 ----
public static int getTArraySize() {
return tArraySize;
}
+ public static int getTNarrowOopSize() {
+ return tNarrowOopSize;
+ }
+
+ public static int getTNarrowKlassSize() {
+ return tNarrowKlassSize;
+ }
+
public static int getTVoidSize() {
return tVoidSize;
}
}
< prev index next >