Skip to content

Commit

Permalink
8327729: Remove deprecated xxxObject methods from jdk.internal.misc.U…
Browse files Browse the repository at this point in the history
…nsafe

Reviewed-by: martin, alanb, mchung
  • Loading branch information
Eirik Bjørsnøs committed Mar 12, 2024
1 parent 313e814 commit 5b41466
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 94 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public class BufferedInputStream extends FilterInputStream {

/**
* As this class is used early during bootstrap, it's motivated to use
* Unsafe.compareAndSetObject instead of AtomicReferenceFieldUpdater
* Unsafe.compareAndSetReference instead of AtomicReferenceFieldUpdater
* (or VarHandles) to reduce dependencies and improve startup time.
*/
private static final Unsafe U = Unsafe.getUnsafe();
Expand Down
87 changes: 0 additions & 87 deletions src/java.base/share/classes/jdk/internal/misc/Unsafe.java
Original file line number Diff line number Diff line change
Expand Up @@ -3861,91 +3861,4 @@ public void invokeCleaner(java.nio.ByteBuffer directBuffer) {
cleaner.clean();
}
}

// The following deprecated methods are used by JSR 166.

@Deprecated(since="12", forRemoval=true)
public final Object getObject(Object o, long offset) {
return getReference(o, offset);
}
@Deprecated(since="12", forRemoval=true)
public final Object getObjectVolatile(Object o, long offset) {
return getReferenceVolatile(o, offset);
}
@Deprecated(since="12", forRemoval=true)
public final Object getObjectAcquire(Object o, long offset) {
return getReferenceAcquire(o, offset);
}
@Deprecated(since="12", forRemoval=true)
public final Object getObjectOpaque(Object o, long offset) {
return getReferenceOpaque(o, offset);
}


@Deprecated(since="12", forRemoval=true)
public final void putObject(Object o, long offset, Object x) {
putReference(o, offset, x);
}
@Deprecated(since="12", forRemoval=true)
public final void putObjectVolatile(Object o, long offset, Object x) {
putReferenceVolatile(o, offset, x);
}
@Deprecated(since="12", forRemoval=true)
public final void putObjectOpaque(Object o, long offset, Object x) {
putReferenceOpaque(o, offset, x);
}
@Deprecated(since="12", forRemoval=true)
public final void putObjectRelease(Object o, long offset, Object x) {
putReferenceRelease(o, offset, x);
}


@Deprecated(since="12", forRemoval=true)
public final Object getAndSetObject(Object o, long offset, Object newValue) {
return getAndSetReference(o, offset, newValue);
}
@Deprecated(since="12", forRemoval=true)
public final Object getAndSetObjectAcquire(Object o, long offset, Object newValue) {
return getAndSetReferenceAcquire(o, offset, newValue);
}
@Deprecated(since="12", forRemoval=true)
public final Object getAndSetObjectRelease(Object o, long offset, Object newValue) {
return getAndSetReferenceRelease(o, offset, newValue);
}


@Deprecated(since="12", forRemoval=true)
public final boolean compareAndSetObject(Object o, long offset, Object expected, Object x) {
return compareAndSetReference(o, offset, expected, x);
}
@Deprecated(since="12", forRemoval=true)
public final Object compareAndExchangeObject(Object o, long offset, Object expected, Object x) {
return compareAndExchangeReference(o, offset, expected, x);
}
@Deprecated(since="12", forRemoval=true)
public final Object compareAndExchangeObjectAcquire(Object o, long offset, Object expected, Object x) {
return compareAndExchangeReferenceAcquire(o, offset, expected, x);
}
@Deprecated(since="12", forRemoval=true)
public final Object compareAndExchangeObjectRelease(Object o, long offset, Object expected, Object x) {
return compareAndExchangeReferenceRelease(o, offset, expected, x);
}


@Deprecated(since="12", forRemoval=true)
public final boolean weakCompareAndSetObject(Object o, long offset, Object expected, Object x) {
return weakCompareAndSetReference(o, offset, expected, x);
}
@Deprecated(since="12", forRemoval=true)
public final boolean weakCompareAndSetObjectAcquire(Object o, long offset, Object expected, Object x) {
return weakCompareAndSetReferenceAcquire(o, offset, expected, x);
}
@Deprecated(since="12", forRemoval=true)
public final boolean weakCompareAndSetObjectPlain(Object o, long offset, Object expected, Object x) {
return weakCompareAndSetReferencePlain(o, offset, expected, x);
}
@Deprecated(since="12", forRemoval=true)
public final boolean weakCompareAndSetObjectRelease(Object o, long offset, Object expected, Object x) {
return weakCompareAndSetReferenceRelease(o, offset, expected, x);
}
}
8 changes: 4 additions & 4 deletions test/hotspot/jtreg/compiler/stable/TestUnstableStable.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2023, 2024, 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
Expand Down Expand Up @@ -89,9 +89,9 @@ public void run() {
stableArray1[0][0] = null;
stableArray1[0][0] = 42;
stableArray1[0][0] = 43;
U.putObject(TestUnstableStable.class, FIELD_OFFSET, null);
U.putObject(TestUnstableStable.class, FIELD_OFFSET, 42);
U.putObject(TestUnstableStable.class, FIELD_OFFSET, 43);
U.putReference(TestUnstableStable.class, FIELD_OFFSET, null);
U.putReference(TestUnstableStable.class, FIELD_OFFSET, 42);
U.putReference(TestUnstableStable.class, FIELD_OFFSET, 43);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ static class A {

static Object testHelper(boolean flag, Object o, long offset, Object x) {
if (flag) {
return UNSAFE.getAndSetObject(o, offset, x);
return UNSAFE.getAndSetReference(o, offset, x);
}
return null;
}
Expand All @@ -68,7 +68,7 @@ static Object test1(boolean flag, Object o, long offset) {
}

static Object test2(Object o, long offset) {
return UNSAFE.getAndSetObject(o, offset, field);
return UNSAFE.getAndSetReference(o, offset, field);
}

static public void main(String[] args) {
Expand Down

1 comment on commit 5b41466

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.