comparison src/share/vm/opto/c2_globals.hpp @ 6633:a5dd6e3ef9f3

6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp Reviewed-by: kvn, dholmes, coleenp Contributed-by: Tao Mao <tao.mao@oracle.com>
author twisti
date Mon, 27 Aug 2012 15:17:17 -0700
parents 6f8f439e247d
children 9d89c76b0505
comparison
equal deleted inserted replaced
6632:a1c7f6472621 6633:a5dd6e3ef9f3
351 "Attempt to compile while subsuming loads into machine instructions.") \ 351 "Attempt to compile while subsuming loads into machine instructions.") \
352 \ 352 \
353 develop(bool, StressRecompilation, false, \ 353 develop(bool, StressRecompilation, false, \
354 "Recompile each compiled method without subsuming loads or escape analysis.") \ 354 "Recompile each compiled method without subsuming loads or escape analysis.") \
355 \ 355 \
356 /* controls for tier 1 compilations */ \
357 \
358 develop(bool, Tier1CountInvocations, true, \
359 "Generate code, during tier 1, to update invocation counter") \
360 \
361 product(intx, Tier1Inline, false, \
362 "enable inlining during tier 1") \
363 \
364 product(intx, Tier1MaxInlineSize, 8, \
365 "maximum bytecode size of a method to be inlined, during tier 1") \
366 \
367 product(intx, Tier1FreqInlineSize, 35, \
368 "max bytecode size of a frequent method to be inlined, tier 1") \
369 \
370 develop(intx, ImplicitNullCheckThreshold, 3, \ 356 develop(intx, ImplicitNullCheckThreshold, 3, \
371 "Don't do implicit null checks if NPE's in a method exceeds limit") \ 357 "Don't do implicit null checks if NPE's in a method exceeds limit") \
372 \
373 /* controls for loop optimization */ \
374 product(intx, Tier1LoopOptsCount, 0, \
375 "Set level of loop optimization for tier 1 compiles") \
376 \ 358 \
377 product(intx, LoopOptsCount, 43, \ 359 product(intx, LoopOptsCount, 43, \
378 "Set level of loop optimization for tier 1 compiles") \ 360 "Set level of loop optimization for tier 1 compiles") \
379 \ 361 \
380 /* controls for heat-based inlining */ \ 362 /* controls for heat-based inlining */ \
503 "Miniumum %% of a successor (predecessor) for which block layout "\ 485 "Miniumum %% of a successor (predecessor) for which block layout "\
504 "a will allow a fork (join) in a single chain") \ 486 "a will allow a fork (join) in a single chain") \
505 \ 487 \
506 product(bool, BlockLayoutRotateLoops, true, \ 488 product(bool, BlockLayoutRotateLoops, true, \
507 "Allow back branches to be fall throughs in the block layour") \ 489 "Allow back branches to be fall throughs in the block layour") \
490 \
491 develop(bool, InlineReflectionGetCallerClass, true, \
492 "inline sun.reflect.Reflection.getCallerClass(), known to be part "\
493 "of base library DLL") \
494 \
495 develop(bool, InlineObjectCopy, true, \
496 "inline Object.clone and Arrays.copyOf[Range] intrinsics") \
497 \
498 develop(bool, SpecialStringCompareTo, true, \
499 "special version of string compareTo") \
500 \
501 develop(bool, SpecialStringIndexOf, true, \
502 "special version of string indexOf") \
503 \
504 develop(bool, SpecialStringEquals, true, \
505 "special version of string equals") \
506 \
507 develop(bool, SpecialArraysEquals, true, \
508 "special version of Arrays.equals(char[],char[])") \
509 \
510 develop(bool, BailoutToInterpreterForThrows, false, \
511 "Compiled methods which throws/catches exceptions will be " \
512 "deopt and intp.") \
513 \
514 develop(bool, ConvertCmpD2CmpF, true, \
515 "Convert cmpD to cmpF when one input is constant in float range") \
516 \
517 develop(bool, ConvertFloat2IntClipping, true, \
518 "Convert float2int clipping idiom to integer clipping") \
519 \
520 develop(bool, Use24BitFPMode, true, \
521 "Set 24-bit FPU mode on a per-compile basis ") \
522 \
523 develop(bool, Use24BitFP, true, \
524 "use FP instructions that produce 24-bit precise results") \
525 \
526 develop(bool, MonomorphicArrayCheck, true, \
527 "Uncommon-trap array store checks that require full type check") \
528 \
529 notproduct(bool, TracePhaseCCP, false, \
530 "Print progress during Conditional Constant Propagation") \
531 \
532 develop(bool, PrintDominators, false, \
533 "Print out dominator trees for GVN") \
534 \
535 notproduct(bool, TraceSpilling, false, \
536 "Trace spilling") \
537 \
538 notproduct(bool, TraceTypeProfile, false, \
539 "Trace type profile") \
540 \
541 develop(bool, PoisonOSREntry, true, \
542 "Detect abnormal calls to OSR code") \
543 \
544 product(bool, UseCondCardMark, false, \
545 "Check for already marked card before updating card table") \
546 \
547 develop(bool, SoftMatchFailure, trueInProduct, \
548 "If the DFA fails to match a node, print a message and bail out") \
549 \
550 develop(bool, InlineAccessors, true, \
551 "inline accessor methods (get/set)") \
552 \
553 product(intx, TypeProfileMajorReceiverPercent, 90, \
554 "% of major receiver type to all profiled receivers") \
555 \
556 notproduct(bool, TimeCompiler2, false, \
557 "detailed time the compiler (requires +TimeCompiler)") \
558 \
559 diagnostic(bool, PrintIntrinsics, false, \
560 "prints attempted and successful inlining of intrinsics") \
561 \
562 diagnostic(ccstrlist, DisableIntrinsic, "", \
563 "do not expand intrinsics whose (internal) names appear here") \
564 \
565 develop(bool, StressReflectiveCode, false, \
566 "Use inexact types at allocations, etc., to test reflection") \
567 \
568 diagnostic(bool, DebugInlinedCalls, true, \
569 "If false, restricts profiled locations to the root method only") \
570 \
571 notproduct(bool, VerifyLoopOptimizations, false, \
572 "verify major loop optimizations") \
573 \
574 diagnostic(bool, ProfileDynamicTypes, true, \
575 "do extra type profiling and use it more aggressively") \
576 \
577 develop(bool, TraceIterativeGVN, false, \
578 "Print progress during Iterative Global Value Numbering") \
579 \
580 develop(bool, VerifyIterativeGVN, false, \
581 "Verify Def-Use modifications during sparse Iterative Global " \
582 "Value Numbering") \
583 \
584 notproduct(bool, TraceCISCSpill, false, \
585 "Trace allocators use of cisc spillable instructions") \
586 \
587 product(bool, SplitIfBlocks, true, \
588 "Clone compares and control flow through merge points to fold " \
589 "some branches") \
590 \
591 develop(intx, FreqCountInvocations, 1, \
592 "Scaling factor for branch frequencies (deprecated)") \
593 \
594 product(intx, AliasLevel, 3, \
595 "0 for no aliasing, 1 for oop/field/static/array split, " \
596 "2 for class split, 3 for unique instances") \
597 \
598 develop(bool, VerifyAliases, false, \
599 "perform extra checks on the results of alias analysis") \
508 600
509 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) 601 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)
510 602
511 #endif // SHARE_VM_OPTO_C2_GLOBALS_HPP 603 #endif // SHARE_VM_OPTO_C2_GLOBALS_HPP