< prev index next > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java
Print this page
/*
! * Copyright (c) 2000, 2025, 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.
/*
! * Copyright (c) 2000, 2026, 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.
static int FIELD_FLAG_IS_INITIALIZED;
static int FIELD_FLAG_IS_INJECTED;
static int FIELD_FLAG_IS_GENERIC;
static int FIELD_FLAG_IS_STABLE;
static int FIELD_FLAG_IS_CONTENDED;
+ static int FIELD_FLAG_IS_NULL_FREE_INLINE;
+ static int FIELD_FLAG_IS_FLAT;
+ static int FIELD_FLAG_IS_NULL_MARKER;
// ClassState constants
private static int CLASS_STATE_ALLOCATED;
private static int CLASS_STATE_LOADED;
private static int CLASS_STATE_LINKED;
public boolean isInterface() { return getAccessFlagsObj().isInterface(); }
public boolean isAbstract() { return getAccessFlagsObj().isAbstract(); }
public boolean isSuper() { return getAccessFlagsObj().isSuper(); }
public boolean isSynthetic() { return getAccessFlagsObj().isSynthetic(); }
+ public boolean supportsInlineTypes() {
+ return majorVersion() >= VALUE_TYPES_MAJOR_VERSION && minorVersion() == JAVA_PREVIEW_MINOR_VERSION;
+ }
+
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
Type type = db.lookupType("InstanceKlass");
annotations = type.getAddressField("_annotations");
arrayKlasses = new MetadataField(type.getAddressField("_array_klasses"), 0);
methods = type.getAddressField("_methods");
FIELD_FLAG_IS_INITIALIZED = db.lookupIntConstant("FieldInfo::FieldFlags::_ff_initialized");
FIELD_FLAG_IS_INJECTED = db.lookupIntConstant("FieldInfo::FieldFlags::_ff_injected");
FIELD_FLAG_IS_GENERIC = db.lookupIntConstant("FieldInfo::FieldFlags::_ff_generic");
FIELD_FLAG_IS_STABLE = db.lookupIntConstant("FieldInfo::FieldFlags::_ff_stable");
FIELD_FLAG_IS_CONTENDED = db.lookupIntConstant("FieldInfo::FieldFlags::_ff_contended");
+ FIELD_FLAG_IS_NULL_FREE_INLINE = db.lookupIntConstant("FieldInfo::FieldFlags::_ff_null_free_inline_type");
+ FIELD_FLAG_IS_FLAT = db.lookupIntConstant("FieldInfo::FieldFlags::_ff_flat");
+ FIELD_FLAG_IS_NULL_MARKER = db.lookupIntConstant("FieldInfo::FieldFlags::_ff_null_marker");
// read ClassState constants
CLASS_STATE_ALLOCATED = db.lookupIntConstant("InstanceKlass::allocated").intValue();
CLASS_STATE_LOADED = db.lookupIntConstant("InstanceKlass::loaded").intValue();
< prev index next >