1573 UseInterpreter = false;
1574 BackgroundCompilation = false;
1575 ClipInlining = false;
1576 // Be much more aggressive in tiered mode with -Xcomp and exercise C2 more.
1577 // We will first compile a level 3 version (C1 with full profiling), then do one invocation of it and
1578 // compile a level 4 (C2) and then continue executing it.
1579 if (TieredCompilation) {
1580 Tier3InvokeNotifyFreqLog = 0;
1581 Tier4InvocationThreshold = 0;
1582 }
1583 break;
1584 }
1585 }
1586
1587 // Conflict: required to use shared spaces (-Xshare:on), but
1588 // incompatible command line options were chosen.
1589 static void no_shared_spaces(const char* message) {
1590 if (RequireSharedSpaces) {
1591 jio_fprintf(defaultStream::error_stream(),
1592 "Class data sharing is inconsistent with other specified options.\n");
1593 vm_exit_during_initialization("Unable to use shared archive.", message);
1594 } else {
1595 FLAG_SET_DEFAULT(UseSharedSpaces, false);
1596 }
1597 }
1598
1599 void set_object_alignment() {
1600 // Object alignment.
1601 assert(is_power_of_2(ObjectAlignmentInBytes), "ObjectAlignmentInBytes must be power of 2");
1602 MinObjAlignmentInBytes = ObjectAlignmentInBytes;
1603 assert(MinObjAlignmentInBytes >= HeapWordsPerLong * HeapWordSize, "ObjectAlignmentInBytes value is too small");
1604 MinObjAlignment = MinObjAlignmentInBytes / HeapWordSize;
1605 assert(MinObjAlignmentInBytes == MinObjAlignment * HeapWordSize, "ObjectAlignmentInBytes value is incorrect");
1606 MinObjAlignmentInBytesMask = MinObjAlignmentInBytes - 1;
1607
1608 LogMinObjAlignmentInBytes = exact_log2(ObjectAlignmentInBytes);
1609 LogMinObjAlignment = LogMinObjAlignmentInBytes - LogHeapWordSize;
1610
1611 // Oop encoding heap max
1612 OopEncodingHeapMax = (uint64_t(max_juint) + 1) << LogMinObjAlignmentInBytes;
1613
|
1573 UseInterpreter = false;
1574 BackgroundCompilation = false;
1575 ClipInlining = false;
1576 // Be much more aggressive in tiered mode with -Xcomp and exercise C2 more.
1577 // We will first compile a level 3 version (C1 with full profiling), then do one invocation of it and
1578 // compile a level 4 (C2) and then continue executing it.
1579 if (TieredCompilation) {
1580 Tier3InvokeNotifyFreqLog = 0;
1581 Tier4InvocationThreshold = 0;
1582 }
1583 break;
1584 }
1585 }
1586
1587 // Conflict: required to use shared spaces (-Xshare:on), but
1588 // incompatible command line options were chosen.
1589 static void no_shared_spaces(const char* message) {
1590 if (RequireSharedSpaces) {
1591 jio_fprintf(defaultStream::error_stream(),
1592 "Class data sharing is inconsistent with other specified options.\n");
1593 vm_exit_during_initialization("Unable to use shared archive", message);
1594 } else {
1595 FLAG_SET_DEFAULT(UseSharedSpaces, false);
1596 }
1597 }
1598
1599 void set_object_alignment() {
1600 // Object alignment.
1601 assert(is_power_of_2(ObjectAlignmentInBytes), "ObjectAlignmentInBytes must be power of 2");
1602 MinObjAlignmentInBytes = ObjectAlignmentInBytes;
1603 assert(MinObjAlignmentInBytes >= HeapWordsPerLong * HeapWordSize, "ObjectAlignmentInBytes value is too small");
1604 MinObjAlignment = MinObjAlignmentInBytes / HeapWordSize;
1605 assert(MinObjAlignmentInBytes == MinObjAlignment * HeapWordSize, "ObjectAlignmentInBytes value is incorrect");
1606 MinObjAlignmentInBytesMask = MinObjAlignmentInBytes - 1;
1607
1608 LogMinObjAlignmentInBytes = exact_log2(ObjectAlignmentInBytes);
1609 LogMinObjAlignment = LogMinObjAlignmentInBytes - LogHeapWordSize;
1610
1611 // Oop encoding heap max
1612 OopEncodingHeapMax = (uint64_t(max_juint) + 1) << LogMinObjAlignmentInBytes;
1613
|