1 /*
2 * Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
378 product(bool, AbortVMOnCompilationFailure, false, DIAGNOSTIC, \
379 "Abort VM when method had failed to compile.") \
380 \
381 develop(intx, OSROnlyBCI, -1, \
382 "OSR only at this bci. Negative values mean exclude that bci") \
383 \
384 develop(intx, DesiredMethodLimit, 8000, \
385 "The desired maximum method size (in bytecodes) after inlining") \
386 \
387 product(bool, DontCompileHugeMethods, true, \
388 "Do not compile methods > HugeMethodLimit") \
389 \
390 develop(intx, HugeMethodLimit, 8000, \
391 "Don't compile methods larger than this if " \
392 "+DontCompileHugeMethods") \
393 \
394 product(bool, CaptureBailoutInformation, trueInDebug, DIAGNOSTIC, \
395 "If compilation is stopped with an error, capture diagnostic " \
396 "information at the bailout point") \
397 \
398 // end of COMPILER_FLAGS
399
400 DECLARE_FLAGS(COMPILER_FLAGS)
401
402 #endif // SHARE_COMPILER_COMPILER_GLOBALS_HPP
|
1 /*
2 * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
378 product(bool, AbortVMOnCompilationFailure, false, DIAGNOSTIC, \
379 "Abort VM when method had failed to compile.") \
380 \
381 develop(intx, OSROnlyBCI, -1, \
382 "OSR only at this bci. Negative values mean exclude that bci") \
383 \
384 develop(intx, DesiredMethodLimit, 8000, \
385 "The desired maximum method size (in bytecodes) after inlining") \
386 \
387 product(bool, DontCompileHugeMethods, true, \
388 "Do not compile methods > HugeMethodLimit") \
389 \
390 develop(intx, HugeMethodLimit, 8000, \
391 "Don't compile methods larger than this if " \
392 "+DontCompileHugeMethods") \
393 \
394 product(bool, CaptureBailoutInformation, trueInDebug, DIAGNOSTIC, \
395 "If compilation is stopped with an error, capture diagnostic " \
396 "information at the bailout point") \
397 \
398 /* AOT Code Caching flags */ \
399 \
400 product(uint, DisableAOTCode, 0, \
401 "Disable AOT code on some compilation levels " \
402 "(T1=1; T2=2; T4=4; T5/preload=8") \
403 \
404 product(uint, ClassInitBarrierMode, 0, \
405 "Produce AOT preload code which could be called on first " \
406 "method invocation, add class initialization barriers, " \
407 "other checks and constrains if needed " \
408 "(0: no barriers; 1: uncommon trap; 2: full barrier)") \
409 \
410 product(bool, StressClassInitBarriers, false, DIAGNOSTIC, \
411 "Force slow path in class initialization barriers") \
412 \
413 product(bool, UseAOTCodeLoadThread, false, \
414 "Use separate thread for AOT code load") \
415 \
416 product(uint, AOTCodeLoadStart, 0, \
417 "The id of the first AOT code to load") \
418 \
419 product(uint, AOTCodeLoadStop, max_jint, \
420 "The id of the last AOT code to load") \
421 \
422 product(bool, VerifyAOTCode, false, DIAGNOSTIC, \
423 "Load AOT code but not publish") \
424 \
425 product(bool, UseGlobalCompileQueueLock, false, \
426 "Use a global lock for all compilation queues") \
427 \
428 product(bool, UseLockFreeCompileQueues, true, \
429 "Use lock free compile queues") \
430 \
431 product(bool, PrecompileCode, false, \
432 "Precompile code") \
433 \
434 product(bool, PrecompileOnlyAndExit, false, \
435 "Exit after precompilation step is over") \
436 \
437 product(bool, PreloadReduceTraps, true, DIAGNOSTIC, \
438 "Preload code should avoid traps as much as possible.") \
439 \
440 product(bool, PreloadBlocking, false, DIAGNOSTIC, \
441 "Preload code is processed with blocking. Startup would not " \
442 "proceed until all code preloaded code is done loading.") \
443 \
444 product(bool, PreloadOnly, false, EXPERIMENTAL, \
445 "Use preload code exclusively. This effectively disables most of "\
446 "profiling and JIT compilation, running close to AOT-only mode.") \
447 \
448
449 // end of COMPILER_FLAGS
450
451 DECLARE_FLAGS(COMPILER_FLAGS)
452
453 #endif // SHARE_COMPILER_COMPILER_GLOBALS_HPP
|