< 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 >