diff --git a/compiler/control/CompileMethod.cpp b/compiler/control/CompileMethod.cpp index 99b63ab6013..e8e0e7c5685 100644 --- a/compiler/control/CompileMethod.cpp +++ b/compiler/control/CompileMethod.cpp @@ -301,8 +301,7 @@ compileMethodFromDetails( { if (TR::Options::getCmdLineOptions()->getVerboseOption(TR_VerboseCompileExclude)) { - TR_VerboseLog::write("\n", - compilee.signature(&trMemory)); + TR_VerboseLog::writeLine(TR_Vlog_INFO, "%s cannot be translated", compilee.signature(&trMemory)); } return 0; } @@ -313,8 +312,7 @@ compileMethodFromDetails( // so that we don't have to deal with OOM ugliness below if (TR::Options::getCmdLineOptions()->getVerboseOption(TR_VerboseCompileExclude)) { - TR_VerboseLog::write("\n", - compilee.signature(&trMemory)); + TR_VerboseLog::writeLine(TR_Vlog_INFO, "%s out-of-memory allocating optimization plan", compilee.signature(&trMemory)); } return 0; } @@ -386,7 +384,7 @@ compileMethodFromDetails( { const char *signature = compilee.signature(&trMemory); TR_VerboseLog::vlogAcquire(); - TR_VerboseLog::writeLine(TR_Vlog_COMP,"(%s) %s @ " POINTER_PRINTF_FORMAT "-" POINTER_PRINTF_FORMAT, + TR_VerboseLog::write(TR_Vlog_COMP, "(%s) %s @ " POINTER_PRINTF_FORMAT "-" POINTER_PRINTF_FORMAT, compiler.getHotnessName(compiler.getMethodHotness()), signature, startPC, @@ -401,6 +399,7 @@ compileMethodFromDetails( ); } + TR_VerboseLog::writeLine(""); TR_VerboseLog::vlogRelease(); trfflush(jitConfig->options.vLogFile); } diff --git a/compiler/control/OMROptions.cpp b/compiler/control/OMROptions.cpp index 421ba01c63c..1de15060582 100644 --- a/compiler/control/OMROptions.cpp +++ b/compiler/control/OMROptions.cpp @@ -1556,7 +1556,7 @@ OMR::Options::setRegex(char *option, void *base, TR::OptionTable *entry) TR::SimpleRegex * regex = TR::SimpleRegex::create(option); *((TR::SimpleRegex**)((char*)base+entry->parm1)) = regex; if (!regex) - TR_VerboseLog::write(" '%s'>\n", option); + TR_VerboseLog::writeLine("Bad regular expression at --> '%s'", option); return option; } @@ -1567,7 +1567,7 @@ OMR::Options::setStaticRegex(char *option, void *base, TR::OptionTable *entry) TR::SimpleRegex * regex = TR::SimpleRegex::create(option); *((TR::SimpleRegex**)entry->parm1) = regex; if (!regex) - TR_VerboseLog::write(" '%s'>\n", option); + TR_VerboseLog::writeLine("Bad regular expression at --> '%s'", option); return option; } @@ -2247,7 +2247,7 @@ OMR::Options::jitLatePostProcess(TR::OptionSet *optionSet, void * jitConfig) if (self()->getOption(TR_MimicInterpreterFrameShape)) { if (self()->getFixedOptLevel() != -1 && self()->getFixedOptLevel() != noOpt) - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FSD, "Ignoring user specified optLevel"); if (_countString) { //if quickstart is enabled, then message saying it is incompatable with fsdb @@ -2255,11 +2255,11 @@ OMR::Options::jitLatePostProcess(TR::OptionSet *optionSet, void * jitConfig) { if (TR::Options::isQuickstartDetected()) { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FSD, "Ignoring -Xquickstart option"); } else { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FSD, "Ignoring countString"); } } } @@ -2317,11 +2317,7 @@ OMR::Options::jitLatePostProcess(TR::OptionSet *optionSet, void * jitConfig) } else if (self()->requiresLogFile()) { - if (this == TR::Options::getAOTCmdLineOptions()) - TR_VerboseLog::write(")>\n"); + TR_VerboseLog::writeLine(TR_Vlog_INFO, "Trace options require a log file to be specified: log="); return false; } @@ -2334,7 +2330,7 @@ OMR::Options::jitLatePostProcess(TR::OptionSet *optionSet, void * jitConfig) fej9->compileMethods(optionSet, jitConfig); if (self()->getOption(TR_WaitBit)) { - TR_VerboseLog::write("Will call waitOnCompiler\n"); + TR_VerboseLog::writeLine("Will call waitOnCompiler"); fej9->waitOnCompiler(jitConfig); } } @@ -2709,7 +2705,7 @@ OMR::Options::jitPreProcess() if (_aggressivenessLevel != -1) // -1 means not set { if (OMR::Options::isAnyVerboseOptionSet()) - TR_VerboseLog::write("\n 0 && stricmp_ignore_locale((opt-1)->name, opt->name) >= 0) { - TR_VerboseLog::writeLine(TR_Vlog_FAILURE,"JIT option table entries out of order: "); + TR_VerboseLog::write(TR_Vlog_FAILURE, "JIT option table entries out of order: "); TR_VerboseLog::write((opt-1)->name); TR_VerboseLog::write(", "); - TR_VerboseLog::write(opt->name); + TR_VerboseLog::writeLine(opt->name); return false; } #endif @@ -3266,7 +3262,7 @@ OMR::Options::processOptionSet( methodRegex = TR::SimpleRegex::create(endOpt); if (!methodRegex) { - TR_VerboseLog::write(" '%s'>\n", endOpt); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression at --> '%s'", endOpt); return options; } @@ -3277,7 +3273,7 @@ OMR::Options::processOptionSet( optLevelRegex = TR::SimpleRegex::create(endOpt); if (!optLevelRegex) { - TR_VerboseLog::write(" '%s'>\n", endOpt); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression at --> '%s'", endOpt); return options; } } @@ -3419,7 +3415,7 @@ OMR::Options::processOptionSet( if (!endOpt) { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Unable to allocate option string"); return options; } @@ -3427,7 +3423,7 @@ OMR::Options::processOptionSet( if (!feEndOpt) { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Unable to allocate option string"); return options; } @@ -3437,7 +3433,7 @@ OMR::Options::processOptionSet( // if (feEndOpt != options && optionSet) { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Option not allowed in option subset"); return options; } @@ -3553,7 +3549,7 @@ OMR::Options::processOption( { if (opt->msgInfo & NOT_IN_SUBSET) { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Option not allowed in option subset"); opt->msgInfo = 0; return startOption; } @@ -3577,7 +3573,7 @@ OMR::Options::processOption( processingMethod = TR::Options::negateProcessingMethod(opt->fcn); if (!processingMethod) { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "'!' is not supported for this option"); opt->msgInfo = 0; return startOption; } @@ -3621,7 +3617,7 @@ OMR::Options::jitPostProcess() } else if (self()->requiresLogFile()) { - TR_VerboseLog::write(")>\n"); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Log file option must be specified when a trace options is used: log="); return false; } @@ -3640,7 +3636,7 @@ OMR::Options::jitPostProcess() } else { - TR_VerboseLog::write(" 0) - TR_VerboseLog::write("\naggressivenessLevel=%u\n", _aggressivenessLevel); + TR_VerboseLog::writeLine("aggressivenessLevel=%u", _aggressivenessLevel); } @@ -4252,13 +4248,13 @@ OMR::Options::setCounts() if (!_countString) { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Count string could not be allocated"); return dummy_string; } if (_initialCount == -1 || _initialBCount == -1 || _initialMILCount == -1) { - TR_VerboseLog::write("\n", _countString); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad string count: '%s'", _countString); return _countString; } @@ -4565,7 +4561,7 @@ OMR::Options::setAddressEnumerationBits(char *option, void *base, TR::OptionTabl TR::SimpleRegex * regex = _debug ? TR::SimpleRegex::create(option) : 0; if (!regex) - TR_VerboseLog::write(" '%s'>\n", option); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression at --> '%s'", option); else { if (TR::SimpleRegex::matchIgnoringLocale(regex, "block")) @@ -4593,7 +4589,7 @@ OMR::Options::setAddressEnumerationBits(char *option, void *base, TR::OptionTabl *((int32_t*)((char*)base+entry->parm1)) |= TR_EnumerateStructure; } if (*((int32_t*)((char*)base+entry->parm1)) == 0x00000000) - TR_VerboseLog::write(""); + TR_VerboseLog::writeLine(TR_Vlog_INFO, "Address enumeration option not found. No address enumeration option was set."); } } @@ -4664,7 +4660,7 @@ OMR::Options::setBitsFromStringSet(char *option, void *base, TR::OptionTable *en TR::SimpleRegex * regex = _debug ? TR::SimpleRegex::create(option) : 0; if (!regex) - TR_VerboseLog::write(" '%s'>\n", option); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression at --> '%s'", option); else { for(i=0;_optionStringToBitMapping[i].bitValue != 0;i++) @@ -4675,7 +4671,7 @@ OMR::Options::setBitsFromStringSet(char *option, void *base, TR::OptionTable *en } } if (*((int32_t*)((char*)base+entry->parm1)) == 0x00000000) - TR_VerboseLog::write(""); + TR_VerboseLog::writeLine(TR_Vlog_INFO, "Register assignment tracing options not found. No additional tracing option was set."); } } @@ -4695,7 +4691,7 @@ char *OMR::Options::clearBitsFromStringSet(char *option, void *base, TR::OptionT { TR::SimpleRegex * regex = TR::SimpleRegex::create(option); if (!regex) - TR_VerboseLog::write(" '%s'>\n", option); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression at --> '%s'", option); else { for(i=0;_optionStringToBitMapping[i].bitValue != 0;i++) @@ -4706,7 +4702,7 @@ char *OMR::Options::clearBitsFromStringSet(char *option, void *base, TR::OptionT } } if (*((int32_t*)((char*)base+entry->parm1)) == 0x00000000) - TR_VerboseLog::write(""); + TR_VerboseLog::writeLine(TR_Vlog_INFO, "Register assignment tracing options not found. No additional tracing option was set."); } } @@ -4732,7 +4728,7 @@ OMR::Options::configureOptReporting(char *option, void *base, TR::OptionTable *e options->setOption(TR_CountOptTransformations); TR::SimpleRegex * regex = _debug ? TR::SimpleRegex::create(option) : 0; if (!regex) - TR_VerboseLog::write(" '%s'>\n", option); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression --> '%s'", option); else options->_verboseOptTransformationsRegex = regex; break; @@ -4837,7 +4833,7 @@ OMR::Options::setVerboseBitsHelper(char *option, VerboseOptionFlagArray *verbose { TR::SimpleRegex * regex = TR::SimpleRegex::create(option); if (!regex) - TR_VerboseLog::write(" '%s'>\n", option); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression at --> '%s'", option); else { bool foundMatch = false; @@ -4853,7 +4849,7 @@ OMR::Options::setVerboseBitsHelper(char *option, VerboseOptionFlagArray *verbose } if (!foundMatch) - TR_VerboseLog::write(""); + TR_VerboseLog::writeLine(TR_Vlog_INFO, "Verbose option not found. No verbose option was set."); } } return option; diff --git a/compiler/env/CompileTimeProfiler.hpp b/compiler/env/CompileTimeProfiler.hpp index 5a909b2c4d8..5b35e5ace93 100644 --- a/compiler/env/CompileTimeProfiler.hpp +++ b/compiler/env/CompileTimeProfiler.hpp @@ -99,14 +99,14 @@ class CompileTimeProfiler if (TR::Options::getVerboseOption(TR_VerbosePerformance)) { TR_VerboseLog::vlogAcquire(); - TR_VerboseLog::write("\nProfiling %s compile time with:", comp->signature()); + TR_VerboseLog::write("Profiling %s compile time with:", comp->signature()); char **iter = options; while (*iter) { TR_VerboseLog::write(" %s", *iter); iter++; } - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(""); TR_VerboseLog::vlogRelease(); } diff --git a/compiler/env/VerboseLog.cpp b/compiler/env/VerboseLog.cpp index bd4324dddf2..85f4818fcf0 100644 --- a/compiler/env/VerboseLog.cpp +++ b/compiler/env/VerboseLog.cpp @@ -63,6 +63,7 @@ const char * TR_VerboseLog::_vlogTable[] = "#PROFILING: ", "#JITServer: ", "#AOTCOMPRESSION: ", + "#FSD: ", }; void TR_VerboseLog::writeLine(TR_VlogTag tag, const char *format, ...) @@ -72,7 +73,16 @@ void TR_VerboseLog::writeLine(TR_VlogTag tag, const char *format, ...) va_start(args, format); writeTimeStamp(); write(_vlogTable[tag]); - vwrite(format,args); + vwrite(format, args); + write("\n"); + va_end(args); + } + +void TR_VerboseLog::writeLine(const char *format, ...) + { + va_list args; + va_start(args, format); + vwrite(format, args); write("\n"); va_end(args); } @@ -85,7 +95,7 @@ void TR_VerboseLog::writeLineLocked(TR_VlogTag tag, const char *format, ...) va_start(args, format); writeTimeStamp(); write(_vlogTable[tag]); - vwrite(format,args); + vwrite(format, args); write("\n"); va_end(args); vlogRelease(); @@ -95,7 +105,18 @@ void TR_VerboseLog::write(const char *format, ...) { va_list args; va_start(args, format); - vwrite(format,args); + vwrite(format, args); + va_end(args); + } + +void TR_VerboseLog::write(TR_VlogTag tag, const char *format, ...) + { + TR_ASSERT_FATAL(tag != TR_Vlog_null, "TR_Vlog_null is not a valid Vlog tag"); + va_list args; + va_start(args, format); + writeTimeStamp(); + write(_vlogTable[tag]); + vwrite(format, args); va_end(args); } diff --git a/compiler/env/VerboseLog.hpp b/compiler/env/VerboseLog.hpp index 86205c0ea83..475bd1c926f 100644 --- a/compiler/env/VerboseLog.hpp +++ b/compiler/env/VerboseLog.hpp @@ -71,6 +71,7 @@ enum TR_VlogTag TR_Vlog_PROFILING, TR_Vlog_JITServer, TR_Vlog_AOTCOMPRESSION, + TR_Vlog_FSD, TR_Vlog_numTags }; @@ -84,7 +85,9 @@ class TR_VerboseLog //writeLine and write provide multi line write capabilities, and are to be used with vlogAcquire() and vlogRelease(), //this ensures nice formatted verbose logs static void write(const char *format, ...); + static void write(TR_VlogTag tag, const char *format, ...); static void writeLine(TR_VlogTag tag, const char *format, ...); + static void writeLine(const char *format, ...); //writeLineLocked is a single line print function, it provides the locks for you static void writeLineLocked(TR_VlogTag tag, const char *format, ...); static void vlogAcquire(); //defined in each front end diff --git a/compiler/ras/LimitFile.cpp b/compiler/ras/LimitFile.cpp index a3a279f4b69..1fa4239394b 100644 --- a/compiler/ras/LimitFile.cpp +++ b/compiler/ras/LimitFile.cpp @@ -123,7 +123,7 @@ TR_Debug::addFilter(char * & filterString, int32_t scanningExclude, int32_t opti TR::SimpleRegex *regex = TR::SimpleRegex::create(filterCursor); if (!regex) { - TR_VerboseLog::write(" '%s'>\n", filterCursor); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression at --> '%s'", filterCursor); return 0; } nameLength = filterCursor - filterString; @@ -318,7 +318,7 @@ TR_Debug::scanInlineFilters(FILE * inlineFile, int32_t & lineNumber, TR::Compila if (includeFlag == '[') { - //TR_VerboseLog::write(" '%s'>\n", limitReadBuffer); + //TR_VerboseLog::writeLine(TR_Vlog_INFO, "Sub inline file entry start --> '%s'", limitReadBuffer); if (filter) { @@ -330,7 +330,7 @@ TR_Debug::scanInlineFilters(FILE * inlineFile, int32_t & lineNumber, TR::Compila } else if (includeFlag == ']') { - //TR_VerboseLog::write(" '%s'>\n", limitReadBuffer); + //TR_VerboseLog::writeLine(TR_Vlog_INFO, "Sub inline file entry end --> '%s'", limitReadBuffer); // always return true (success) // this will ignore the rest of the filters if no matching open bracket. return true; @@ -371,7 +371,7 @@ TR_Debug::scanInlineFilters(FILE * inlineFile, int32_t & lineNumber, TR::Compila if (!filter) { inlineFileError = true; - TR_VerboseLog::write(" '%s'>\n", limitReadBuffer); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad inline file entry --> '%s'", limitReadBuffer); break; } } @@ -445,7 +445,7 @@ TR_Debug::inlinefileOption(char *option, void *base, TR::OptionTable *entry, TR: if (!success) { - TR_VerboseLog::write(" '%s'>\n", inlineFileName); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Unable to read inline file --> '%s'", inlineFileName); return fail; // We want to fail if we can't read the file because it is too easy to miss that the file wasn't picked up } return endOpt; @@ -687,14 +687,14 @@ TR_Debug::limitfileOption(char *option, void *base, TR::OptionTable *entry, TR:: } if (limitFileError) { - TR_VerboseLog::write(" '%s'>\n", limitReadBuffer); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad limit file entry --> '%s'", limitReadBuffer); return fail; } fclose(limitFile); } else { - TR_VerboseLog::write(" '%s'>\n", limitFileName); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Unable to read limit file --> '%s'", limitFileName); return fail; //We want to fail if we can't read the file because it is too easy to miss that the file wasn't picked up } return endOpt; @@ -732,7 +732,7 @@ TR_Debug::limitOption(char *option, void *base, TR::OptionTable *entry, TR::Opti if (!optLevelRegex || *p != '(') { if (!optLevelRegex) - TR_VerboseLog::write(" '%s'>\n", p); + TR_VerboseLog::writeLine(TR_Vlog_FAILURE, "Bad regular expression at --> '%s'", p); return option; } } @@ -980,17 +980,17 @@ TR_Debug::printFilters(TR::CompilationFilters * filters) void TR_Debug::printFilters() { - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(""); printFilters(_compilationFilters); - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(""); - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(""); printFilters(_relocationFilters); - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(""); - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(""); printFilters(_inlineFilters); - TR_VerboseLog::write("\n"); + TR_VerboseLog::writeLine(""); } void @@ -1010,7 +1010,7 @@ TR_Debug::printSamplingPoints() { if (filter->getFilterType() == TR_FILTER_SAMPLE_INTERPRETED) { - TR_VerboseLog::write("(%d)\tInterpreted %s.%s%s\tcount=%d\n", + TR_VerboseLog::writeLine("(%d)\tInterpreted %s.%s%s\tcount=%d", filter->getTickCount(), filter->getClass(), filter->getName(), filter->getSignature(), filter->getSampleCount() @@ -1018,7 +1018,7 @@ TR_Debug::printSamplingPoints() } else { - TR_VerboseLog::write("(%d)\tCompiled %s.%s%s\tlevel=%d%s\n", + TR_VerboseLog::writeLine("(%d)\tCompiled %s.%s%s\tlevel=%d%s", filter->getTickCount(), filter->getClass(), filter->getName(), filter->getSignature(), filter->getSampleLevel(), @@ -1038,7 +1038,7 @@ TR_Debug::scanFilterName(char *string, TR_FilterBST *filter) // Walk the filter to determine the type. // - //TR_VerboseLog::write("filterName: %s\n", string); + //TR_VerboseLog::writeLine("filterName: %s", string); char *nameChars = NULL; int32_t nameLen = 0; char *classChars = NULL; @@ -1365,7 +1365,7 @@ TR_Debug::loadCustomStrategy(char *fileName) { if (optCount >= (sizeof(optNumBuffer)/sizeof(optNumBuffer[0]))) { - TR_VerboseLog::write("length) entry->length = strlen(entry->name); - TR_VerboseLog::write("%*s%s",OPTION_NAME_INDENT," ",entry->name); + TR_VerboseLog::write("%*s%s", OPTION_NAME_INDENT, " ", entry->name); int32_t currentColumn = entry->length+OPTION_NAME_INDENT; // Set up the argument text @@ -237,7 +237,8 @@ void TR_Debug::dumpOptionHelp(TR::OptionTable * firstOjit, TR::OptionTable * fir TR_VerboseLog::write("%*s", DESCRIPTION_START_COLUMN-currentColumn, " "); else { - TR_VerboseLog::writeLine(TR_Vlog_INFO,"%*s", DESCRIPTION_START_COLUMN, " "); + TR_VerboseLog::writeLine(""); + TR_VerboseLog::write(TR_Vlog_INFO, "%*s", DESCRIPTION_START_COLUMN, " "); } currentColumn = DESCRIPTION_START_COLUMN; @@ -258,9 +259,10 @@ void TR_Debug::dumpOptionHelp(TR::OptionTable * firstOjit, TR::OptionTable * fir { if (lastWordBreak == start) lastWordBreak = i; - TR_VerboseLog::write("%.*s",lastWordBreak-start,entry->helpText+start); + TR_VerboseLog::write("%.*s", lastWordBreak-start, entry->helpText+start); currentColumn = DESCRIPTION_START_COLUMN + DESCRIPTION_TEXT_INDENT; - TR_VerboseLog::writeLine(TR_Vlog_INFO,"%*s", currentColumn, " "); + TR_VerboseLog::writeLine(""); + TR_VerboseLog::write(TR_Vlog_INFO, "%*s", currentColumn, " "); start = i = ++lastWordBreak; continue; } @@ -269,10 +271,11 @@ void TR_Debug::dumpOptionHelp(TR::OptionTable * firstOjit, TR::OptionTable * fir i++; } - TR_VerboseLog::write("%s",entry->helpText+start); + TR_VerboseLog::write("%s", entry->helpText+start); } } - TR_VerboseLog::writeLine(TR_Vlog_INFO,""); + TR_VerboseLog::writeLine(""); + TR_VerboseLog::writeLine(TR_Vlog_INFO, ""); } void @@ -501,10 +504,9 @@ TR_Debug::dumpOptions( #ifdef J9_PROJECT_SPECIFIC if (fej9->generateCompressedPointers()) { - TR_VerboseLog::writeLine(TR_Vlog_INFO," "); - TR_VerboseLog::write("compressedRefs shiftAmount=%d", TR::Compiler->om.compressedReferenceShift()); - TR_VerboseLog::writeLine(TR_Vlog_INFO," "); - TR_VerboseLog::write("compressedRefs isLowMemHeap=%d", (TR::Compiler->vm.heapBaseAddress() == 0)); + TR_VerboseLog::writeLine(""); + TR_VerboseLog::writeLine(TR_Vlog_INFO, " compressedRefs shiftAmount=%d", TR::Compiler->om.compressedReferenceShift()); + TR_VerboseLog::writeLine(TR_Vlog_INFO, " compressedRefs isLowMemHeap=%d", (TR::Compiler->vm.heapBaseAddress() == 0)); } #endif }