mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
Reviewed-by: kvn, dholmes, coleenp
This commit is contained in:
parent
f0d08c04f1
commit
447e7065d2
9 changed files with 252 additions and 359 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -75,4 +75,43 @@ define_pd_global(bool, UseMembar, false);
|
||||||
|
|
||||||
// GC Ergo Flags
|
// GC Ergo Flags
|
||||||
define_pd_global(intx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread
|
define_pd_global(intx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread
|
||||||
|
|
||||||
|
#define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct) \
|
||||||
|
\
|
||||||
|
product(intx, UseVIS, 99, \
|
||||||
|
"Highest supported VIS instructions set on Sparc") \
|
||||||
|
\
|
||||||
|
product(bool, UseCBCond, false, \
|
||||||
|
"Use compare and branch instruction on SPARC") \
|
||||||
|
\
|
||||||
|
product(bool, UseBlockZeroing, false, \
|
||||||
|
"Use special cpu instructions for block zeroing") \
|
||||||
|
\
|
||||||
|
product(intx, BlockZeroingLowLimit, 2048, \
|
||||||
|
"Minimum size in bytes when block zeroing will be used") \
|
||||||
|
\
|
||||||
|
product(bool, UseBlockCopy, false, \
|
||||||
|
"Use special cpu instructions for block copy") \
|
||||||
|
\
|
||||||
|
product(intx, BlockCopyLowLimit, 2048, \
|
||||||
|
"Minimum size in bytes when block copy will be used") \
|
||||||
|
\
|
||||||
|
develop(bool, UseV8InstrsOnly, false, \
|
||||||
|
"Use SPARC-V8 Compliant instruction subset") \
|
||||||
|
\
|
||||||
|
product(bool, UseNiagaraInstrs, false, \
|
||||||
|
"Use Niagara-efficient instruction subset") \
|
||||||
|
\
|
||||||
|
develop(bool, UseCASForSwap, false, \
|
||||||
|
"Do not use swap instructions, but only CAS (in a loop) on SPARC")\
|
||||||
|
\
|
||||||
|
product(uintx, ArraycopySrcPrefetchDistance, 0, \
|
||||||
|
"Distance to prefetch source array in arracopy") \
|
||||||
|
\
|
||||||
|
product(uintx, ArraycopyDstPrefetchDistance, 0, \
|
||||||
|
"Distance to prefetch destination array in arracopy") \
|
||||||
|
\
|
||||||
|
develop(intx, V8AtomicOperationUnderLockSpinCount, 50, \
|
||||||
|
"Number of times to spin wait on a v8 atomic operation lock") \
|
||||||
|
|
||||||
#endif // CPU_SPARC_VM_GLOBALS_SPARC_HPP
|
#endif // CPU_SPARC_VM_GLOBALS_SPARC_HPP
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -78,4 +78,53 @@ define_pd_global(bool, UseMembar, false);
|
||||||
|
|
||||||
// GC Ergo Flags
|
// GC Ergo Flags
|
||||||
define_pd_global(intx, CMSYoungGenPerWorker, 64*M); // default max size of CMS young gen, per GC worker thread
|
define_pd_global(intx, CMSYoungGenPerWorker, 64*M); // default max size of CMS young gen, per GC worker thread
|
||||||
|
|
||||||
|
#define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct) \
|
||||||
|
\
|
||||||
|
develop(bool, IEEEPrecision, true, \
|
||||||
|
"Enables IEEE precision (for INTEL only)") \
|
||||||
|
\
|
||||||
|
product(intx, FenceInstruction, 0, \
|
||||||
|
"(Unsafe,Unstable) Experimental") \
|
||||||
|
\
|
||||||
|
product(intx, ReadPrefetchInstr, 0, \
|
||||||
|
"Prefetch instruction to prefetch ahead") \
|
||||||
|
\
|
||||||
|
product(bool, UseStoreImmI16, true, \
|
||||||
|
"Use store immediate 16-bits value instruction on x86") \
|
||||||
|
\
|
||||||
|
product(intx, UseAVX, 99, \
|
||||||
|
"Highest supported AVX instructions set on x86/x64") \
|
||||||
|
\
|
||||||
|
diagnostic(bool, UseIncDec, true, \
|
||||||
|
"Use INC, DEC instructions on x86") \
|
||||||
|
\
|
||||||
|
product(bool, UseNewLongLShift, false, \
|
||||||
|
"Use optimized bitwise shift left") \
|
||||||
|
\
|
||||||
|
product(bool, UseAddressNop, false, \
|
||||||
|
"Use '0F 1F [addr]' NOP instructions on x86 cpus") \
|
||||||
|
\
|
||||||
|
product(bool, UseXmmLoadAndClearUpper, true, \
|
||||||
|
"Load low part of XMM register and clear upper part") \
|
||||||
|
\
|
||||||
|
product(bool, UseXmmRegToRegMoveAll, false, \
|
||||||
|
"Copy all XMM register bits when moving value between registers") \
|
||||||
|
\
|
||||||
|
product(bool, UseXmmI2D, false, \
|
||||||
|
"Use SSE2 CVTDQ2PD instruction to convert Integer to Double") \
|
||||||
|
\
|
||||||
|
product(bool, UseXmmI2F, false, \
|
||||||
|
"Use SSE2 CVTDQ2PS instruction to convert Integer to Float") \
|
||||||
|
\
|
||||||
|
product(bool, UseUnalignedLoadStores, false, \
|
||||||
|
"Use SSE2 MOVDQU instruction for Arraycopy") \
|
||||||
|
\
|
||||||
|
/* assembler */ \
|
||||||
|
product(bool, Use486InstrsOnly, false, \
|
||||||
|
"Use 80486 Compliant instruction subset") \
|
||||||
|
\
|
||||||
|
product(bool, UseCountLeadingZerosInstruction, false, \
|
||||||
|
"Use count leading zeros instruction") \
|
||||||
|
|
||||||
#endif // CPU_X86_VM_GLOBALS_X86_HPP
|
#endif // CPU_X86_VM_GLOBALS_X86_HPP
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
|
* Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -60,4 +60,7 @@ define_pd_global(bool, UseMembar, false);
|
||||||
|
|
||||||
// GC Ergo Flags
|
// GC Ergo Flags
|
||||||
define_pd_global(intx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread
|
define_pd_global(intx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread
|
||||||
|
|
||||||
|
#define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct)
|
||||||
|
|
||||||
#endif // CPU_ZERO_VM_GLOBALS_ZERO_HPP
|
#endif // CPU_ZERO_VM_GLOBALS_ZERO_HPP
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -156,18 +156,12 @@
|
||||||
develop(bool, CanonicalizeNodes, true, \
|
develop(bool, CanonicalizeNodes, true, \
|
||||||
"Canonicalize graph nodes") \
|
"Canonicalize graph nodes") \
|
||||||
\
|
\
|
||||||
develop(bool, CanonicalizeExperimental, false, \
|
|
||||||
"Canonicalize graph nodes, experimental code") \
|
|
||||||
\
|
|
||||||
develop(bool, PrintCanonicalization, false, \
|
develop(bool, PrintCanonicalization, false, \
|
||||||
"Print graph node canonicalization") \
|
"Print graph node canonicalization") \
|
||||||
\
|
\
|
||||||
develop(bool, UseTableRanges, true, \
|
develop(bool, UseTableRanges, true, \
|
||||||
"Faster versions of lookup table using ranges") \
|
"Faster versions of lookup table using ranges") \
|
||||||
\
|
\
|
||||||
develop(bool, UseFastExceptionHandling, true, \
|
|
||||||
"Faster handling of exceptions") \
|
|
||||||
\
|
|
||||||
develop_pd(bool, RoundFPResults, \
|
develop_pd(bool, RoundFPResults, \
|
||||||
"Indicates whether rounding is needed for floating point results")\
|
"Indicates whether rounding is needed for floating point results")\
|
||||||
\
|
\
|
||||||
|
@ -224,9 +218,6 @@
|
||||||
develop(bool, PinAllInstructions, false, \
|
develop(bool, PinAllInstructions, false, \
|
||||||
"All instructions are pinned") \
|
"All instructions are pinned") \
|
||||||
\
|
\
|
||||||
develop(bool, ValueStackPinStackAll, true, \
|
|
||||||
"Pinning in ValueStack pin everything") \
|
|
||||||
\
|
|
||||||
develop(bool, UseFastNewInstance, true, \
|
develop(bool, UseFastNewInstance, true, \
|
||||||
"Use fast inlined instance allocation") \
|
"Use fast inlined instance allocation") \
|
||||||
\
|
\
|
||||||
|
|
|
@ -353,27 +353,9 @@
|
||||||
develop(bool, StressRecompilation, false, \
|
develop(bool, StressRecompilation, false, \
|
||||||
"Recompile each compiled method without subsuming loads or escape analysis.") \
|
"Recompile each compiled method without subsuming loads or escape analysis.") \
|
||||||
\
|
\
|
||||||
/* controls for tier 1 compilations */ \
|
|
||||||
\
|
|
||||||
develop(bool, Tier1CountInvocations, true, \
|
|
||||||
"Generate code, during tier 1, to update invocation counter") \
|
|
||||||
\
|
|
||||||
product(intx, Tier1Inline, false, \
|
|
||||||
"enable inlining during tier 1") \
|
|
||||||
\
|
|
||||||
product(intx, Tier1MaxInlineSize, 8, \
|
|
||||||
"maximum bytecode size of a method to be inlined, during tier 1") \
|
|
||||||
\
|
|
||||||
product(intx, Tier1FreqInlineSize, 35, \
|
|
||||||
"max bytecode size of a frequent method to be inlined, tier 1") \
|
|
||||||
\
|
|
||||||
develop(intx, ImplicitNullCheckThreshold, 3, \
|
develop(intx, ImplicitNullCheckThreshold, 3, \
|
||||||
"Don't do implicit null checks if NPE's in a method exceeds limit") \
|
"Don't do implicit null checks if NPE's in a method exceeds limit") \
|
||||||
\
|
\
|
||||||
/* controls for loop optimization */ \
|
|
||||||
product(intx, Tier1LoopOptsCount, 0, \
|
|
||||||
"Set level of loop optimization for tier 1 compiles") \
|
|
||||||
\
|
|
||||||
product(intx, LoopOptsCount, 43, \
|
product(intx, LoopOptsCount, 43, \
|
||||||
"Set level of loop optimization for tier 1 compiles") \
|
"Set level of loop optimization for tier 1 compiles") \
|
||||||
\
|
\
|
||||||
|
@ -505,6 +487,116 @@
|
||||||
\
|
\
|
||||||
product(bool, BlockLayoutRotateLoops, true, \
|
product(bool, BlockLayoutRotateLoops, true, \
|
||||||
"Allow back branches to be fall throughs in the block layour") \
|
"Allow back branches to be fall throughs in the block layour") \
|
||||||
|
\
|
||||||
|
develop(bool, InlineReflectionGetCallerClass, true, \
|
||||||
|
"inline sun.reflect.Reflection.getCallerClass(), known to be part "\
|
||||||
|
"of base library DLL") \
|
||||||
|
\
|
||||||
|
develop(bool, InlineObjectCopy, true, \
|
||||||
|
"inline Object.clone and Arrays.copyOf[Range] intrinsics") \
|
||||||
|
\
|
||||||
|
develop(bool, SpecialStringCompareTo, true, \
|
||||||
|
"special version of string compareTo") \
|
||||||
|
\
|
||||||
|
develop(bool, SpecialStringIndexOf, true, \
|
||||||
|
"special version of string indexOf") \
|
||||||
|
\
|
||||||
|
develop(bool, SpecialStringEquals, true, \
|
||||||
|
"special version of string equals") \
|
||||||
|
\
|
||||||
|
develop(bool, SpecialArraysEquals, true, \
|
||||||
|
"special version of Arrays.equals(char[],char[])") \
|
||||||
|
\
|
||||||
|
develop(bool, BailoutToInterpreterForThrows, false, \
|
||||||
|
"Compiled methods which throws/catches exceptions will be " \
|
||||||
|
"deopt and intp.") \
|
||||||
|
\
|
||||||
|
develop(bool, ConvertCmpD2CmpF, true, \
|
||||||
|
"Convert cmpD to cmpF when one input is constant in float range") \
|
||||||
|
\
|
||||||
|
develop(bool, ConvertFloat2IntClipping, true, \
|
||||||
|
"Convert float2int clipping idiom to integer clipping") \
|
||||||
|
\
|
||||||
|
develop(bool, Use24BitFPMode, true, \
|
||||||
|
"Set 24-bit FPU mode on a per-compile basis ") \
|
||||||
|
\
|
||||||
|
develop(bool, Use24BitFP, true, \
|
||||||
|
"use FP instructions that produce 24-bit precise results") \
|
||||||
|
\
|
||||||
|
develop(bool, MonomorphicArrayCheck, true, \
|
||||||
|
"Uncommon-trap array store checks that require full type check") \
|
||||||
|
\
|
||||||
|
notproduct(bool, TracePhaseCCP, false, \
|
||||||
|
"Print progress during Conditional Constant Propagation") \
|
||||||
|
\
|
||||||
|
develop(bool, PrintDominators, false, \
|
||||||
|
"Print out dominator trees for GVN") \
|
||||||
|
\
|
||||||
|
notproduct(bool, TraceSpilling, false, \
|
||||||
|
"Trace spilling") \
|
||||||
|
\
|
||||||
|
notproduct(bool, TraceTypeProfile, false, \
|
||||||
|
"Trace type profile") \
|
||||||
|
\
|
||||||
|
develop(bool, PoisonOSREntry, true, \
|
||||||
|
"Detect abnormal calls to OSR code") \
|
||||||
|
\
|
||||||
|
product(bool, UseCondCardMark, false, \
|
||||||
|
"Check for already marked card before updating card table") \
|
||||||
|
\
|
||||||
|
develop(bool, SoftMatchFailure, trueInProduct, \
|
||||||
|
"If the DFA fails to match a node, print a message and bail out") \
|
||||||
|
\
|
||||||
|
develop(bool, InlineAccessors, true, \
|
||||||
|
"inline accessor methods (get/set)") \
|
||||||
|
\
|
||||||
|
product(intx, TypeProfileMajorReceiverPercent, 90, \
|
||||||
|
"% of major receiver type to all profiled receivers") \
|
||||||
|
\
|
||||||
|
notproduct(bool, TimeCompiler2, false, \
|
||||||
|
"detailed time the compiler (requires +TimeCompiler)") \
|
||||||
|
\
|
||||||
|
diagnostic(bool, PrintIntrinsics, false, \
|
||||||
|
"prints attempted and successful inlining of intrinsics") \
|
||||||
|
\
|
||||||
|
diagnostic(ccstrlist, DisableIntrinsic, "", \
|
||||||
|
"do not expand intrinsics whose (internal) names appear here") \
|
||||||
|
\
|
||||||
|
develop(bool, StressReflectiveCode, false, \
|
||||||
|
"Use inexact types at allocations, etc., to test reflection") \
|
||||||
|
\
|
||||||
|
diagnostic(bool, DebugInlinedCalls, true, \
|
||||||
|
"If false, restricts profiled locations to the root method only") \
|
||||||
|
\
|
||||||
|
notproduct(bool, VerifyLoopOptimizations, false, \
|
||||||
|
"verify major loop optimizations") \
|
||||||
|
\
|
||||||
|
diagnostic(bool, ProfileDynamicTypes, true, \
|
||||||
|
"do extra type profiling and use it more aggressively") \
|
||||||
|
\
|
||||||
|
develop(bool, TraceIterativeGVN, false, \
|
||||||
|
"Print progress during Iterative Global Value Numbering") \
|
||||||
|
\
|
||||||
|
develop(bool, VerifyIterativeGVN, false, \
|
||||||
|
"Verify Def-Use modifications during sparse Iterative Global " \
|
||||||
|
"Value Numbering") \
|
||||||
|
\
|
||||||
|
notproduct(bool, TraceCISCSpill, false, \
|
||||||
|
"Trace allocators use of cisc spillable instructions") \
|
||||||
|
\
|
||||||
|
product(bool, SplitIfBlocks, true, \
|
||||||
|
"Clone compares and control flow through merge points to fold " \
|
||||||
|
"some branches") \
|
||||||
|
\
|
||||||
|
develop(intx, FreqCountInvocations, 1, \
|
||||||
|
"Scaling factor for branch frequencies (deprecated)") \
|
||||||
|
\
|
||||||
|
product(intx, AliasLevel, 3, \
|
||||||
|
"0 for no aliasing, 1 for oop/field/static/array split, " \
|
||||||
|
"2 for class split, 3 for unique instances") \
|
||||||
|
\
|
||||||
|
develop(bool, VerifyAliases, false, \
|
||||||
|
"perform extra checks on the results of alias analysis") \
|
||||||
|
|
||||||
C2_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
|
C2_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
|
||||||
|
|
||||||
|
|
|
@ -880,46 +880,6 @@ JRT_LEAF(void, OptoRuntime::profile_receiver_type_C(DataLayout* data, oopDesc* r
|
||||||
}
|
}
|
||||||
JRT_END
|
JRT_END
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// implicit exception support.
|
|
||||||
|
|
||||||
static void report_null_exception_in_code_cache(address exception_pc) {
|
|
||||||
ResourceMark rm;
|
|
||||||
CodeBlob* n = CodeCache::find_blob(exception_pc);
|
|
||||||
if (n != NULL) {
|
|
||||||
tty->print_cr("#");
|
|
||||||
tty->print_cr("# HotSpot Runtime Error, null exception in generated code");
|
|
||||||
tty->print_cr("#");
|
|
||||||
tty->print_cr("# pc where exception happened = " INTPTR_FORMAT, exception_pc);
|
|
||||||
|
|
||||||
if (n->is_nmethod()) {
|
|
||||||
methodOop method = ((nmethod*)n)->method();
|
|
||||||
tty->print_cr("# Method where it happened %s.%s ", Klass::cast(method->method_holder())->name()->as_C_string(), method->name()->as_C_string());
|
|
||||||
tty->print_cr("#");
|
|
||||||
if (ShowMessageBoxOnError && UpdateHotSpotCompilerFileOnError &&
|
|
||||||
CompilerOracle::has_command_file()) {
|
|
||||||
const char* title = "HotSpot Runtime Error";
|
|
||||||
const char* question = "Do you want to exclude compilation of this method in future runs?";
|
|
||||||
if (os::message_box(title, question)) {
|
|
||||||
CompilerOracle::append_comment_to_file("");
|
|
||||||
CompilerOracle::append_comment_to_file("Null exception in compiled code resulted in the following exclude");
|
|
||||||
CompilerOracle::append_comment_to_file("");
|
|
||||||
CompilerOracle::append_exclude_to_file(method);
|
|
||||||
tty->print_cr("#");
|
|
||||||
tty->print_cr("# %s has been updated to exclude the specified method", CompileCommandFile);
|
|
||||||
tty->print_cr("#");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fatal("Implicit null exception happened in compiled method");
|
|
||||||
} else {
|
|
||||||
n->print();
|
|
||||||
fatal("Implicit null exception happened in generated stub");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fatal("Implicit null exception at wrong place");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------
|
||||||
// register policy
|
// register policy
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,6 @@
|
||||||
#include "shark/shark_globals.hpp"
|
#include "shark/shark_globals.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
RUNTIME_FLAGS(MATERIALIZE_DEVELOPER_FLAG, MATERIALIZE_PD_DEVELOPER_FLAG, \
|
RUNTIME_FLAGS(MATERIALIZE_DEVELOPER_FLAG, MATERIALIZE_PD_DEVELOPER_FLAG, \
|
||||||
MATERIALIZE_PRODUCT_FLAG, MATERIALIZE_PD_PRODUCT_FLAG, \
|
MATERIALIZE_PRODUCT_FLAG, MATERIALIZE_PD_PRODUCT_FLAG, \
|
||||||
MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_EXPERIMENTAL_FLAG, \
|
MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_EXPERIMENTAL_FLAG, \
|
||||||
|
@ -55,6 +54,10 @@ RUNTIME_OS_FLAGS(MATERIALIZE_DEVELOPER_FLAG, MATERIALIZE_PD_DEVELOPER_FLAG, \
|
||||||
MATERIALIZE_PRODUCT_FLAG, MATERIALIZE_PD_PRODUCT_FLAG, \
|
MATERIALIZE_PRODUCT_FLAG, MATERIALIZE_PD_PRODUCT_FLAG, \
|
||||||
MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_NOTPRODUCT_FLAG)
|
MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_NOTPRODUCT_FLAG)
|
||||||
|
|
||||||
|
ARCH_FLAGS(MATERIALIZE_DEVELOPER_FLAG, MATERIALIZE_PRODUCT_FLAG, \
|
||||||
|
MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_EXPERIMENTAL_FLAG, \
|
||||||
|
MATERIALIZE_NOTPRODUCT_FLAG)
|
||||||
|
|
||||||
MATERIALIZE_FLAGS_EXT
|
MATERIALIZE_FLAGS_EXT
|
||||||
|
|
||||||
|
|
||||||
|
@ -212,7 +215,6 @@ void Flag::print_as_flag(outputStream* st) {
|
||||||
#define C1_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, doc, "{C1 notproduct}", DEFAULT },
|
#define C1_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, doc, "{C1 notproduct}", DEFAULT },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define C2_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{C2 product}", DEFAULT },
|
#define C2_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{C2 product}", DEFAULT },
|
||||||
#define C2_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{C2 pd product}", DEFAULT },
|
#define C2_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{C2 pd product}", DEFAULT },
|
||||||
#define C2_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{C2 diagnostic}", DEFAULT },
|
#define C2_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{C2 diagnostic}", DEFAULT },
|
||||||
|
@ -227,6 +229,17 @@ void Flag::print_as_flag(outputStream* st) {
|
||||||
#define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, doc, "{C2 notproduct}", DEFAULT },
|
#define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, doc, "{C2 notproduct}", DEFAULT },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define ARCH_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{ARCH product}", DEFAULT },
|
||||||
|
#define ARCH_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{ARCH diagnostic}", DEFAULT },
|
||||||
|
#define ARCH_EXPERIMENTAL_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{ARCH experimental}", DEFAULT },
|
||||||
|
#ifdef PRODUCT
|
||||||
|
#define ARCH_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */
|
||||||
|
#define ARCH_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc)
|
||||||
|
#else
|
||||||
|
#define ARCH_DEVELOP_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, doc, "{ARCH}", DEFAULT },
|
||||||
|
#define ARCH_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, doc, "{ARCH notproduct}", DEFAULT },
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SHARK_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{Shark product}", DEFAULT },
|
#define SHARK_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{Shark product}", DEFAULT },
|
||||||
#define SHARK_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{Shark pd product}", DEFAULT },
|
#define SHARK_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{Shark pd product}", DEFAULT },
|
||||||
#define SHARK_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{Shark diagnostic}", DEFAULT },
|
#define SHARK_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, NOT_PRODUCT_ARG(doc) "{Shark diagnostic}", DEFAULT },
|
||||||
|
@ -255,6 +268,7 @@ static Flag flagTable[] = {
|
||||||
#ifdef SHARK
|
#ifdef SHARK
|
||||||
SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT)
|
SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT)
|
||||||
#endif
|
#endif
|
||||||
|
ARCH_FLAGS(ARCH_DEVELOP_FLAG_STRUCT, ARCH_PRODUCT_FLAG_STRUCT, ARCH_DIAGNOSTIC_FLAG_STRUCT, ARCH_EXPERIMENTAL_FLAG_STRUCT, ARCH_NOTPRODUCT_FLAG_STRUCT)
|
||||||
FLAGTABLE_EXT
|
FLAGTABLE_EXT
|
||||||
{0, NULL, NULL}
|
{0, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
|
@ -530,12 +530,6 @@ class CommandLineFlags {
|
||||||
product(intx, UseSSE, 99, \
|
product(intx, UseSSE, 99, \
|
||||||
"Highest supported SSE instructions set on x86/x64") \
|
"Highest supported SSE instructions set on x86/x64") \
|
||||||
\
|
\
|
||||||
product(intx, UseAVX, 99, \
|
|
||||||
"Highest supported AVX instructions set on x86/x64") \
|
|
||||||
\
|
|
||||||
product(intx, UseVIS, 99, \
|
|
||||||
"Highest supported VIS instructions set on Sparc") \
|
|
||||||
\
|
|
||||||
product(uintx, LargePageSizeInBytes, 0, \
|
product(uintx, LargePageSizeInBytes, 0, \
|
||||||
"Large page size (0 to let VM choose the page size") \
|
"Large page size (0 to let VM choose the page size") \
|
||||||
\
|
\
|
||||||
|
@ -572,10 +566,6 @@ class CommandLineFlags {
|
||||||
product(bool, PrintVMQWaitTime, false, \
|
product(bool, PrintVMQWaitTime, false, \
|
||||||
"Prints out the waiting time in VM operation queue") \
|
"Prints out the waiting time in VM operation queue") \
|
||||||
\
|
\
|
||||||
develop(bool, BailoutToInterpreterForThrows, false, \
|
|
||||||
"Compiled methods which throws/catches exceptions will be " \
|
|
||||||
"deopt and intp.") \
|
|
||||||
\
|
|
||||||
develop(bool, NoYieldsInMicrolock, false, \
|
develop(bool, NoYieldsInMicrolock, false, \
|
||||||
"Disable yields in microlock") \
|
"Disable yields in microlock") \
|
||||||
\
|
\
|
||||||
|
@ -618,9 +608,6 @@ class CommandLineFlags {
|
||||||
"inline Object::hashCode() native that is known to be part " \
|
"inline Object::hashCode() native that is known to be part " \
|
||||||
"of base library DLL") \
|
"of base library DLL") \
|
||||||
\
|
\
|
||||||
develop(bool, InlineObjectCopy, true, \
|
|
||||||
"inline Object.clone and Arrays.copyOf[Range] intrinsics") \
|
|
||||||
\
|
|
||||||
develop(bool, InlineNatives, true, \
|
develop(bool, InlineNatives, true, \
|
||||||
"inline natives that are known to be part of base library DLL") \
|
"inline natives that are known to be part of base library DLL") \
|
||||||
\
|
\
|
||||||
|
@ -633,31 +620,9 @@ class CommandLineFlags {
|
||||||
develop(bool, InlineThreadNatives, true, \
|
develop(bool, InlineThreadNatives, true, \
|
||||||
"inline Thread.currentThread, etc") \
|
"inline Thread.currentThread, etc") \
|
||||||
\
|
\
|
||||||
develop(bool, InlineReflectionGetCallerClass, true, \
|
|
||||||
"inline sun.reflect.Reflection.getCallerClass(), known to be part "\
|
|
||||||
"of base library DLL") \
|
|
||||||
\
|
|
||||||
develop(bool, InlineUnsafeOps, true, \
|
develop(bool, InlineUnsafeOps, true, \
|
||||||
"inline memory ops (native methods) from sun.misc.Unsafe") \
|
"inline memory ops (native methods) from sun.misc.Unsafe") \
|
||||||
\
|
\
|
||||||
develop(bool, ConvertCmpD2CmpF, true, \
|
|
||||||
"Convert cmpD to cmpF when one input is constant in float range") \
|
|
||||||
\
|
|
||||||
develop(bool, ConvertFloat2IntClipping, true, \
|
|
||||||
"Convert float2int clipping idiom to integer clipping") \
|
|
||||||
\
|
|
||||||
develop(bool, SpecialStringCompareTo, true, \
|
|
||||||
"special version of string compareTo") \
|
|
||||||
\
|
|
||||||
develop(bool, SpecialStringIndexOf, true, \
|
|
||||||
"special version of string indexOf") \
|
|
||||||
\
|
|
||||||
develop(bool, SpecialStringEquals, true, \
|
|
||||||
"special version of string equals") \
|
|
||||||
\
|
|
||||||
develop(bool, SpecialArraysEquals, true, \
|
|
||||||
"special version of Arrays.equals(char[],char[])") \
|
|
||||||
\
|
|
||||||
product(bool, CriticalJNINatives, true, \
|
product(bool, CriticalJNINatives, true, \
|
||||||
"check for critical JNI entry points") \
|
"check for critical JNI entry points") \
|
||||||
\
|
\
|
||||||
|
@ -667,9 +632,6 @@ class CommandLineFlags {
|
||||||
product(bool, UseSSE42Intrinsics, false, \
|
product(bool, UseSSE42Intrinsics, false, \
|
||||||
"SSE4.2 versions of intrinsics") \
|
"SSE4.2 versions of intrinsics") \
|
||||||
\
|
\
|
||||||
product(bool, UseCondCardMark, false, \
|
|
||||||
"Check for already marked card before updating card table") \
|
|
||||||
\
|
|
||||||
develop(bool, TraceCallFixup, false, \
|
develop(bool, TraceCallFixup, false, \
|
||||||
"traces all call fixups") \
|
"traces all call fixups") \
|
||||||
\
|
\
|
||||||
|
@ -756,9 +718,6 @@ class CommandLineFlags {
|
||||||
develop(bool, ForceFloatExceptions, trueInDebug, \
|
develop(bool, ForceFloatExceptions, trueInDebug, \
|
||||||
"Force exceptions on FP stack under/overflow") \
|
"Force exceptions on FP stack under/overflow") \
|
||||||
\
|
\
|
||||||
develop(bool, SoftMatchFailure, trueInProduct, \
|
|
||||||
"If the DFA fails to match a node, print a message and bail out") \
|
|
||||||
\
|
|
||||||
develop(bool, VerifyStackAtCalls, false, \
|
develop(bool, VerifyStackAtCalls, false, \
|
||||||
"Verify that the stack pointer is unchanged after calls") \
|
"Verify that the stack pointer is unchanged after calls") \
|
||||||
\
|
\
|
||||||
|
@ -915,15 +874,6 @@ class CommandLineFlags {
|
||||||
"1: allow scavenging from the code cache; " \
|
"1: allow scavenging from the code cache; " \
|
||||||
"2: emit as many constants as the compiler can see") \
|
"2: emit as many constants as the compiler can see") \
|
||||||
\
|
\
|
||||||
diagnostic(bool, TraceOSRBreakpoint, false, \
|
|
||||||
"Trace OSR Breakpoint ") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, TraceCompileTriggered, false, \
|
|
||||||
"Trace compile triggered") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, TraceTriggers, false, \
|
|
||||||
"Trace triggers") \
|
|
||||||
\
|
|
||||||
product(bool, AlwaysRestoreFPU, false, \
|
product(bool, AlwaysRestoreFPU, false, \
|
||||||
"Restore the FPU control word after every JNI call (expensive)") \
|
"Restore the FPU control word after every JNI call (expensive)") \
|
||||||
\
|
\
|
||||||
|
@ -1037,9 +987,6 @@ class CommandLineFlags {
|
||||||
develop(bool, UsePrivilegedStack, true, \
|
develop(bool, UsePrivilegedStack, true, \
|
||||||
"Enable the security JVM functions") \
|
"Enable the security JVM functions") \
|
||||||
\
|
\
|
||||||
develop(bool, IEEEPrecision, true, \
|
|
||||||
"Enables IEEE precision (for INTEL only)") \
|
|
||||||
\
|
|
||||||
develop(bool, ProtectionDomainVerification, true, \
|
develop(bool, ProtectionDomainVerification, true, \
|
||||||
"Verifies protection domain before resolution in system " \
|
"Verifies protection domain before resolution in system " \
|
||||||
"dictionary") \
|
"dictionary") \
|
||||||
|
@ -1109,8 +1056,6 @@ class CommandLineFlags {
|
||||||
"(Unsafe,Unstable) " \
|
"(Unsafe,Unstable) " \
|
||||||
" Controls emission of inline sync fast-path code") \
|
" Controls emission of inline sync fast-path code") \
|
||||||
\
|
\
|
||||||
product(intx, AlwaysInflate, 0, "(Unstable) Force inflation") \
|
|
||||||
\
|
|
||||||
product(intx, MonitorBound, 0, "Bound Monitor population") \
|
product(intx, MonitorBound, 0, "Bound Monitor population") \
|
||||||
\
|
\
|
||||||
product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \
|
product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \
|
||||||
|
@ -1118,9 +1063,6 @@ class CommandLineFlags {
|
||||||
product(intx, Atomics, 0, \
|
product(intx, Atomics, 0, \
|
||||||
"(Unsafe,Unstable) Diagnostic - Controls emission of atomics") \
|
"(Unsafe,Unstable) Diagnostic - Controls emission of atomics") \
|
||||||
\
|
\
|
||||||
product(intx, FenceInstruction, 0, \
|
|
||||||
"(Unsafe,Unstable) Experimental") \
|
|
||||||
\
|
|
||||||
product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \
|
product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \
|
||||||
\
|
\
|
||||||
product(intx, SyncVerbose, 0, "(Unstable)" ) \
|
product(intx, SyncVerbose, 0, "(Unstable)" ) \
|
||||||
|
@ -1150,10 +1092,6 @@ class CommandLineFlags {
|
||||||
"call thr_setconcurrency at thread create time to avoid " \
|
"call thr_setconcurrency at thread create time to avoid " \
|
||||||
"LWP starvation on MP systems (For Solaris Only)") \
|
"LWP starvation on MP systems (For Solaris Only)") \
|
||||||
\
|
\
|
||||||
develop(bool, UpdateHotSpotCompilerFileOnError, true, \
|
|
||||||
"Should the system attempt to update the compiler file when " \
|
|
||||||
"an error occurs?") \
|
|
||||||
\
|
|
||||||
product(bool, ReduceSignalUsage, false, \
|
product(bool, ReduceSignalUsage, false, \
|
||||||
"Reduce the use of OS signals in Java and/or the VM") \
|
"Reduce the use of OS signals in Java and/or the VM") \
|
||||||
\
|
\
|
||||||
|
@ -1188,15 +1126,6 @@ class CommandLineFlags {
|
||||||
"Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM " \
|
"Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM " \
|
||||||
"internal signals (Solaris only)") \
|
"internal signals (Solaris only)") \
|
||||||
\
|
\
|
||||||
product(bool, UseSpinning, false, \
|
|
||||||
"Use spinning in monitor inflation and before entry") \
|
|
||||||
\
|
|
||||||
product(bool, PreSpinYield, false, \
|
|
||||||
"Yield before inner spinning loop") \
|
|
||||||
\
|
|
||||||
product(bool, PostSpinYield, true, \
|
|
||||||
"Yield after inner spinning loop") \
|
|
||||||
\
|
|
||||||
product(bool, AllowJNIEnvProxy, false, \
|
product(bool, AllowJNIEnvProxy, false, \
|
||||||
"Allow JNIEnv proxies for jdbx") \
|
"Allow JNIEnv proxies for jdbx") \
|
||||||
\
|
\
|
||||||
|
@ -1225,39 +1154,9 @@ class CommandLineFlags {
|
||||||
product(bool, LazyBootClassLoader, true, \
|
product(bool, LazyBootClassLoader, true, \
|
||||||
"Enable/disable lazy opening of boot class path entries") \
|
"Enable/disable lazy opening of boot class path entries") \
|
||||||
\
|
\
|
||||||
diagnostic(bool, UseIncDec, true, \
|
|
||||||
"Use INC, DEC instructions on x86") \
|
|
||||||
\
|
|
||||||
product(bool, UseNewLongLShift, false, \
|
|
||||||
"Use optimized bitwise shift left") \
|
|
||||||
\
|
|
||||||
product(bool, UseStoreImmI16, true, \
|
|
||||||
"Use store immediate 16-bits value instruction on x86") \
|
|
||||||
\
|
|
||||||
product(bool, UseAddressNop, false, \
|
|
||||||
"Use '0F 1F [addr]' NOP instructions on x86 cpus") \
|
|
||||||
\
|
|
||||||
product(bool, UseXmmLoadAndClearUpper, true, \
|
|
||||||
"Load low part of XMM register and clear upper part") \
|
|
||||||
\
|
|
||||||
product(bool, UseXmmRegToRegMoveAll, false, \
|
|
||||||
"Copy all XMM register bits when moving value between registers") \
|
|
||||||
\
|
|
||||||
product(bool, UseXmmI2D, false, \
|
|
||||||
"Use SSE2 CVTDQ2PD instruction to convert Integer to Double") \
|
|
||||||
\
|
|
||||||
product(bool, UseXmmI2F, false, \
|
|
||||||
"Use SSE2 CVTDQ2PS instruction to convert Integer to Float") \
|
|
||||||
\
|
|
||||||
product(bool, UseXMMForArrayCopy, false, \
|
product(bool, UseXMMForArrayCopy, false, \
|
||||||
"Use SSE2 MOVQ instruction for Arraycopy") \
|
"Use SSE2 MOVQ instruction for Arraycopy") \
|
||||||
\
|
\
|
||||||
product(bool, UseUnalignedLoadStores, false, \
|
|
||||||
"Use SSE2 MOVDQU instruction for Arraycopy") \
|
|
||||||
\
|
|
||||||
product(bool, UseCBCond, false, \
|
|
||||||
"Use compare and branch instruction on SPARC") \
|
|
||||||
\
|
|
||||||
product(intx, FieldsAllocationStyle, 1, \
|
product(intx, FieldsAllocationStyle, 1, \
|
||||||
"0 - type based with oops first, 1 - with oops last, " \
|
"0 - type based with oops first, 1 - with oops last, " \
|
||||||
"2 - oops in super and sub classes are together") \
|
"2 - oops in super and sub classes are together") \
|
||||||
|
@ -1387,9 +1286,6 @@ class CommandLineFlags {
|
||||||
develop(bool, TraceStartupTime, false, \
|
develop(bool, TraceStartupTime, false, \
|
||||||
"Trace setup time") \
|
"Trace setup time") \
|
||||||
\
|
\
|
||||||
product(ccstr, HPILibPath, NULL, \
|
|
||||||
"Specify alternate path to HPI library") \
|
|
||||||
\
|
|
||||||
develop(bool, TraceProtectionDomainVerification, false, \
|
develop(bool, TraceProtectionDomainVerification, false, \
|
||||||
"Trace protection domain verifcation") \
|
"Trace protection domain verifcation") \
|
||||||
\
|
\
|
||||||
|
@ -1405,10 +1301,6 @@ class CommandLineFlags {
|
||||||
product(bool, TraceMonitorInflation, false, \
|
product(bool, TraceMonitorInflation, false, \
|
||||||
"Trace monitor inflation in JVM") \
|
"Trace monitor inflation in JVM") \
|
||||||
\
|
\
|
||||||
/* assembler */ \
|
|
||||||
product(bool, Use486InstrsOnly, false, \
|
|
||||||
"Use 80486 Compliant instruction subset") \
|
|
||||||
\
|
|
||||||
/* gc */ \
|
/* gc */ \
|
||||||
\
|
\
|
||||||
product(bool, UseSerialGC, false, \
|
product(bool, UseSerialGC, false, \
|
||||||
|
@ -1467,9 +1359,6 @@ class CommandLineFlags {
|
||||||
develop(uintx, ParallelOldGCSplitInterval, 3, \
|
develop(uintx, ParallelOldGCSplitInterval, 3, \
|
||||||
"How often to provoke splitting a young gen space") \
|
"How often to provoke splitting a young gen space") \
|
||||||
\
|
\
|
||||||
develop(bool, TraceRegionTasksQueuing, false, \
|
|
||||||
"Trace the queuing of the region tasks") \
|
|
||||||
\
|
|
||||||
product(uintx, ConcGCThreads, 0, \
|
product(uintx, ConcGCThreads, 0, \
|
||||||
"Number of threads concurrent gc will use") \
|
"Number of threads concurrent gc will use") \
|
||||||
\
|
\
|
||||||
|
@ -1621,10 +1510,6 @@ class CommandLineFlags {
|
||||||
"The gain in the feedback loop for on-the-fly PLAB resizing" \
|
"The gain in the feedback loop for on-the-fly PLAB resizing" \
|
||||||
" during a scavenge") \
|
" during a scavenge") \
|
||||||
\
|
\
|
||||||
product(uintx, CMSOldPLABReactivityCeiling, 10, \
|
|
||||||
"The clamping of the gain in the feedback loop for on-the-fly" \
|
|
||||||
" PLAB resizing during a scavenge") \
|
|
||||||
\
|
|
||||||
product(bool, AlwaysPreTouch, false, \
|
product(bool, AlwaysPreTouch, false, \
|
||||||
"It forces all freshly committed pages to be pre-touched.") \
|
"It forces all freshly committed pages to be pre-touched.") \
|
||||||
\
|
\
|
||||||
|
@ -1632,12 +1517,6 @@ class CommandLineFlags {
|
||||||
"The maximum size of young gen chosen by default per GC worker " \
|
"The maximum size of young gen chosen by default per GC worker " \
|
||||||
"thread available") \
|
"thread available") \
|
||||||
\
|
\
|
||||||
product(bool, GCOverheadReporting, false, \
|
|
||||||
"Enables the GC overhead reporting facility") \
|
|
||||||
\
|
|
||||||
product(intx, GCOverheadReportingPeriodMS, 100, \
|
|
||||||
"Reporting period for conc GC overhead reporting, in ms ") \
|
|
||||||
\
|
|
||||||
product(bool, CMSIncrementalMode, false, \
|
product(bool, CMSIncrementalMode, false, \
|
||||||
"Whether CMS GC should operate in \"incremental\" mode") \
|
"Whether CMS GC should operate in \"incremental\" mode") \
|
||||||
\
|
\
|
||||||
|
@ -2017,9 +1896,6 @@ class CommandLineFlags {
|
||||||
experimental(uintx, WorkStealingSpinToYieldRatio, 10, \
|
experimental(uintx, WorkStealingSpinToYieldRatio, 10, \
|
||||||
"Ratio of hard spins to calls to yield") \
|
"Ratio of hard spins to calls to yield") \
|
||||||
\
|
\
|
||||||
product(uintx, PreserveMarkStackSize, 1024, \
|
|
||||||
"Size for stack used in promotion failure handling") \
|
|
||||||
\
|
|
||||||
develop(uintx, ObjArrayMarkingStride, 512, \
|
develop(uintx, ObjArrayMarkingStride, 512, \
|
||||||
"Number of ObjArray elements to push onto the marking stack" \
|
"Number of ObjArray elements to push onto the marking stack" \
|
||||||
"before pushing a continuation entry") \
|
"before pushing a continuation entry") \
|
||||||
|
@ -2044,18 +1920,6 @@ class CommandLineFlags {
|
||||||
product(bool, TLABStats, true, \
|
product(bool, TLABStats, true, \
|
||||||
"Print various TLAB related information") \
|
"Print various TLAB related information") \
|
||||||
\
|
\
|
||||||
product(bool, UseBlockZeroing, false, \
|
|
||||||
"Use special cpu instructions for block zeroing") \
|
|
||||||
\
|
|
||||||
product(intx, BlockZeroingLowLimit, 2048, \
|
|
||||||
"Minimum size in bytes when block zeroing will be used") \
|
|
||||||
\
|
|
||||||
product(bool, UseBlockCopy, false, \
|
|
||||||
"Use special cpu instructions for block copy") \
|
|
||||||
\
|
|
||||||
product(intx, BlockCopyLowLimit, 2048, \
|
|
||||||
"Minimum size in bytes when block copy will be used") \
|
|
||||||
\
|
|
||||||
product(bool, PrintRevisitStats, false, \
|
product(bool, PrintRevisitStats, false, \
|
||||||
"Print revisit (klass and MDO) stack related information") \
|
"Print revisit (klass and MDO) stack related information") \
|
||||||
\
|
\
|
||||||
|
@ -2248,9 +2112,6 @@ class CommandLineFlags {
|
||||||
product(intx, PrefetchFieldsAhead, -1, \
|
product(intx, PrefetchFieldsAhead, -1, \
|
||||||
"How many fields ahead to prefetch in oop scan (<= 0 means off)") \
|
"How many fields ahead to prefetch in oop scan (<= 0 means off)") \
|
||||||
\
|
\
|
||||||
develop(bool, UsePrefetchQueue, true, \
|
|
||||||
"Use the prefetch queue during PS promotion") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, VerifyBeforeExit, trueInDebug, \
|
diagnostic(bool, VerifyBeforeExit, trueInDebug, \
|
||||||
"Verify system before exiting") \
|
"Verify system before exiting") \
|
||||||
\
|
\
|
||||||
|
@ -2486,27 +2347,9 @@ class CommandLineFlags {
|
||||||
develop(bool, CITraceTypeFlow, false, \
|
develop(bool, CITraceTypeFlow, false, \
|
||||||
"detailed per-bytecode tracing of ciTypeFlow analysis") \
|
"detailed per-bytecode tracing of ciTypeFlow analysis") \
|
||||||
\
|
\
|
||||||
develop(intx, CICloneLoopTestLimit, 100, \
|
|
||||||
"size limit for blocks heuristically cloned in ciTypeFlow") \
|
|
||||||
\
|
|
||||||
develop(intx, OSROnlyBCI, -1, \
|
develop(intx, OSROnlyBCI, -1, \
|
||||||
"OSR only at this bci. Negative values mean exclude that bci") \
|
"OSR only at this bci. Negative values mean exclude that bci") \
|
||||||
\
|
\
|
||||||
/* temp diagnostics */ \
|
|
||||||
\
|
|
||||||
diagnostic(bool, TraceRedundantCompiles, false, \
|
|
||||||
"Have compile broker print when a request already in the queue is"\
|
|
||||||
" requested again") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, InitialCompileFast, false, \
|
|
||||||
"Initial compile at CompLevel_fast_compile") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, InitialCompileReallyFast, false, \
|
|
||||||
"Initial compile at CompLevel_really_fast_compile (no profile)") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, FullProfileOnReInterpret, true, \
|
|
||||||
"On re-interpret unc-trap compile next at CompLevel_fast_compile")\
|
|
||||||
\
|
|
||||||
/* compiler */ \
|
/* compiler */ \
|
||||||
\
|
\
|
||||||
product(intx, CICompilerCount, CI_COMPILER_COUNT, \
|
product(intx, CICompilerCount, CI_COMPILER_COUNT, \
|
||||||
|
@ -2520,12 +2363,6 @@ class CommandLineFlags {
|
||||||
"proper StackOverflow handling; disable only to measure cost " \
|
"proper StackOverflow handling; disable only to measure cost " \
|
||||||
"of stackbanging)") \
|
"of stackbanging)") \
|
||||||
\
|
\
|
||||||
develop(bool, Use24BitFPMode, true, \
|
|
||||||
"Set 24-bit FPU mode on a per-compile basis ") \
|
|
||||||
\
|
|
||||||
develop(bool, Use24BitFP, true, \
|
|
||||||
"use FP instructions that produce 24-bit precise results") \
|
|
||||||
\
|
|
||||||
develop(bool, UseStrictFP, true, \
|
develop(bool, UseStrictFP, true, \
|
||||||
"use strict fp if modifier strictfp is set") \
|
"use strict fp if modifier strictfp is set") \
|
||||||
\
|
\
|
||||||
|
@ -2557,9 +2394,6 @@ class CommandLineFlags {
|
||||||
"print the break down of clean up tasks performed during" \
|
"print the break down of clean up tasks performed during" \
|
||||||
" safepoint") \
|
" safepoint") \
|
||||||
\
|
\
|
||||||
develop(bool, InlineAccessors, true, \
|
|
||||||
"inline accessor methods (get/set)") \
|
|
||||||
\
|
|
||||||
product(bool, Inline, true, \
|
product(bool, Inline, true, \
|
||||||
"enable inlining") \
|
"enable inlining") \
|
||||||
\
|
\
|
||||||
|
@ -2572,33 +2406,15 @@ class CommandLineFlags {
|
||||||
product(bool, UseTypeProfile, true, \
|
product(bool, UseTypeProfile, true, \
|
||||||
"Check interpreter profile for historically monomorphic calls") \
|
"Check interpreter profile for historically monomorphic calls") \
|
||||||
\
|
\
|
||||||
product(intx, TypeProfileMajorReceiverPercent, 90, \
|
|
||||||
"% of major receiver type to all profiled receivers") \
|
|
||||||
\
|
|
||||||
notproduct(bool, TimeCompiler, false, \
|
notproduct(bool, TimeCompiler, false, \
|
||||||
"time the compiler") \
|
"time the compiler") \
|
||||||
\
|
\
|
||||||
notproduct(bool, TimeCompiler2, false, \
|
|
||||||
"detailed time the compiler (requires +TimeCompiler)") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, PrintInlining, false, \
|
diagnostic(bool, PrintInlining, false, \
|
||||||
"prints inlining optimizations") \
|
"prints inlining optimizations") \
|
||||||
\
|
\
|
||||||
diagnostic(bool, PrintIntrinsics, false, \
|
|
||||||
"prints attempted and successful inlining of intrinsics") \
|
|
||||||
\
|
|
||||||
product(bool, UseCountLeadingZerosInstruction, false, \
|
|
||||||
"Use count leading zeros instruction") \
|
|
||||||
\
|
|
||||||
product(bool, UsePopCountInstruction, false, \
|
product(bool, UsePopCountInstruction, false, \
|
||||||
"Use population count instruction") \
|
"Use population count instruction") \
|
||||||
\
|
\
|
||||||
diagnostic(ccstrlist, DisableIntrinsic, "", \
|
|
||||||
"do not expand intrinsics whose (internal) names appear here") \
|
|
||||||
\
|
|
||||||
develop(bool, StressReflectiveCode, false, \
|
|
||||||
"Use inexact types at allocations, etc., to test reflection") \
|
|
||||||
\
|
|
||||||
develop(bool, EagerInitialization, false, \
|
develop(bool, EagerInitialization, false, \
|
||||||
"Eagerly initialize classes if possible") \
|
"Eagerly initialize classes if possible") \
|
||||||
\
|
\
|
||||||
|
@ -2608,10 +2424,6 @@ class CommandLineFlags {
|
||||||
develop(bool, PrintMethodFlushing, false, \
|
develop(bool, PrintMethodFlushing, false, \
|
||||||
"print the nmethods being flushed") \
|
"print the nmethods being flushed") \
|
||||||
\
|
\
|
||||||
notproduct(bool, LogMultipleMutexLocking, false, \
|
|
||||||
"log locking and unlocking of mutexes (only if multiple locks " \
|
|
||||||
"are held)") \
|
|
||||||
\
|
|
||||||
develop(bool, UseRelocIndex, false, \
|
develop(bool, UseRelocIndex, false, \
|
||||||
"use an index to speed random access to relocations") \
|
"use an index to speed random access to relocations") \
|
||||||
\
|
\
|
||||||
|
@ -2621,9 +2433,6 @@ class CommandLineFlags {
|
||||||
diagnostic(bool, DebugNonSafepoints, trueInDebug, \
|
diagnostic(bool, DebugNonSafepoints, trueInDebug, \
|
||||||
"Generate extra debugging info for non-safepoints in nmethods") \
|
"Generate extra debugging info for non-safepoints in nmethods") \
|
||||||
\
|
\
|
||||||
diagnostic(bool, DebugInlinedCalls, true, \
|
|
||||||
"If false, restricts profiled locations to the root method only") \
|
|
||||||
\
|
|
||||||
product(bool, PrintVMOptions, false, \
|
product(bool, PrintVMOptions, false, \
|
||||||
"Print flags that appeared on the command line") \
|
"Print flags that appeared on the command line") \
|
||||||
\
|
\
|
||||||
|
@ -2700,9 +2509,6 @@ class CommandLineFlags {
|
||||||
notproduct(bool, IgnoreLockingAssertions, false, \
|
notproduct(bool, IgnoreLockingAssertions, false, \
|
||||||
"disable locking assertions (for speed)") \
|
"disable locking assertions (for speed)") \
|
||||||
\
|
\
|
||||||
notproduct(bool, VerifyLoopOptimizations, false, \
|
|
||||||
"verify major loop optimizations") \
|
|
||||||
\
|
|
||||||
product(bool, RangeCheckElimination, true, \
|
product(bool, RangeCheckElimination, true, \
|
||||||
"Split loop iterations to eliminate range checks") \
|
"Split loop iterations to eliminate range checks") \
|
||||||
\
|
\
|
||||||
|
@ -2712,12 +2518,6 @@ class CommandLineFlags {
|
||||||
develop(bool, TypeProfileCasts, true, \
|
develop(bool, TypeProfileCasts, true, \
|
||||||
"treat casts like calls for purposes of type profiling") \
|
"treat casts like calls for purposes of type profiling") \
|
||||||
\
|
\
|
||||||
develop(bool, MonomorphicArrayCheck, true, \
|
|
||||||
"Uncommon-trap array store checks that require full type check") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, ProfileDynamicTypes, true, \
|
|
||||||
"do extra type profiling and use it more aggressively") \
|
|
||||||
\
|
|
||||||
develop(bool, DelayCompilationDuringStartup, true, \
|
develop(bool, DelayCompilationDuringStartup, true, \
|
||||||
"Delay invoking the compiler until main application class is " \
|
"Delay invoking the compiler until main application class is " \
|
||||||
"loaded") \
|
"loaded") \
|
||||||
|
@ -2732,19 +2532,9 @@ class CommandLineFlags {
|
||||||
notproduct(intx, CompileTheWorldSafepointInterval, 100, \
|
notproduct(intx, CompileTheWorldSafepointInterval, 100, \
|
||||||
"Force a safepoint every n compiles so sweeper can keep up") \
|
"Force a safepoint every n compiles so sweeper can keep up") \
|
||||||
\
|
\
|
||||||
develop(bool, TraceIterativeGVN, false, \
|
|
||||||
"Print progress during Iterative Global Value Numbering") \
|
|
||||||
\
|
|
||||||
develop(bool, FillDelaySlots, true, \
|
develop(bool, FillDelaySlots, true, \
|
||||||
"Fill delay slots (on SPARC only)") \
|
"Fill delay slots (on SPARC only)") \
|
||||||
\
|
\
|
||||||
develop(bool, VerifyIterativeGVN, false, \
|
|
||||||
"Verify Def-Use modifications during sparse Iterative Global " \
|
|
||||||
"Value Numbering") \
|
|
||||||
\
|
|
||||||
notproduct(bool, TracePhaseCCP, false, \
|
|
||||||
"Print progress during Conditional Constant Propagation") \
|
|
||||||
\
|
|
||||||
develop(bool, TimeLivenessAnalysis, false, \
|
develop(bool, TimeLivenessAnalysis, false, \
|
||||||
"Time computation of bytecode liveness analysis") \
|
"Time computation of bytecode liveness analysis") \
|
||||||
\
|
\
|
||||||
|
@ -2757,22 +2547,9 @@ class CommandLineFlags {
|
||||||
notproduct(bool, CollectIndexSetStatistics, false, \
|
notproduct(bool, CollectIndexSetStatistics, false, \
|
||||||
"Collect information about IndexSets") \
|
"Collect information about IndexSets") \
|
||||||
\
|
\
|
||||||
develop(bool, PrintDominators, false, \
|
|
||||||
"Print out dominator trees for GVN") \
|
|
||||||
\
|
|
||||||
develop(bool, UseLoopSafepoints, true, \
|
develop(bool, UseLoopSafepoints, true, \
|
||||||
"Generate Safepoint nodes in every loop") \
|
"Generate Safepoint nodes in every loop") \
|
||||||
\
|
\
|
||||||
notproduct(bool, TraceCISCSpill, false, \
|
|
||||||
"Trace allocators use of cisc spillable instructions") \
|
|
||||||
\
|
|
||||||
notproduct(bool, TraceSpilling, false, \
|
|
||||||
"Trace spilling") \
|
|
||||||
\
|
|
||||||
product(bool, SplitIfBlocks, true, \
|
|
||||||
"Clone compares and control flow through merge points to fold " \
|
|
||||||
"some branches") \
|
|
||||||
\
|
|
||||||
develop(intx, FastAllocateSizeLimit, 128*K, \
|
develop(intx, FastAllocateSizeLimit, 128*K, \
|
||||||
/* Note: This value is zero mod 1<<13 for a cheap sparc set. */ \
|
/* Note: This value is zero mod 1<<13 for a cheap sparc set. */ \
|
||||||
"Inline allocations larger than this in doublewords must go slow")\
|
"Inline allocations larger than this in doublewords must go slow")\
|
||||||
|
@ -2829,15 +2606,6 @@ class CommandLineFlags {
|
||||||
develop(bool, UseFastSignatureHandlers, true, \
|
develop(bool, UseFastSignatureHandlers, true, \
|
||||||
"Use fast signature handlers for native calls") \
|
"Use fast signature handlers for native calls") \
|
||||||
\
|
\
|
||||||
develop(bool, UseV8InstrsOnly, false, \
|
|
||||||
"Use SPARC-V8 Compliant instruction subset") \
|
|
||||||
\
|
|
||||||
product(bool, UseNiagaraInstrs, false, \
|
|
||||||
"Use Niagara-efficient instruction subset") \
|
|
||||||
\
|
|
||||||
develop(bool, UseCASForSwap, false, \
|
|
||||||
"Do not use swap instructions, but only CAS (in a loop) on SPARC")\
|
|
||||||
\
|
|
||||||
product(bool, UseLoopCounter, true, \
|
product(bool, UseLoopCounter, true, \
|
||||||
"Increment invocation counter on backward branch") \
|
"Increment invocation counter on backward branch") \
|
||||||
\
|
\
|
||||||
|
@ -2854,9 +2622,6 @@ class CommandLineFlags {
|
||||||
notproduct(bool, TraceOnStackReplacement, false, \
|
notproduct(bool, TraceOnStackReplacement, false, \
|
||||||
"Trace on stack replacement") \
|
"Trace on stack replacement") \
|
||||||
\
|
\
|
||||||
develop(bool, PoisonOSREntry, true, \
|
|
||||||
"Detect abnormal calls to OSR code") \
|
|
||||||
\
|
|
||||||
product_pd(bool, PreferInterpreterNativeStubs, \
|
product_pd(bool, PreferInterpreterNativeStubs, \
|
||||||
"Use always interpreter stubs for native methods invoked via " \
|
"Use always interpreter stubs for native methods invoked via " \
|
||||||
"interpreter") \
|
"interpreter") \
|
||||||
|
@ -2899,9 +2664,6 @@ class CommandLineFlags {
|
||||||
develop(bool, TraceFrequencyInlining, false, \
|
develop(bool, TraceFrequencyInlining, false, \
|
||||||
"Trace frequency based inlining") \
|
"Trace frequency based inlining") \
|
||||||
\
|
\
|
||||||
notproduct(bool, TraceTypeProfile, false, \
|
|
||||||
"Trace type profile") \
|
|
||||||
\
|
|
||||||
develop_pd(bool, InlineIntrinsics, \
|
develop_pd(bool, InlineIntrinsics, \
|
||||||
"Inline intrinsics that can be statically resolved") \
|
"Inline intrinsics that can be statically resolved") \
|
||||||
\
|
\
|
||||||
|
@ -2989,15 +2751,6 @@ class CommandLineFlags {
|
||||||
product(intx, AllocatePrefetchInstr, 0, \
|
product(intx, AllocatePrefetchInstr, 0, \
|
||||||
"Prefetch instruction to prefetch ahead of allocation pointer") \
|
"Prefetch instruction to prefetch ahead of allocation pointer") \
|
||||||
\
|
\
|
||||||
product(intx, ReadPrefetchInstr, 0, \
|
|
||||||
"Prefetch instruction to prefetch ahead") \
|
|
||||||
\
|
|
||||||
product(uintx, ArraycopySrcPrefetchDistance, 0, \
|
|
||||||
"Distance to prefetch source array in arracopy") \
|
|
||||||
\
|
|
||||||
product(uintx, ArraycopyDstPrefetchDistance, 0, \
|
|
||||||
"Distance to prefetch destination array in arracopy") \
|
|
||||||
\
|
|
||||||
/* deoptimization */ \
|
/* deoptimization */ \
|
||||||
develop(bool, TraceDeoptimization, false, \
|
develop(bool, TraceDeoptimization, false, \
|
||||||
"Trace deoptimization") \
|
"Trace deoptimization") \
|
||||||
|
@ -3088,9 +2841,6 @@ class CommandLineFlags {
|
||||||
product(intx, MinInliningThreshold, 250, \
|
product(intx, MinInliningThreshold, 250, \
|
||||||
"min. invocation count a method needs to have to be inlined") \
|
"min. invocation count a method needs to have to be inlined") \
|
||||||
\
|
\
|
||||||
develop(intx, AlignEntryCode, 4, \
|
|
||||||
"aligns entry code to specified value (in bytes)") \
|
|
||||||
\
|
|
||||||
develop(intx, MethodHistogramCutoff, 100, \
|
develop(intx, MethodHistogramCutoff, 100, \
|
||||||
"cutoff value for method invoc. histogram (+CountCalls)") \
|
"cutoff value for method invoc. histogram (+CountCalls)") \
|
||||||
\
|
\
|
||||||
|
@ -3130,9 +2880,6 @@ class CommandLineFlags {
|
||||||
"Minimum sleep() interval (milliseconds) when " \
|
"Minimum sleep() interval (milliseconds) when " \
|
||||||
"ConvertSleepToYield is off (used for SOLARIS)") \
|
"ConvertSleepToYield is off (used for SOLARIS)") \
|
||||||
\
|
\
|
||||||
product(intx, EventLogLength, 2000, \
|
|
||||||
"maximum nof events in event log") \
|
|
||||||
\
|
|
||||||
develop(intx, ProfilerPCTickThreshold, 15, \
|
develop(intx, ProfilerPCTickThreshold, 15, \
|
||||||
"Number of ticks in a PC buckets to be a hotspot") \
|
"Number of ticks in a PC buckets to be a hotspot") \
|
||||||
\
|
\
|
||||||
|
@ -3171,9 +2918,6 @@ class CommandLineFlags {
|
||||||
product(intx, PerBytecodeTrapLimit, 4, \
|
product(intx, PerBytecodeTrapLimit, 4, \
|
||||||
"Limit on traps (of one kind) at a particular BCI") \
|
"Limit on traps (of one kind) at a particular BCI") \
|
||||||
\
|
\
|
||||||
develop(intx, FreqCountInvocations, 1, \
|
|
||||||
"Scaling factor for branch frequencies (deprecated)") \
|
|
||||||
\
|
|
||||||
develop(intx, InlineFrequencyRatio, 20, \
|
develop(intx, InlineFrequencyRatio, 20, \
|
||||||
"Ratio of call site execution to caller method invocation") \
|
"Ratio of call site execution to caller method invocation") \
|
||||||
\
|
\
|
||||||
|
@ -3187,29 +2931,12 @@ class CommandLineFlags {
|
||||||
develop(intx, InlineThrowMaxSize, 200, \
|
develop(intx, InlineThrowMaxSize, 200, \
|
||||||
"Force inlining of throwing methods smaller than this") \
|
"Force inlining of throwing methods smaller than this") \
|
||||||
\
|
\
|
||||||
product(intx, AliasLevel, 3, \
|
|
||||||
"0 for no aliasing, 1 for oop/field/static/array split, " \
|
|
||||||
"2 for class split, 3 for unique instances") \
|
|
||||||
\
|
|
||||||
develop(bool, VerifyAliases, false, \
|
|
||||||
"perform extra checks on the results of alias analysis") \
|
|
||||||
\
|
|
||||||
develop(intx, ProfilerNodeSize, 1024, \
|
develop(intx, ProfilerNodeSize, 1024, \
|
||||||
"Size in K to allocate for the Profile Nodes of each thread") \
|
"Size in K to allocate for the Profile Nodes of each thread") \
|
||||||
\
|
\
|
||||||
develop(intx, V8AtomicOperationUnderLockSpinCount, 50, \
|
|
||||||
"Number of times to spin wait on a v8 atomic operation lock") \
|
|
||||||
\
|
|
||||||
product(intx, ReadSpinIterations, 100, \
|
|
||||||
"Number of read attempts before a yield (spin inner loop)") \
|
|
||||||
\
|
|
||||||
product_pd(intx, PreInflateSpin, \
|
product_pd(intx, PreInflateSpin, \
|
||||||
"Number of times to spin wait before inflation") \
|
"Number of times to spin wait before inflation") \
|
||||||
\
|
\
|
||||||
product(intx, PreBlockSpin, 10, \
|
|
||||||
"Number of times to spin in an inflated lock before going to " \
|
|
||||||
"an OS lock") \
|
|
||||||
\
|
|
||||||
/* gc parameters */ \
|
/* gc parameters */ \
|
||||||
product(uintx, InitialHeapSize, 0, \
|
product(uintx, InitialHeapSize, 0, \
|
||||||
"Initial heap size (in bytes); zero means OldSize + NewSize") \
|
"Initial heap size (in bytes); zero means OldSize + NewSize") \
|
||||||
|
@ -3466,10 +3193,6 @@ class CommandLineFlags {
|
||||||
"(non-negative value throws OOM after this many CI accesses " \
|
"(non-negative value throws OOM after this many CI accesses " \
|
||||||
"in each compile)") \
|
"in each compile)") \
|
||||||
\
|
\
|
||||||
develop(intx, CIFireOOMAtDelay, -1, \
|
|
||||||
"Wait for this many CI accesses to occur in all compiles before " \
|
|
||||||
"beginning to throw OutOfMemoryErrors in each compile") \
|
|
||||||
\
|
|
||||||
notproduct(bool, CIObjectFactoryVerify, false, \
|
notproduct(bool, CIObjectFactoryVerify, false, \
|
||||||
"enable potentially expensive verification in ciObjectFactory") \
|
"enable potentially expensive verification in ciObjectFactory") \
|
||||||
\
|
\
|
||||||
|
@ -3663,9 +3386,6 @@ class CommandLineFlags {
|
||||||
product(bool, PrintTieredEvents, false, \
|
product(bool, PrintTieredEvents, false, \
|
||||||
"Print tiered events notifications") \
|
"Print tiered events notifications") \
|
||||||
\
|
\
|
||||||
product(bool, StressTieredRuntime, false, \
|
|
||||||
"Alternate client and server compiler on compile requests") \
|
|
||||||
\
|
|
||||||
product_pd(intx, OnStackReplacePercentage, \
|
product_pd(intx, OnStackReplacePercentage, \
|
||||||
"NON_TIERED number of method invocations/branches (expressed as %"\
|
"NON_TIERED number of method invocations/branches (expressed as %"\
|
||||||
"of CompileThreshold) before (re-)compiling OSR code") \
|
"of CompileThreshold) before (re-)compiling OSR code") \
|
||||||
|
@ -3835,9 +3555,6 @@ class CommandLineFlags {
|
||||||
"support JSR 292 (method handles, invokedynamic, " \
|
"support JSR 292 (method handles, invokedynamic, " \
|
||||||
"anonymous classes") \
|
"anonymous classes") \
|
||||||
\
|
\
|
||||||
product(bool, AnonymousClasses, false, \
|
|
||||||
"support sun.misc.Unsafe.defineAnonymousClass (deprecated)") \
|
|
||||||
\
|
|
||||||
diagnostic(bool, PrintMethodHandleStubs, false, \
|
diagnostic(bool, PrintMethodHandleStubs, false, \
|
||||||
"Print generated stub code for method handles") \
|
"Print generated stub code for method handles") \
|
||||||
\
|
\
|
||||||
|
@ -3952,6 +3669,8 @@ RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT
|
||||||
|
|
||||||
RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG)
|
RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG)
|
||||||
|
|
||||||
|
ARCH_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
|
||||||
|
|
||||||
// Extensions
|
// Extensions
|
||||||
|
|
||||||
#include "runtime/globals_ext.hpp"
|
#include "runtime/globals_ext.hpp"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -66,7 +66,6 @@
|
||||||
#define C1_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
#define C1_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define C2_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
#define C2_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
#define C2_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name),
|
#define C2_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name),
|
||||||
#define C2_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
#define C2_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
|
@ -81,6 +80,17 @@
|
||||||
#define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
#define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define ARCH_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
|
#define ARCH_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
|
#define ARCH_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
|
#ifdef PRODUCT
|
||||||
|
#define ARCH_DEVELOP_FLAG_MEMBER(type, name, value, doc) /* flag is constant */
|
||||||
|
#define ARCH_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc)
|
||||||
|
#else
|
||||||
|
#define ARCH_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
|
#define ARCH_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER, RUNTIME_LP64_PRODUCT_FLAG_MEMBER)
|
RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER, RUNTIME_LP64_PRODUCT_FLAG_MEMBER)
|
||||||
RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER)
|
RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER)
|
||||||
|
@ -93,6 +103,7 @@ typedef enum {
|
||||||
#ifdef COMPILER2
|
#ifdef COMPILER2
|
||||||
C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, C2_PD_DEVELOP_FLAG_MEMBER, C2_PRODUCT_FLAG_MEMBER, C2_PD_PRODUCT_FLAG_MEMBER, C2_DIAGNOSTIC_FLAG_MEMBER, C2_EXPERIMENTAL_FLAG_MEMBER, C2_NOTPRODUCT_FLAG_MEMBER)
|
C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, C2_PD_DEVELOP_FLAG_MEMBER, C2_PRODUCT_FLAG_MEMBER, C2_PD_PRODUCT_FLAG_MEMBER, C2_DIAGNOSTIC_FLAG_MEMBER, C2_EXPERIMENTAL_FLAG_MEMBER, C2_NOTPRODUCT_FLAG_MEMBER)
|
||||||
#endif
|
#endif
|
||||||
|
ARCH_FLAGS(ARCH_DEVELOP_FLAG_MEMBER, ARCH_PRODUCT_FLAG_MEMBER, ARCH_DIAGNOSTIC_FLAG_MEMBER, ARCH_EXPERIMENTAL_FLAG_MEMBER, ARCH_NOTPRODUCT_FLAG_MEMBER)
|
||||||
COMMANDLINEFLAG_EXT
|
COMMANDLINEFLAG_EXT
|
||||||
NUM_CommandLineFlag
|
NUM_CommandLineFlag
|
||||||
} CommandLineFlag;
|
} CommandLineFlag;
|
||||||
|
@ -134,7 +145,6 @@ typedef enum {
|
||||||
#define RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) /* flag is constant */
|
#define RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) /* flag is constant */
|
||||||
#endif // _LP64
|
#endif // _LP64
|
||||||
|
|
||||||
|
|
||||||
#define C2_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
#define C2_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
#define C2_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
#define C2_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
#define C2_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
#define C2_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
|
@ -149,6 +159,17 @@ typedef enum {
|
||||||
#define C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
#define C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define ARCH_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
|
#define ARCH_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
|
#define ARCH_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
|
#ifdef PRODUCT
|
||||||
|
#define ARCH_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) /* flag is constant */
|
||||||
|
#define ARCH_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc)
|
||||||
|
#else
|
||||||
|
#define ARCH_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
|
#define ARCH_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
|
RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
|
||||||
RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
|
RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
|
||||||
|
@ -193,6 +214,11 @@ typedef enum {
|
||||||
C2_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
|
C2_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
|
||||||
C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE)
|
C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE)
|
||||||
#endif
|
#endif
|
||||||
|
ARCH_FLAGS(ARCH_DEVELOP_FLAG_MEMBER_WITH_TYPE,
|
||||||
|
ARCH_PRODUCT_FLAG_MEMBER_WITH_TYPE,
|
||||||
|
ARCH_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
|
||||||
|
ARCH_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
|
||||||
|
ARCH_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE)
|
||||||
COMMANDLINEFLAGWITHTYPE_EXT
|
COMMANDLINEFLAGWITHTYPE_EXT
|
||||||
NUM_CommandLineFlagWithType
|
NUM_CommandLineFlagWithType
|
||||||
} CommandLineFlagWithType;
|
} CommandLineFlagWithType;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue