Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 17 java.base.jmod - Base Module
JDK 17 java.base.jmod is the JMOD file for JDK 17 Base module.
JDK 17 Base module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.base.jmod.
JDK 17 Base module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Base module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.base.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ java/lang/invoke/VarHandleInts.java
/*
* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package java.lang.invoke;
import jdk.internal.util.Preconditions;
import jdk.internal.vm.annotation.ForceInline;
import java.lang.invoke.VarHandle.VarHandleDesc;
import java.util.Objects;
import java.util.Optional;
import static java.lang.invoke.MethodHandleStatics.UNSAFE;
// -- This file was mechanically generated: Do not edit! -- //
final class VarHandleInts {
static class FieldInstanceReadOnly extends VarHandle {
final long fieldOffset;
final Class<?> receiverType;
FieldInstanceReadOnly(Class<?> receiverType, long fieldOffset) {
this(receiverType, fieldOffset, FieldInstanceReadOnly.FORM, false);
}
protected FieldInstanceReadOnly(Class<?> receiverType, long fieldOffset,
VarForm form, boolean exact) {
super(form, exact);
this.fieldOffset = fieldOffset;
this.receiverType = receiverType;
}
@Override
public FieldInstanceReadOnly withInvokeExactBehavior() {
return hasInvokeExactBehavior()
? this
: new FieldInstanceReadOnly(receiverType, fieldOffset, vform, true);
}
@Override
public FieldInstanceReadOnly withInvokeBehavior() {
return !hasInvokeExactBehavior()
? this
: new FieldInstanceReadOnly(receiverType, fieldOffset, vform, false);
}
@Override
final MethodType accessModeTypeUncached(AccessType at) {
return at.accessModeType(receiverType, int.class);
}
@Override
public Optional<VarHandleDesc> describeConstable() {
var receiverTypeRef = receiverType.describeConstable();
var fieldTypeRef = int.class.describeConstable();
if (!receiverTypeRef.isPresent() || !fieldTypeRef.isPresent())
return Optional.empty();
// Reflect on this VarHandle to extract the field name
String name = VarHandles.getFieldFromReceiverAndOffset(
receiverType, fieldOffset, int.class).getName();
return Optional.of(VarHandleDesc.ofField(receiverTypeRef.get(), name, fieldTypeRef.get()));
}
@ForceInline
static int get(VarHandle ob, Object holder) {
FieldInstanceReadOnly handle = (FieldInstanceReadOnly)ob;
return UNSAFE.getInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset);
}
@ForceInline
static int getVolatile(VarHandle ob, Object holder) {
FieldInstanceReadOnly handle = (FieldInstanceReadOnly)ob;
return UNSAFE.getIntVolatile(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset);
}
@ForceInline
static int getOpaque(VarHandle ob, Object holder) {
FieldInstanceReadOnly handle = (FieldInstanceReadOnly)ob;
return UNSAFE.getIntOpaque(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset);
}
@ForceInline
static int getAcquire(VarHandle ob, Object holder) {
FieldInstanceReadOnly handle = (FieldInstanceReadOnly)ob;
return UNSAFE.getIntAcquire(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset);
}
static final VarForm FORM = new VarForm(FieldInstanceReadOnly.class, Object.class, int.class);
}
static final class FieldInstanceReadWrite extends FieldInstanceReadOnly {
FieldInstanceReadWrite(Class<?> receiverType, long fieldOffset) {
this(receiverType, fieldOffset, false);
}
private FieldInstanceReadWrite(Class<?> receiverType, long fieldOffset,
boolean exact) {
super(receiverType, fieldOffset, FieldInstanceReadWrite.FORM, exact);
}
@Override
public FieldInstanceReadWrite withInvokeExactBehavior() {
return hasInvokeExactBehavior()
? this
: new FieldInstanceReadWrite(receiverType, fieldOffset, true);
}
@Override
public FieldInstanceReadWrite withInvokeBehavior() {
return !hasInvokeExactBehavior()
? this
: new FieldInstanceReadWrite(receiverType, fieldOffset, false);
}
@ForceInline
static void set(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
UNSAFE.putInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static void setVolatile(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
UNSAFE.putIntVolatile(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static void setOpaque(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
UNSAFE.putIntOpaque(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static void setRelease(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
UNSAFE.putIntRelease(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static boolean compareAndSet(VarHandle ob, Object holder, int expected, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.compareAndSetInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
expected,
value);
}
@ForceInline
static int compareAndExchange(VarHandle ob, Object holder, int expected, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.compareAndExchangeInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
expected,
value);
}
@ForceInline
static int compareAndExchangeAcquire(VarHandle ob, Object holder, int expected, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.compareAndExchangeIntAcquire(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
expected,
value);
}
@ForceInline
static int compareAndExchangeRelease(VarHandle ob, Object holder, int expected, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.compareAndExchangeIntRelease(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetPlain(VarHandle ob, Object holder, int expected, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.weakCompareAndSetIntPlain(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSet(VarHandle ob, Object holder, int expected, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.weakCompareAndSetInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetAcquire(VarHandle ob, Object holder, int expected, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.weakCompareAndSetIntAcquire(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetRelease(VarHandle ob, Object holder, int expected, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.weakCompareAndSetIntRelease(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
expected,
value);
}
@ForceInline
static int getAndSet(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndSetInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndSetAcquire(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndSetIntAcquire(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndSetRelease(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndSetIntRelease(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndAdd(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndAddInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndAddAcquire(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndAddIntAcquire(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndAddRelease(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndAddIntRelease(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseOr(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseOrInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseOrRelease(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseOrIntRelease(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseOrAcquire(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseOrIntAcquire(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseAnd(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseAndInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseAndRelease(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseAndIntRelease(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseAndAcquire(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseAndIntAcquire(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseXor(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseXorInt(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseXorRelease(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseXorIntRelease(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseXorAcquire(VarHandle ob, Object holder, int value) {
FieldInstanceReadWrite handle = (FieldInstanceReadWrite)ob;
return UNSAFE.getAndBitwiseXorIntAcquire(Objects.requireNonNull(handle.receiverType.cast(holder)),
handle.fieldOffset,
value);
}
static final VarForm FORM = new VarForm(FieldInstanceReadWrite.class, Object.class, int.class);
}
static class FieldStaticReadOnly extends VarHandle {
final Object base;
final long fieldOffset;
FieldStaticReadOnly(Object base, long fieldOffset) {
this(base, fieldOffset, FieldStaticReadOnly.FORM, false);
}
protected FieldStaticReadOnly(Object base, long fieldOffset,
VarForm form, boolean exact) {
super(form, exact);
this.base = base;
this.fieldOffset = fieldOffset;
}
@Override
public FieldStaticReadOnly withInvokeExactBehavior() {
return hasInvokeExactBehavior()
? this
: new FieldStaticReadOnly(base, fieldOffset, vform, true);
}
@Override
public FieldStaticReadOnly withInvokeBehavior() {
return !hasInvokeExactBehavior()
? this
: new FieldStaticReadOnly(base, fieldOffset, vform, false);
}
@Override
public Optional<VarHandleDesc> describeConstable() {
var fieldTypeRef = int.class.describeConstable();
if (!fieldTypeRef.isPresent())
return Optional.empty();
// Reflect on this VarHandle to extract the field name
var staticField = VarHandles.getStaticFieldFromBaseAndOffset(
base, fieldOffset, int.class);
var receiverTypeRef = staticField.getDeclaringClass().describeConstable();
if (!receiverTypeRef.isPresent())
return Optional.empty();
return Optional.of(VarHandleDesc.ofStaticField(receiverTypeRef.get(), staticField.getName(), fieldTypeRef.get()));
}
@Override
final MethodType accessModeTypeUncached(AccessType at) {
return at.accessModeType(null, int.class);
}
@ForceInline
static int get(VarHandle ob) {
FieldStaticReadOnly handle = (FieldStaticReadOnly)ob;
return UNSAFE.getInt(handle.base,
handle.fieldOffset);
}
@ForceInline
static int getVolatile(VarHandle ob) {
FieldStaticReadOnly handle = (FieldStaticReadOnly)ob;
return UNSAFE.getIntVolatile(handle.base,
handle.fieldOffset);
}
@ForceInline
static int getOpaque(VarHandle ob) {
FieldStaticReadOnly handle = (FieldStaticReadOnly)ob;
return UNSAFE.getIntOpaque(handle.base,
handle.fieldOffset);
}
@ForceInline
static int getAcquire(VarHandle ob) {
FieldStaticReadOnly handle = (FieldStaticReadOnly)ob;
return UNSAFE.getIntAcquire(handle.base,
handle.fieldOffset);
}
static final VarForm FORM = new VarForm(FieldStaticReadOnly.class, null, int.class);
}
static final class FieldStaticReadWrite extends FieldStaticReadOnly {
FieldStaticReadWrite(Object base, long fieldOffset) {
this(base, fieldOffset, false);
}
private FieldStaticReadWrite(Object base, long fieldOffset,
boolean exact) {
super(base, fieldOffset, FieldStaticReadWrite.FORM, exact);
}
@Override
public FieldStaticReadWrite withInvokeExactBehavior() {
return hasInvokeExactBehavior()
? this
: new FieldStaticReadWrite(base, fieldOffset, true);
}
@Override
public FieldStaticReadWrite withInvokeBehavior() {
return !hasInvokeExactBehavior()
? this
: new FieldStaticReadWrite(base, fieldOffset, false);
}
@ForceInline
static void set(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
UNSAFE.putInt(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static void setVolatile(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
UNSAFE.putIntVolatile(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static void setOpaque(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
UNSAFE.putIntOpaque(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static void setRelease(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
UNSAFE.putIntRelease(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static boolean compareAndSet(VarHandle ob, int expected, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.compareAndSetInt(handle.base,
handle.fieldOffset,
expected,
value);
}
@ForceInline
static int compareAndExchange(VarHandle ob, int expected, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.compareAndExchangeInt(handle.base,
handle.fieldOffset,
expected,
value);
}
@ForceInline
static int compareAndExchangeAcquire(VarHandle ob, int expected, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.compareAndExchangeIntAcquire(handle.base,
handle.fieldOffset,
expected,
value);
}
@ForceInline
static int compareAndExchangeRelease(VarHandle ob, int expected, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.compareAndExchangeIntRelease(handle.base,
handle.fieldOffset,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetPlain(VarHandle ob, int expected, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.weakCompareAndSetIntPlain(handle.base,
handle.fieldOffset,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSet(VarHandle ob, int expected, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.weakCompareAndSetInt(handle.base,
handle.fieldOffset,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetAcquire(VarHandle ob, int expected, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.weakCompareAndSetIntAcquire(handle.base,
handle.fieldOffset,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetRelease(VarHandle ob, int expected, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.weakCompareAndSetIntRelease(handle.base,
handle.fieldOffset,
expected,
value);
}
@ForceInline
static int getAndSet(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndSetInt(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndSetAcquire(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndSetIntAcquire(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndSetRelease(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndSetIntRelease(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndAdd(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndAddInt(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndAddAcquire(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndAddIntAcquire(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndAddRelease(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndAddIntRelease(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseOr(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseOrInt(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseOrRelease(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseOrIntRelease(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseOrAcquire(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseOrIntAcquire(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseAnd(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseAndInt(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseAndRelease(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseAndIntRelease(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseAndAcquire(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseAndIntAcquire(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseXor(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseXorInt(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseXorRelease(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseXorIntRelease(handle.base,
handle.fieldOffset,
value);
}
@ForceInline
static int getAndBitwiseXorAcquire(VarHandle ob, int value) {
FieldStaticReadWrite handle = (FieldStaticReadWrite)ob;
return UNSAFE.getAndBitwiseXorIntAcquire(handle.base,
handle.fieldOffset,
value);
}
static final VarForm FORM = new VarForm(FieldStaticReadWrite.class, null, int.class);
}
static final class Array extends VarHandle {
final int abase;
final int ashift;
Array(int abase, int ashift) {
this(abase, ashift, false);
}
private Array(int abase, int ashift, boolean exact) {
super(Array.FORM, exact);
this.abase = abase;
this.ashift = ashift;
}
@Override
public Array withInvokeExactBehavior() {
return hasInvokeExactBehavior()
? this
: new Array(abase, ashift, true);
}
@Override
public Array withInvokeBehavior() {
return !hasInvokeExactBehavior()
? this
: new Array(abase, ashift, false);
}
@Override
public Optional<VarHandleDesc> describeConstable() {
var arrayTypeRef = int[].class.describeConstable();
if (!arrayTypeRef.isPresent())
return Optional.empty();
return Optional.of(VarHandleDesc.ofArray(arrayTypeRef.get()));
}
@Override
final MethodType accessModeTypeUncached(AccessType at) {
return at.accessModeType(int[].class, int.class, int.class);
}
@ForceInline
static int get(VarHandle ob, Object oarray, int index) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return array[index];
}
@ForceInline
static void set(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
array[index] = value;
}
@ForceInline
static int getVolatile(VarHandle ob, Object oarray, int index) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getIntVolatile(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase);
}
@ForceInline
static void setVolatile(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
UNSAFE.putIntVolatile(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getOpaque(VarHandle ob, Object oarray, int index) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getIntOpaque(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase);
}
@ForceInline
static void setOpaque(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
UNSAFE.putIntOpaque(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAcquire(VarHandle ob, Object oarray, int index) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getIntAcquire(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase);
}
@ForceInline
static void setRelease(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
UNSAFE.putIntRelease(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static boolean compareAndSet(VarHandle ob, Object oarray, int index, int expected, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.compareAndSetInt(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
expected,
value);
}
@ForceInline
static int compareAndExchange(VarHandle ob, Object oarray, int index, int expected, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.compareAndExchangeInt(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
expected,
value);
}
@ForceInline
static int compareAndExchangeAcquire(VarHandle ob, Object oarray, int index, int expected, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.compareAndExchangeIntAcquire(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
expected,
value);
}
@ForceInline
static int compareAndExchangeRelease(VarHandle ob, Object oarray, int index, int expected, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.compareAndExchangeIntRelease(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetPlain(VarHandle ob, Object oarray, int index, int expected, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.weakCompareAndSetIntPlain(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSet(VarHandle ob, Object oarray, int index, int expected, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.weakCompareAndSetInt(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetAcquire(VarHandle ob, Object oarray, int index, int expected, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.weakCompareAndSetIntAcquire(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
expected,
value);
}
@ForceInline
static boolean weakCompareAndSetRelease(VarHandle ob, Object oarray, int index, int expected, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.weakCompareAndSetIntRelease(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
expected,
value);
}
@ForceInline
static int getAndSet(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndSetInt(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndSetAcquire(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndSetIntAcquire(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndSetRelease(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndSetIntRelease(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndAdd(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndAddInt(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndAddAcquire(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndAddIntAcquire(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndAddRelease(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndAddIntRelease(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseOr(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseOrInt(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseOrRelease(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseOrIntRelease(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseOrAcquire(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseOrIntAcquire(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseAnd(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseAndInt(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseAndRelease(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseAndIntRelease(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseAndAcquire(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseAndIntAcquire(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseXor(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseXorInt(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseXorRelease(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseXorIntRelease(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
@ForceInline
static int getAndBitwiseXorAcquire(VarHandle ob, Object oarray, int index, int value) {
Array handle = (Array)ob;
int[] array = (int[]) oarray;
return UNSAFE.getAndBitwiseXorIntAcquire(array,
(((long) Preconditions.checkIndex(index, array.length, AIOOBE_SUPPLIER)) << handle.ashift) + handle.abase,
value);
}
static final VarForm FORM = new VarForm(Array.class, int[].class, int.class, int.class);
}
}
⏎ java/lang/invoke/VarHandleInts.java
Or download all of them as a single archive file:
File name: java.base-17.0.5-src.zip File size: 8883851 bytes Release date: 2022-09-13 Download
2023-09-26, ≈890🔥, 1💬
Popular Posts:
The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible...
How to read XML document from socket connections with the socket\DelayedInput.java provided in the A...
JDK 11 java.compiler.jmod is the JMOD file for JDK 11 Compiler module. JDK 11 Compiler module compil...
How to download and install ojdbc11.jar for Oracle 21c? ojdbc11.jar for Oracle 21c is a Java JDBC Dr...
JDK 11 jdk.internal.JVM Stat.jmod is the JMOD file for JDK 11 Internal Jvmstat module. JDK 11 Intern...