< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZOop.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2018, 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) 2018, 2019, 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.
*** 24,48 ****
package sun.jvm.hotspot.gc.z;
import sun.jvm.hotspot.debugger.Address;
import sun.jvm.hotspot.debugger.OopHandle;
- import sun.jvm.hotspot.runtime.VM;
class ZOop {
- private static final long MSB = ~0L ^ (~0L >>> 1);
-
- private static Address msbAddress() {
- return VM.getVM().getUniverse().heap().start().orWithMask(MSB).andWithMask(MSB);
- }
-
- static Address to_address(long value) {
- // If the value of an Address becomes 0, null is returned instead of an Address.
- // Start with a one-bit address and as a last step, remove that bit.
- Address oneAddress = msbAddress();
- return oneAddress.orWithMask(value).xorWithMask(ZAddress.as_long(oneAddress));
- }
-
static Address to_address(OopHandle oop) {
! return to_address(ZAddress.as_long(oop));
}
}
--- 24,34 ----
package sun.jvm.hotspot.gc.z;
import sun.jvm.hotspot.debugger.Address;
import sun.jvm.hotspot.debugger.OopHandle;
class ZOop {
static Address to_address(OopHandle oop) {
! return ZUtils.longToAddress(ZAddress.as_long(oop));
}
}
< prev index next >