Skip to content

Commit

Permalink
JDK18+ disable finalization accordingly to command line option
Browse files Browse the repository at this point in the history
Skip j9gc_finalizer_startup if the finalization is disabled.

Signed-off-by: Jason Feng <[email protected]>
  • Loading branch information
JasonFengJ9 committed Jan 18, 2022
1 parent 236f72f commit c11e06b
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions runtime/gc_modron_startup/mminit.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 1991, 2021 IBM Corp. and others
* Copyright (c) 1991, 2022 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
Expand Down Expand Up @@ -565,11 +565,18 @@ gcStartupHeapManagement(J9JavaVM *javaVM)
int result = 0;

#if defined(J9VM_GC_FINALIZATION)
result = j9gc_finalizer_startup(javaVM);
if (JNI_OK != result) {
PORT_ACCESS_FROM_JAVAVM(javaVM);
j9nls_printf(PORTLIB, J9NLS_ERROR, J9NLS_GC_FAILED_TO_INITIALIZE_FINALIZE_SUPPORT);
return result;
#if JAVA_SPEC_VERSION >= 18
if (J9_ARE_ANY_BITS_SET(javaVM->extendedRuntimeFlags, J9_EXTENDED_RUNTIME_DISABLE_FINALIZATION)) {
/* Finalization is disabled */
} else
#endif /* JAVA_SPEC_VERSION >= 18 */
{
result = j9gc_finalizer_startup(javaVM);
if (JNI_OK != result) {
PORT_ACCESS_FROM_JAVAVM(javaVM);
j9nls_printf(PORTLIB, J9NLS_ERROR, J9NLS_GC_FAILED_TO_INITIALIZE_FINALIZE_SUPPORT);
return result;
}
}
#endif /* J9VM_GC_FINALIZATION */

Expand Down

0 comments on commit c11e06b

Please sign in to comment.