Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Off heap #7173

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Off heap #7173

wants to merge 4 commits into from

Conversation

LinHu2016
Copy link
Contributor

Modifications for Off-Heap Technology for Large Arrays in Region-Based Collectors
Carryforward from #6948

@0xdaryl
Copy link
Contributor

0xdaryl commented Nov 13, 2023

Just a reminder to please use an imperative voice in all commit/PR titles describing what the commit/PR is about.

@@ -356,3 +357,9 @@ MM_GCExtensionsBase::usingSATBBarrier()
#endif /* defined(OMR_GC_REALTIME) */
return false;
}

bool
MM_GCExtensionsBase::isAddressWithinHeap(void *address)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check if we have something similar already

@@ -919,6 +919,7 @@ TraceAssert=Assert_MM_double_map_unreachable noEnv Overhead=1 Level=1 Assert="(f

TraceEvent=Trc_ParallelGlobalGC_shouldCompactThisCycle Overhead=1 Level=1 Group=compact Template="Current page granularity fragmented ratio: %f Threshold: %f"

//Trc_MM_double_map_Entry Obsolete
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove the line

@@ -1028,3 +1029,6 @@ TraceEvent=Trc_MM_MSSSS_flip_restore_tilt_after_percolate_current_status Overhea

TraceEvent=Trc_MM_clearheap Overhead=1 Level=1 Group=gclogger Template="clearheap with free memory size: %zu, object size: %zu"
TraceEvent=Trc_MM_cleanUpSegmentsInAnonymousClassLoader_stats Overhead=1 Level=1 Group=gclogger Template="Anonymous classes: total: %zu, unloaded: %zu, searched ROM: %zu, found ROM fast: %zu, found ROM slow: %zu, not found ROM: %zu"

//Redefine Trc_MM_double_map_Entry to add originalDataSize and adjustedDataSize
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove this line

@@ -1028,3 +1029,6 @@ TraceEvent=Trc_MM_MSSSS_flip_restore_tilt_after_percolate_current_status Overhea

TraceEvent=Trc_MM_clearheap Overhead=1 Level=1 Group=gclogger Template="clearheap with free memory size: %zu, object size: %zu"
TraceEvent=Trc_MM_cleanUpSegmentsInAnonymousClassLoader_stats Overhead=1 Level=1 Group=gclogger Template="Anonymous classes: total: %zu, unloaded: %zu, searched ROM: %zu, found ROM fast: %zu, found ROM slow: %zu, not found ROM: %zu"

//Redefine Trc_MM_double_map_Entry to add originalDataSize and adjustedDataSize
TraceEntry=Trc_MM_double_map_EntryNew Overhead=1 Level=3 Group=arraylet Template="MM_IndexableObjectAllocationModel::doubleMapArraylets. originalDataSize: %p, adjustedDataSize: %p, spine: %p, leafSize: %p leavesCount: %zu"
Copy link
Contributor

@amicic amicic Jul 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if this is redefining an existing one, then obsolete the old one
possible only if other (J9) changes goes together at the same time
otherwise (if OMR goes first), we can obsolete it only later

@@ -1513,8 +1523,10 @@ class MM_GCExtensionsBase : public MM_BaseVirtual {
, isArrayletDoubleMapRequested(false)
, isArrayletDoubleMapAvailable(false)
#endif /* defined(OMR_GC_DOUBLE_MAP_ARRAYLETS) */
, isVirtualLargeObjectHeapRequested(false)
#if defined(OMR_GC_SPARSE_HEAP_ALLOCATION)
, isVirtualLargeObjectHeapRequested(true)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we will probably enable off-heap by default once all the code is delivered, but it should be done in downstream project during startup

jonoommen and others added 4 commits July 16, 2024 14:25
Modifications required to complete the introduction of an optimized memory
management scheme for large arrays in a region-based garbage collector.
More specifically, this is a new heap scheme and large
object organization (in-heap and off-heap), an
enhanced method for allocating large objects (proxy
objects), and an optimized technique of accessing
large arrays during runtime (JIT optimizations).

Related to: #14005

Signed-off-by: Jonathan Oommen jon.oommen@gmail.com
Signed-off-by: hulin <linhu@ca.ibm.com>
Signed-off-by: hulin <linhu@ca.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants