agent/src/share/classes/sun/jvm/hotspot/memory/ProtectionDomainEntry.java
Print this page
rev 5310 : imported patch ioi_original_patch
*** 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, 2013, 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.
*** 30,40 ****
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.types.*;
public class ProtectionDomainEntry extends VMObject {
private static AddressField nextField;
! private static sun.jvm.hotspot.types.OopField protectionDomainField;
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
initialize(VM.getVM().getTypeDataBase());
--- 30,40 ----
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.types.*;
public class ProtectionDomainEntry extends VMObject {
private static AddressField nextField;
! private static AddressField pdCacheField;
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
initialize(VM.getVM().getTypeDataBase());
*** 44,63 ****
private static synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("ProtectionDomainEntry");
nextField = type.getAddressField("_next");
! protectionDomainField = type.getOopField("_protection_domain");
}
public ProtectionDomainEntry(Address addr) {
super(addr);
}
public ProtectionDomainEntry next() {
! return (ProtectionDomainEntry) VMObjectFactory.newObject(ProtectionDomainEntry.class, addr);
}
public Oop protectionDomain() {
! return VM.getVM().getObjectHeap().newOop(protectionDomainField.getValue(addr));
}
}
--- 44,65 ----
private static synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("ProtectionDomainEntry");
nextField = type.getAddressField("_next");
! pdCacheField = type.getAddressField("_pd_cache");
}
public ProtectionDomainEntry(Address addr) {
super(addr);
}
public ProtectionDomainEntry next() {
! return (ProtectionDomainEntry) VMObjectFactory.newObject(ProtectionDomainEntry.class, nextField.getValue(addr));
}
public Oop protectionDomain() {
! ProtectionDomainCacheEntry pd_cache = (ProtectionDomainCacheEntry)
! VMObjectFactory.newObject(ProtectionDomainCacheEntry.class, pdCacheField.getValue(addr));
! return pd_cache.protectionDomain();
}
}