8257634: C2: Introduce IncrementalInliningForceCleanup diagnostic flag
Reviewed-by: kvn, adityam, thartmann
This commit is contained in:
parent
af6b7f9c55
commit
fd6756ee2b
src/hotspot/share
@ -70,6 +70,7 @@ NOT_PRODUCT(cflags(PrintIdeal, bool, PrintIdeal, PrintIdeal)) \
|
||||
cflags(CloneMapDebug, bool, false, CloneMapDebug) \
|
||||
NOT_PRODUCT(cflags(IGVPrintLevel, intx, PrintIdealGraphLevel, IGVPrintLevel)) \
|
||||
cflags(VectorizeDebug, uintx, 0, VectorizeDebug) \
|
||||
cflags(IncrementalInlineForceCleanup, bool, IncrementalInlineForceCleanup, IncrementalInlineForceCleanup) \
|
||||
cflags(MaxNodeLimit, intx, MaxNodeLimit, MaxNodeLimit)
|
||||
#else
|
||||
#define compilerdirectives_c2_flags(cflags)
|
||||
|
@ -83,6 +83,7 @@ class methodHandle;
|
||||
option(Vectorize, "Vectorize", Bool) \
|
||||
option(VectorizeDebug, "VectorizeDebug", Uintx) \
|
||||
option(CloneMapDebug, "CloneMapDebug", Bool) \
|
||||
option(IncrementalInlineForceCleanup, "IncrementalInlineForceCleanup", Bool) \
|
||||
option(MaxNodeLimit, "MaxNodeLimit", Intx) \
|
||||
NOT_PRODUCT(option(TestOptionInt, "TestOptionInt", Intx)) \
|
||||
NOT_PRODUCT(option(TestOptionUint, "TestOptionUint", Uintx)) \
|
||||
|
@ -716,6 +716,9 @@
|
||||
develop(bool, AlwaysIncrementalInline, false, \
|
||||
"do all inlining incrementally") \
|
||||
\
|
||||
product(bool, IncrementalInlineForceCleanup, false, DIAGNOSTIC, \
|
||||
"do cleanup after every iteration of incremental inlining") \
|
||||
\
|
||||
product(intx, LiveNodeCountInliningCutoff, 40000, \
|
||||
"max number of live nodes in a method") \
|
||||
range(0, max_juint / 8) \
|
||||
|
@ -1880,7 +1880,9 @@ bool Compile::inline_incrementally_one() {
|
||||
|
||||
set_inlining_progress(false);
|
||||
set_do_cleanup(false);
|
||||
return (_late_inlines.length() > 0) && !needs_cleanup;
|
||||
|
||||
bool force_cleanup = directive()->IncrementalInlineForceCleanupOption;
|
||||
return (_late_inlines.length() > 0) && !needs_cleanup && !force_cleanup;
|
||||
}
|
||||
|
||||
void Compile::inline_incrementally_cleanup(PhaseIterGVN& igvn) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user