Skip to content

Commit

Permalink
Merge pull request #18080 from dylanjtuttle/constCharFix2
Browse files Browse the repository at this point in the history
Make J9VMDllLoadInfo::fatalErrorStr 'const'
  • Loading branch information
keithc-ca committed Sep 25, 2023
2 parents 6a36833 + 6880068 commit 48ce19d
Show file tree
Hide file tree
Showing 12 changed files with 304 additions and 133 deletions.
8 changes: 4 additions & 4 deletions runtime/bcutil/bcutil.c
Expand Up @@ -137,14 +137,14 @@ bcutil_J9VMDllMain(J9JavaVM* vm, IDATA stage, void* reserved)
if (J2SE_VERSION(vm) >= J2SE_V11) {
rc = initJImageIntf(&jimageIntf, vm, PORTLIB);
if (J9JIMAGE_NO_ERROR != rc) {
loadInfo->fatalErrorStr = "failed to initialize JImage interface";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "failed to initialize JImage interface", FALSE);
returnVal = J9VMDLLMAIN_FAILED;
break;
}
}
translationBuffers = j9bcutil_allocTranslationBuffers(vm->portLibrary);
if (translationBuffers == NULL) {
loadInfo->fatalErrorStr = "j9bcutil_allocTranslationBuffers failed";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "j9bcutil_allocTranslationBuffers failed", FALSE);
returnVal = J9VMDLLMAIN_FAILED;
break;
}
Expand All @@ -165,15 +165,15 @@ bcutil_J9VMDllMain(J9JavaVM* vm, IDATA stage, void* reserved)
if (omrthread_monitor_init_with_name(&vm->mapMemoryBufferMutex, 0, "global mapMemoryBuffer mutex")
|| (vm->mapMemoryResultsBuffer == NULL)
) {
loadInfo->fatalErrorStr = "initial global mapMemoryBuffer or mapMemoryBufferMutex allocation failed";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "initial global mapMemoryBuffer or mapMemoryBufferMutex allocation failed", FALSE);
returnVal = J9VMDLLMAIN_FAILED;
}
vm->mapMemoryBuffer = vm->mapMemoryResultsBuffer + MAP_MEMORY_RESULTS_BUFFER_SIZE;
break;

case AGENTS_STARTED :
break;

case JCL_INITIALIZED :
break;

Expand Down
20 changes: 11 additions & 9 deletions runtime/bcverify/bcverify.c
Expand Up @@ -83,8 +83,8 @@ static void bcvHookClassesUnload (J9HookInterface** hook, UDATA eventNum, void*
static void printMethod (J9BytecodeVerificationData * verifyData);
static IDATA simulateStack (J9BytecodeVerificationData * verifyData);

static IDATA parseOptions (J9JavaVM *vm, char *optionValues, char **errorString);
static IDATA setVerifyState ( J9JavaVM *vm, char *option, char **errorString );
static IDATA parseOptions (J9JavaVM *vm, char *optionValues, const char **errorString);
static IDATA setVerifyState ( J9JavaVM *vm, char *option, const char **errorString );


/**
Expand Down Expand Up @@ -2688,7 +2688,7 @@ j9bcv_J9VMDllMain (J9JavaVM* vm, IDATA stage, void* reserved)
loadInfo = FIND_DLL_TABLE_ENTRY( THIS_DLL_NAME );
verifyData = j9bcv_initializeVerificationData(vm);
if( !verifyData ) {
loadInfo->fatalErrorStr = "j9bcv_initializeVerificationData failed";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "j9bcv_initializeVerificationData failed", FALSE);
returnVal = J9VMDLLMAIN_FAILED;
break;
}
Expand Down Expand Up @@ -2722,12 +2722,14 @@ j9bcv_J9VMDllMain (J9JavaVM* vm, IDATA stage, void* reserved)
/* Deal with possible -Xverify:<opt>,<opt> case */
GET_OPTION_VALUES( xVerifyColonIndex, ':', ',', &optionValuesBufferPtr, 128 );

if(*optionValuesBuffer) {
if (!parseOptions(vm, optionValuesBuffer, &loadInfo->fatalErrorStr)) {
if ('\0' != *optionValuesBuffer) {
const char *errorString = NULL;
if (!parseOptions(vm, optionValuesBuffer, &errorString)) {
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, errorString, FALSE);
returnVal = J9VMDLLMAIN_FAILED;
}
} else {
loadInfo->fatalErrorStr = "No options specified for -Xverify:<opt>";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "No options specified for -Xverify:<opt>", FALSE);
returnVal = J9VMDLLMAIN_FAILED;
}
}
Expand All @@ -2752,7 +2754,7 @@ j9bcv_J9VMDllMain (J9JavaVM* vm, IDATA stage, void* reserved)
noClassRelationshipVerifierIndex = FIND_AND_CONSUME_VMARG(EXACT_MATCH, VMOPT_XXNOCLASSRELATIONSHIPVERIFIER, NULL);
if (classRelationshipVerifierIndex > noClassRelationshipVerifierIndex) {
if (J9_ARE_ANY_BITS_SET(vm->runtimeFlags, J9_RUNTIME_XFUTURE)) {
loadInfo->fatalErrorStr = "-XX:+ClassRelationshipVerifier cannot be used if -Xfuture or if -Xverify:all is enabled";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "-XX:+ClassRelationshipVerifier cannot be used if -Xfuture or if -Xverify:all is enabled", FALSE);
returnVal = J9VMDLLMAIN_FAILED;
} else {
vm->extendedRuntimeFlags2 |= J9_EXTENDED_RUNTIME2_ENABLE_CLASS_RELATIONSHIP_VERIFIER;
Expand All @@ -2775,7 +2777,7 @@ j9bcv_J9VMDllMain (J9JavaVM* vm, IDATA stage, void* reserved)


static IDATA
setVerifyState(J9JavaVM *vm, char *option, char **errorString)
setVerifyState(J9JavaVM *vm, char *option, const char **errorString)
{
PORT_ACCESS_FROM_JAVAVM(vm);

Expand Down Expand Up @@ -2823,7 +2825,7 @@ setVerifyState(J9JavaVM *vm, char *option, char **errorString)


static IDATA
parseOptions(J9JavaVM *vm, char *optionValues, char **errorString)
parseOptions(J9JavaVM *vm, char *optionValues, const char **errorString)
{
char *optionValue = optionValues; /* Values are separated by single NULL characters. */

Expand Down
28 changes: 14 additions & 14 deletions runtime/compiler/control/DLLMain.cpp
Expand Up @@ -68,7 +68,7 @@ static IDATA initializeCompilerArgs(J9JavaVM* vm,
char* xCommandLineOptions = NULL;

char *VMOPT_WITH_COLON;
char *fatalErrorStr;
const char *fatalErrorStr = NULL;
if (isXjit)
{
VMOPT_WITH_COLON = J9::Options::_externalOptionStrings[J9::ExternalOptions::Xjitcolon];
Expand Down Expand Up @@ -178,7 +178,7 @@ static IDATA initializeCompilerArgs(J9JavaVM* vm,
/* If sizeOfOption is 0 then there have been no arguments for (potentially multiple) -Xjit: / -Xaot: */
else
{
loadInfo->fatalErrorStr = fatalErrorStr;
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, fatalErrorStr, FALSE);
return J9VMDLLMAIN_FAILED;
}
}
Expand All @@ -198,7 +198,7 @@ static IDATA initializeCompilerArgs(J9JavaVM* vm,
if (!* xCommandLineOptions)
{
j9mem_free_memory(xCommandLineOptions);
loadInfo->fatalErrorStr = fatalErrorStr;
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, fatalErrorStr, FALSE);
return J9VMDLLMAIN_FAILED;
}
}
Expand Down Expand Up @@ -454,7 +454,7 @@ IDATA J9VMDllMain(J9JavaVM* vm, IDATA stage, void * reserved)

if (!jitConfig)
{
loadInfo->fatalErrorStr = "cannot initialize JIT: no jitconfig";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "cannot initialize JIT: no jitconfig", FALSE);
return J9VMDLLMAIN_FAILED;
}

Expand Down Expand Up @@ -493,7 +493,7 @@ IDATA J9VMDllMain(J9JavaVM* vm, IDATA stage, void * reserved)
_abort:
freeJITConfig(jitConfig);
if (!loadInfo->fatalErrorStr || strlen(loadInfo->fatalErrorStr)==0)
loadInfo->fatalErrorStr = "cannot initialize JIT";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "cannot initialize JIT", FALSE);
return J9VMDLLMAIN_FAILED;
}
break;
Expand Down Expand Up @@ -590,7 +590,7 @@ IDATA J9VMDllMain(J9JavaVM* vm, IDATA stage, void * reserved)
// cannot free JIT config because shutdown stage expects it to exist
vm->runtimeFlags &= ~J9_RUNTIME_JIT_ACTIVE;
if (!loadInfo->fatalErrorStr || strlen(loadInfo->fatalErrorStr)==0)
loadInfo->fatalErrorStr = "cannot initialize JIT";
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "cannot initialize JIT", FALSE);
return J9VMDLLMAIN_FAILED;
}

Expand Down Expand Up @@ -649,8 +649,8 @@ IDATA J9VMDllMain(J9JavaVM* vm, IDATA stage, void * reserved)

if ((curThread->currentException != NULL) || (curThread->threadObject == NULL))
{
if (!loadInfo->fatalErrorStr || strlen(loadInfo->fatalErrorStr)==0)
loadInfo->fatalErrorStr = "cannot create the jit Thread object";
if ((NULL == loadInfo->fatalErrorStr) || ('\0' == loadInfo->fatalErrorStr[0]))
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "cannot create the jit Thread object", FALSE);
return J9VMDLLMAIN_FAILED;
}

Expand All @@ -675,8 +675,8 @@ IDATA J9VMDllMain(J9JavaVM* vm, IDATA stage, void * reserved)
);
if ((curThread->currentException != NULL) || (curThread->threadObject == NULL))
{
if (!loadInfo->fatalErrorStr || strlen(loadInfo->fatalErrorStr)==0)
loadInfo->fatalErrorStr = "cannot create the jit Sampler Thread object";
if ((NULL == loadInfo->fatalErrorStr) || ('\0' == loadInfo->fatalErrorStr[0]))
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "cannot create the jit Sampler Thread object", FALSE);
return J9VMDLLMAIN_FAILED;
}
compInfo->setSamplingThreadLifetimeState(TR::CompilationInfo::SAMPLE_THR_INITIALIZED);
Expand All @@ -701,8 +701,8 @@ IDATA J9VMDllMain(J9JavaVM* vm, IDATA stage, void * reserved)
iProfilerThread);
if ((curThread->currentException != NULL) || (curThread->threadObject == NULL))
{
if (!loadInfo->fatalErrorStr || strlen(loadInfo->fatalErrorStr)==0)
loadInfo->fatalErrorStr = "cannot create the iProfiler Thread object";
if ((NULL == loadInfo->fatalErrorStr) || ('\0' == loadInfo->fatalErrorStr[0]))
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "cannot create the iProfiler Thread object", FALSE);
return J9VMDLLMAIN_FAILED;
}
TRIGGER_J9HOOK_VM_THREAD_STARTED(vm->hookInterface, curThread, iProfilerThread);
Expand All @@ -722,8 +722,8 @@ IDATA J9VMDllMain(J9JavaVM* vm, IDATA stage, void * reserved)
jProfilerThread);
if ((curThread->currentException != NULL) || (curThread->threadObject == NULL))
{
if (!loadInfo->fatalErrorStr || strlen(loadInfo->fatalErrorStr)==0)
loadInfo->fatalErrorStr = "cannot create the jProfiler Thread object";
if ((NULL == loadInfo->fatalErrorStr) || ('\0' == loadInfo->fatalErrorStr[0]))
vm->internalVMFunctions->setErrorJ9dll(PORTLIB, loadInfo, "cannot create the jProfiler Thread object", FALSE);
return J9VMDLLMAIN_FAILED;
}
TRIGGER_J9HOOK_VM_THREAD_STARTED(vm->hookInterface, curThread, jProfilerThread);
Expand Down

0 comments on commit 48ce19d

Please sign in to comment.