< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/VMRegImpl.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2006, 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) 2006, 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.
*** 35,44 **** --- 35,45 ---- private static VMReg stack0; private static int stack0Val; private static Address stack0Addr; private static AddressField regNameField; + private static int stackSlotSize; static { VM.registerVMInitializedObserver(new Observer() { public void update(Observable o, Object data) { initialize(VM.getVM().getTypeDataBase());
*** 51,60 **** --- 52,62 ---- AddressField stack0Field = type.getAddressField("stack0"); stack0Addr = stack0Field.getValue(); stack0Val = (int) stack0Addr.hashCode(); stack0 = new VMReg(stack0Val); regNameField = type.getAddressField("regName[0]"); + stackSlotSize = db.lookupIntConstant("VMRegImpl::stack_slot_size"); } public static VMReg getStack0() { return stack0; }
*** 65,70 **** --- 67,76 ---- } Address regName = regNameField.getStaticFieldAddress(); long addrSize = VM.getVM().getAddressSize(); return CStringUtilities.getString(regName.getAddressAt(index * addrSize)); } + + public static int getStackSlotSize() { + return stackSlotSize; + } }
< prev index next >