< prev index next > src/hotspot/share/runtime/continuationJavaClasses.hpp
Print this page
/*
- * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
static inline void set_preempted(oop continuation, bool value);
};
// Interface to jdk.internal.vm.StackChunk objects
#define STACKCHUNK_INJECTED_FIELDS(macro) \
- macro(jdk_internal_vm_StackChunk, cont, continuation_signature, false) \
- macro(jdk_internal_vm_StackChunk, flags, byte_signature, false) \
- macro(jdk_internal_vm_StackChunk, pc, intptr_signature, false) \
- macro(jdk_internal_vm_StackChunk, maxThawingSize, int_signature, false) \
+ macro(jdk_internal_vm_StackChunk, cont, continuation_signature, false) \
+ macro(jdk_internal_vm_StackChunk, flags, byte_signature, false) \
+ macro(jdk_internal_vm_StackChunk, pc, intptr_signature, false) \
+ macro(jdk_internal_vm_StackChunk, maxThawingSize, int_signature, false) \
+ macro(jdk_internal_vm_StackChunk, lockStackSize, byte_signature, false) \
+ macro(jdk_internal_vm_StackChunk, objectWaiter, intptr_signature, false) \
class jdk_internal_vm_StackChunk: AllStatic {
friend class JavaClasses;
private:
static int _parent_offset;
static int _sp_offset;
static int _pc_offset;
static int _bottom_offset;
static int _flags_offset;
static int _maxThawingSize_offset;
+ static int _lockStackSize_offset;
+ static int _objectWaiter_offset;
static int _cont_offset;
static void compute_offsets();
public:
static inline bool try_set_flags(oop chunk, uint8_t expected_value, uint8_t new_value);
static inline int maxThawingSize(oop chunk);
static inline void set_maxThawingSize(oop chunk, int value);
+ static inline uint8_t lockStackSize(oop chunk);
+ static inline void set_lockStackSize(oop chunk, uint8_t value);
+
+ static inline address objectWaiter(oop chunk);
+ static inline void set_objectWaiter(oop chunk, address mon);
+
// cont oop's processing is essential for the chunk's GC protocol
static inline oop cont(oop chunk);
template<typename P>
static inline oop cont_raw(oop chunk);
static inline void set_cont(oop chunk, oop value);
< prev index next >