Files
IMR6/libraries/linux/graalvm/lib/svm/clibraries/linux-amd64/include/g1GCStructs.h
T

73 lines
1.5 KiB
C++

/*
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
#ifndef SVM_G1_GC_STRUCTS_H
#define SVM_G1_GC_STRUCTS_H
#include <sys/types.h>
#ifdef __cplusplus
namespace svm_gc {
#endif
struct G1HeapOptions {
size_t max_heap_size;
size_t heap_address_space_size;
size_t physical_memory_size;
};
struct G1InitState {
void* card_table_address;
void* gc_total_collections_address;
int tlab_top_offset;
int tlab_end_offset;
int satb_queue_marking_offset;
int satb_queue_buffer_offset;
int satb_queue_index_offset;
int card_queue_buffer_offset;
int card_queue_index_offset;
int card_table_shift;
int log_of_heap_region_grain_bytes;
int java_thread_size;
int vm_operation_data_size;
int vm_operation_wrapper_data_size;
char dirty_card_value;
char young_card_value;
};
struct G1RegionBoundaries {
u_char *bottom;
u_char *top;
};
struct G1RegionInfo {
u_char *bottom;
u_char *top;
u_char *end;
u_char *top_at_mark_start;
u_char *parsable_bottom;
size_t pinned_object_count;
char in_collection_set;
char remembered_set_state;
char region_type;
};
struct G1InternalState {
unsigned int total_collections;
unsigned int full_collections;
void* card_table_start;
size_t card_table_size;
void* block_offset_table_start;
size_t block_offset_table_size;
};
#ifdef __cplusplus
} // namespace svm_gc
#endif
#endif // SVM_G1_GC_STRUCTS_H