--- a/src/hotspot/share/runtime/vmStructs.cpp Thu Oct 17 20:27:44 2019 +0100
+++ b/src/hotspot/share/runtime/vmStructs.cpp Thu Oct 17 20:53:35 2019 +0100
@@ -70,7 +70,7 @@
#include "oops/instanceMirrorKlass.hpp"
#include "oops/instanceOop.hpp"
#include "oops/klass.hpp"
-#include "oops/markOop.hpp"
+#include "oops/markWord.hpp"
#include "oops/method.hpp"
#include "oops/methodCounters.hpp"
#include "oops/methodData.hpp"
@@ -88,6 +88,7 @@
#include "runtime/globals.hpp"
#include "runtime/java.hpp"
#include "runtime/javaCalls.hpp"
+#include "runtime/notificationThread.hpp"
#include "runtime/os.hpp"
#include "runtime/perfMemory.hpp"
#include "runtime/serviceThread.hpp"
@@ -167,8 +168,6 @@
typedef Hashtable<InstanceKlass*, mtClass> KlassHashtable;
typedef HashtableEntry<InstanceKlass*, mtClass> KlassHashtableEntry;
-typedef PaddedEnd<ObjectMonitor> PaddedObjectMonitor;
-
//--------------------------------------------------------------------------------
// VM_STRUCTS
//
@@ -201,7 +200,7 @@
/* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete) */ \
/******************************************************************/ \
\
- volatile_nonstatic_field(oopDesc, _mark, markOop) \
+ volatile_nonstatic_field(oopDesc, _mark, markWord) \
volatile_nonstatic_field(oopDesc, _metadata._klass, Klass*) \
volatile_nonstatic_field(oopDesc, _metadata._compressed_klass, narrowKlass) \
static_field(BarrierSet, _barrier_set, BarrierSet*) \
@@ -264,7 +263,7 @@
nonstatic_field(Klass, _layout_helper, jint) \
nonstatic_field(Klass, _name, Symbol*) \
nonstatic_field(Klass, _access_flags, AccessFlags) \
- nonstatic_field(Klass, _prototype_header, markOop) \
+ nonstatic_field(Klass, _prototype_header, markWord) \
volatile_nonstatic_field(Klass, _next_sibling, Klass*) \
nonstatic_field(Klass, _next_link, Klass*) \
nonstatic_field(Klass, _vtable_len, int) \
@@ -526,7 +525,7 @@
nonstatic_field(ClassLoaderData, _is_unsafe_anonymous, bool) \
volatile_nonstatic_field(ClassLoaderData, _dictionary, Dictionary*) \
\
- static_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \
+ static_ptr_volatile_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \
\
/**********/ \
/* Arrays */ \
@@ -592,6 +591,8 @@
static_field(StubRoutines, _aescrypt_decryptBlock, address) \
static_field(StubRoutines, _cipherBlockChaining_encryptAESCrypt, address) \
static_field(StubRoutines, _cipherBlockChaining_decryptAESCrypt, address) \
+ static_field(StubRoutines, _electronicCodeBook_encryptAESCrypt, address) \
+ static_field(StubRoutines, _electronicCodeBook_decryptAESCrypt, address) \
static_field(StubRoutines, _counterMode_AESCrypt, address) \
static_field(StubRoutines, _ghash_processBlocks, address) \
static_field(StubRoutines, _base64_encodeBlock, address) \
@@ -840,7 +841,6 @@
/* CI */ \
/************/ \
\
- nonstatic_field(ciEnv, _system_dictionary_modification_counter, int) \
nonstatic_field(ciEnv, _compiler_data, void*) \
nonstatic_field(ciEnv, _failure_reason, const char*) \
nonstatic_field(ciEnv, _factory, ciObjectFactory*) \
@@ -907,17 +907,17 @@
/* Monitors */ \
/************/ \
\
- volatile_nonstatic_field(ObjectMonitor, _header, markOop) \
+ volatile_nonstatic_field(ObjectMonitor, _header, markWord) \
unchecked_nonstatic_field(ObjectMonitor, _object, sizeof(void *)) /* NOTE: no type */ \
unchecked_nonstatic_field(ObjectMonitor, _owner, sizeof(void *)) /* NOTE: no type */ \
volatile_nonstatic_field(ObjectMonitor, _contentions, jint) \
volatile_nonstatic_field(ObjectMonitor, _waiters, jint) \
volatile_nonstatic_field(ObjectMonitor, _recursions, intptr_t) \
- nonstatic_field(ObjectMonitor, FreeNext, ObjectMonitor*) \
- volatile_nonstatic_field(BasicLock, _displaced_header, markOop) \
+ nonstatic_field(ObjectMonitor, _next_om, ObjectMonitor*) \
+ volatile_nonstatic_field(BasicLock, _displaced_header, markWord) \
nonstatic_field(BasicObjectLock, _lock, BasicLock) \
nonstatic_field(BasicObjectLock, _obj, oop) \
- static_ptr_volatile_field(ObjectSynchronizer, gBlockList, PaddedObjectMonitor*) \
+ static_ptr_volatile_field(ObjectSynchronizer, g_block_list, PaddedObjectMonitor*) \
\
/*********************/ \
/* Matcher (C2 only) */ \
@@ -1268,7 +1268,6 @@
declare_type(arrayOopDesc, oopDesc) \
declare_type(objArrayOopDesc, arrayOopDesc) \
declare_type(instanceOopDesc, oopDesc) \
- declare_type(markOopDesc, oopDesc) \
\
/**************************************************/ \
/* MetadataOopDesc hierarchy (NOTE: some missing) */ \
@@ -1306,7 +1305,6 @@
/* Oops */ \
/********/ \
\
- declare_oop_type(markOop) \
declare_oop_type(objArrayOop) \
declare_oop_type(oop) \
declare_oop_type(narrowOop) \
@@ -1369,6 +1367,7 @@
declare_type(JavaThread, Thread) \
declare_type(JvmtiAgentThread, JavaThread) \
declare_type(ServiceThread, JavaThread) \
+ declare_type(NotificationThread, JavaThread) \
declare_type(CompilerThread, JavaThread) \
declare_type(CodeCacheSweeperThread, JavaThread) \
declare_toplevel_type(OSThread) \
@@ -1595,6 +1594,7 @@
declare_c2_type(DecodeNKlassNode, TypeNode) \
declare_c2_type(ConstraintCastNode, TypeNode) \
declare_c2_type(CastIINode, ConstraintCastNode) \
+ declare_c2_type(CastLLNode, ConstraintCastNode) \
declare_c2_type(CastPPNode, ConstraintCastNode) \
declare_c2_type(CheckCastPPNode, TypeNode) \
declare_c2_type(Conv2BNode, Node) \
@@ -1956,9 +1956,10 @@
declare_toplevel_type(BitMap) \
declare_type(BitMapView, BitMap) \
\
- declare_integer_type(AccessFlags) /* FIXME: wrong type (not integer) */\
+ declare_integer_type(markWord) \
+ declare_integer_type(AccessFlags) /* FIXME: wrong type (not integer) */\
declare_toplevel_type(address) /* FIXME: should this be an integer type? */\
- declare_integer_type(BasicType) /* FIXME: wrong type (not integer) */\
+ declare_integer_type(BasicType) /* FIXME: wrong type (not integer) */ \
declare_toplevel_type(BreakpointInfo) \
declare_toplevel_type(BreakpointInfo*) \
declare_toplevel_type(CodeBlob*) \
@@ -2388,6 +2389,7 @@
declare_constant(Deoptimization::Reason_profile_predicate) \
declare_constant(Deoptimization::Reason_unloaded) \
declare_constant(Deoptimization::Reason_uninitialized) \
+ declare_constant(Deoptimization::Reason_initialized) \
declare_constant(Deoptimization::Reason_unreached) \
declare_constant(Deoptimization::Reason_unhandled) \
declare_constant(Deoptimization::Reason_constraint) \
@@ -2630,52 +2632,52 @@
VM_LONG_CONSTANTS_GC(declare_constant) \
\
/*********************/ \
- /* MarkOop constants */ \
+ /* markWord constants */ \
/*********************/ \
\
/* Note: some of these are declared as long constants just for */ \
/* consistency. The mask constants are the only ones requiring */ \
/* 64 bits (on 64-bit platforms). */ \
\
- declare_constant(markOopDesc::age_bits) \
- declare_constant(markOopDesc::lock_bits) \
- declare_constant(markOopDesc::biased_lock_bits) \
- declare_constant(markOopDesc::max_hash_bits) \
- declare_constant(markOopDesc::hash_bits) \
+ declare_constant(markWord::age_bits) \
+ declare_constant(markWord::lock_bits) \
+ declare_constant(markWord::biased_lock_bits) \
+ declare_constant(markWord::max_hash_bits) \
+ declare_constant(markWord::hash_bits) \
\
- declare_constant(markOopDesc::lock_shift) \
- declare_constant(markOopDesc::biased_lock_shift) \
- declare_constant(markOopDesc::age_shift) \
- declare_constant(markOopDesc::hash_shift) \
+ declare_constant(markWord::lock_shift) \
+ declare_constant(markWord::biased_lock_shift) \
+ declare_constant(markWord::age_shift) \
+ declare_constant(markWord::hash_shift) \
\
- declare_constant(markOopDesc::lock_mask) \
- declare_constant(markOopDesc::lock_mask_in_place) \
- declare_constant(markOopDesc::biased_lock_mask) \
- declare_constant(markOopDesc::biased_lock_mask_in_place) \
- declare_constant(markOopDesc::biased_lock_bit_in_place) \
- declare_constant(markOopDesc::age_mask) \
- declare_constant(markOopDesc::age_mask_in_place) \
- declare_constant(markOopDesc::epoch_mask) \
- declare_constant(markOopDesc::epoch_mask_in_place) \
- declare_constant(markOopDesc::hash_mask) \
- declare_constant(markOopDesc::hash_mask_in_place) \
- declare_constant(markOopDesc::biased_lock_alignment) \
+ declare_constant(markWord::lock_mask) \
+ declare_constant(markWord::lock_mask_in_place) \
+ declare_constant(markWord::biased_lock_mask) \
+ declare_constant(markWord::biased_lock_mask_in_place) \
+ declare_constant(markWord::biased_lock_bit_in_place) \
+ declare_constant(markWord::age_mask) \
+ declare_constant(markWord::age_mask_in_place) \
+ declare_constant(markWord::epoch_mask) \
+ declare_constant(markWord::epoch_mask_in_place) \
+ declare_constant(markWord::hash_mask) \
+ declare_constant(markWord::hash_mask_in_place) \
+ declare_constant(markWord::biased_lock_alignment) \
\
- declare_constant(markOopDesc::locked_value) \
- declare_constant(markOopDesc::unlocked_value) \
- declare_constant(markOopDesc::monitor_value) \
- declare_constant(markOopDesc::marked_value) \
- declare_constant(markOopDesc::biased_lock_pattern) \
+ declare_constant(markWord::locked_value) \
+ declare_constant(markWord::unlocked_value) \
+ declare_constant(markWord::monitor_value) \
+ declare_constant(markWord::marked_value) \
+ declare_constant(markWord::biased_lock_pattern) \
\
- declare_constant(markOopDesc::no_hash) \
- declare_constant(markOopDesc::no_hash_in_place) \
- declare_constant(markOopDesc::no_lock_in_place) \
- declare_constant(markOopDesc::max_age) \
+ declare_constant(markWord::no_hash) \
+ declare_constant(markWord::no_hash_in_place) \
+ declare_constant(markWord::no_lock_in_place) \
+ declare_constant(markWord::max_age) \
\
- /* Constants in markOop used by CMS. */ \
- declare_constant(markOopDesc::cms_shift) \
- declare_constant(markOopDesc::cms_mask) \
- declare_constant(markOopDesc::size_shift) \
+ /* Constants in markWord used by CMS. */ \
+ declare_constant(markWord::cms_shift) \
+ declare_constant(markWord::cms_mask) \
+ declare_constant(markWord::size_shift) \
\
/* InvocationCounter constants */ \
declare_constant(InvocationCounter::count_increment) \