@@ -2550,6 +2550,15 @@ VMInitStages(J9JavaVM *vm, IDATA stage, void* reserved)
25502550 parseErrorOption = VMOPT_XXMAXDIRECTMEMORYSIZEEQUALS ;
25512551 goto _memParseError ;
25522552 }
2553+ #if defined(J9VM_ENV_DATA64 )
2554+ if ((~(UDATA )0 != vm -> directByteBufferMemoryMax )
2555+ && (vm -> directByteBufferMemoryMax > (((UDATA )I_64_MAX ) & ~(sizeof (UDATA ) - 1 )))
2556+ ) {
2557+ parseErrorOption = VMOPT_XXMAXDIRECTMEMORYSIZEEQUALS ;
2558+ parseError = OPTION_OUTOFRANGE ;
2559+ goto _memParseError ;
2560+ }
2561+ #endif /* defined(J9VM_ENV_DATA64) */
25532562
25542563 /* workaround option in case if OMRPORT_VMEM_ALLOC_QUICK Smart Address feature still be not reliable */
25552564 argIndex = FIND_AND_CONSUME_VMARG (EXACT_MATCH , VMOPT_XXNOFORCE_FULL_HEAP_ADDRESS_RANGE_SEARCH , NULL );
@@ -5382,7 +5391,7 @@ testFindArgs(J9JavaVM* vm)
53825391#define FAIL (failed = "Failed ")
53835392#define PASS ("Passed ")
53845393#define SET_TO (element , string ) vm->vmArgsArray->actualVMArgs->options[element].optionString = string; printf("\nTesting: %s \t\t", string)
5385- #define TEST_INT (value , expected ) printf( (value==expected) ? PASS : FAIL )
5394+ #define TEST_INT (value , expected ) printf("%s", (value==expected) ? PASS : FAIL )
53865395
53875396#ifdef J9VM_OPT_SIDECAR
53885397#define SET_MAP_TO (element , j9opt , sovopt , mapflags ) registerCmdLineMapping(vm, sovopt, j9opt, mapflags)
@@ -5810,13 +5819,13 @@ testOptionValueOps(J9JavaVM* vm)
58105819
58115820#define FAIL (failed = "Failed ")
58125821#define PASS ("Passed ")
5813- #define COMPARE (result , expected ) printf((result==NULL) ? FAIL : ((strcmp(result, expected)==0) ? PASS : FAIL ))
5814- #define IS_NULL (result ) printf((result==NULL) ? PASS : FAIL)
5815- #define IS_EMPTY_STRING (result ) printf((result!=NULL && strlen(result)==0) ? PASS : FAIL)
5816- #define IS_0 (result ) printf((result=='\0') ? PASS : FAIL)
5822+ #define COMPARE (result , expected ) printf("%s", (result==NULL) ? FAIL : ((strcmp(result, expected)==0) ? PASS : FAIL ))
5823+ #define IS_NULL (result ) printf("%s", (result==NULL) ? PASS : FAIL)
5824+ #define IS_EMPTY_STRING (result ) printf("%s", (result!=NULL && strlen(result)==0) ? PASS : FAIL)
5825+ #define IS_0 (result ) printf("%s", (result=='\0') ? PASS : FAIL)
58175826#define SET_TO (element , string ) vm->vmArgsArray->actualVMArgs->options[element].optionString = string; printf("\nTesting: %s \t\t", string)
58185827#define NEXT_ELEMENT (array ) (array += strlen(array) + 1)
5819- #define TEST_INT (value , expected ) printf( (value==expected) ? PASS : FAIL )
5828+ #define TEST_INT (value , expected ) printf("%s", (value==expected) ? PASS : FAIL )
58205829
58215830#ifdef J9VM_OPT_SIDECAR
58225831#define SET_MAP_TO (element , j9opt , sovopt , mapflags ) registerCmdLineMapping(vm, sovopt, j9opt, mapflags)
@@ -6372,8 +6381,13 @@ testOptionValueOps(J9JavaVM* vm)
63726381 SET_TO (1 , "-Xfok5347534875438758474" );
63736382 optName = "-Xfok" ;
63746383 intResult = GET_INTEGER_VALUE (1 , optName , uResult );
6384+ #if defined(J9VM_ENV_DATA64 )
6385+ TEST_INT (uResult , 5347534875438758474 );
6386+ TEST_INT (intResult , OPTION_OK );
6387+ #else /* defined(J9VM_ENV_DATA64) */
63756388 TEST_INT (uResult , 0 );
63766389 TEST_INT (intResult , OPTION_MALFORMED );
6390+ #endif /* defined(J9VM_ENV_DATA64) */
63776391
63786392 SET_TO (1 , "-Xfoo31" );
63796393 optName = "-Xfoo" ;
@@ -6390,8 +6404,35 @@ testOptionValueOps(J9JavaVM* vm)
63906404 SET_TO (1 , "-Xfob4294967295" ); /* (2^32 - 1) */
63916405 optName = "-Xfob" ;
63926406 intResult = GET_MEMORY_VALUE (1 , optName , uResult );
6407+ #if defined(J9VM_ENV_DATA64 )
6408+ TEST_INT (uResult , 4294967296 );
6409+ TEST_INT (intResult , OPTION_OK );
6410+ #else /* defined(J9VM_ENV_DATA64) */
6411+ TEST_INT (uResult , 4294967292 );
6412+ TEST_INT (intResult , OPTION_OK );
6413+ #endif /* defined(J9VM_ENV_DATA64) */
6414+
6415+ SET_TO (1 , "-Xfob9223372036854775807" ); /* (2^63 - 1) */
6416+ optName = "-Xfob" ;
6417+ intResult = GET_MEMORY_VALUE (1 , optName , uResult );
6418+ #if defined(J9VM_ENV_DATA64 )
6419+ TEST_INT (uResult , 9223372036854775800 );
6420+ TEST_INT (intResult , OPTION_OK );
6421+ #else /* defined(J9VM_ENV_DATA64) */
6422+ TEST_INT (uResult , 0 );
6423+ TEST_INT (intResult , OPTION_MALFORMED );
6424+ #endif /* defined(J9VM_ENV_DATA64) */
6425+
6426+ SET_TO (1 , "-Xfob9223372036854775809" ); /* (2^63 + 1) */
6427+ optName = "-Xfob" ;
6428+ intResult = GET_MEMORY_VALUE (1 , optName , uResult );
6429+ #if defined(J9VM_ENV_DATA64 )
6430+ TEST_INT (uResult , 9223372036854775808U );
6431+ TEST_INT (intResult , OPTION_OK );
6432+ #else /* defined(J9VM_ENV_DATA64) */
63936433 TEST_INT (uResult , 0 );
6394- TEST_INT (intResult , OPTION_OVERFLOW );
6434+ TEST_INT (intResult , OPTION_MALFORMED );
6435+ #endif /* defined(J9VM_ENV_DATA64) */
63956436
63966437 SET_TO (1 , "-Xfoc4294967280" ); /* 0xfffffff0 */
63976438 optName = "-Xfoc" ;
@@ -6572,14 +6613,24 @@ testOptionValueOps(J9JavaVM* vm)
65726613 SET_TO (1 , "-Xfou99999999999M" );
65736614 optName = "-Xfou" ;
65746615 intResult = GET_MEMORY_VALUE (1 , optName , uResult );
6616+ #if defined(J9VM_ENV_DATA64 )
6617+ TEST_INT (uResult , 104857599998951424 );
6618+ TEST_INT (intResult , OPTION_OK );
6619+ #else /* defined(J9VM_ENV_DATA64) */
65756620 TEST_INT (uResult , 0 );
65766621 TEST_INT (intResult , OPTION_MALFORMED );
6622+ #endif /* defined(J9VM_ENV_DATA64) */
65776623
65786624 SET_TO (1 , "-Xfow99999M" );
65796625 optName = "-Xfow" ;
65806626 intResult = GET_MEMORY_VALUE (1 , optName , uResult );
6627+ #if defined(J9VM_ENV_DATA64 )
6628+ TEST_INT (uResult , 104856551424 );
6629+ TEST_INT (intResult , OPTION_OK );
6630+ #else /* defined(J9VM_ENV_DATA64) */
65816631 TEST_INT (uResult , 0 );
65826632 TEST_INT (intResult , OPTION_OVERFLOW );
6633+ #endif /* defined(J9VM_ENV_DATA64) */
65836634
65846635#ifdef J9VM_OPT_SIDECAR
65856636
@@ -6607,7 +6658,7 @@ testOptionValueOps(J9JavaVM* vm)
66076658 vm -> vmArgsArray -> actualVMArgs -> options [5 ].optionString = origOption5 ;
66086659 vm -> vmArgsArray -> actualVMArgs -> options [6 ].optionString = origOption6 ;
66096660
6610- printf ((failed == NULL ) ? "\n\nTESTS PASSED\n" : "\n\nTESTS FAILED\n" );
6661+ printf ("%s" , (failed == NULL ) ? "\n\nTESTS PASSED\n" : "\n\nTESTS FAILED\n" );
66116662}
66126663
66136664
0 commit comments