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 *
371 product(bool, AbortVMOnCompilationFailure, false, DIAGNOSTIC, \
372 "Abort VM when method had failed to compile.") \
373 \
374 develop(intx, OSROnlyBCI, -1, \
375 "OSR only at this bci. Negative values mean exclude that bci") \
376 \
377 develop(intx, DesiredMethodLimit, 8000, \
378 "The desired maximum method size (in bytecodes) after inlining") \
379 \
380 product(bool, DontCompileHugeMethods, true, \
381 "Do not compile methods > HugeMethodLimit") \
382 \
383 develop(intx, HugeMethodLimit, 8000, \
384 "Don't compile methods larger than this if " \
385 "+DontCompileHugeMethods") \
386 \
387 product(bool, CaptureBailoutInformation, trueInDebug, DIAGNOSTIC, \
388 "If compilation is stopped with an error, capture diagnostic " \
389 "information at the bailout point") \
390 \
391 // end of COMPILER_FLAGS
392
393 DECLARE_FLAGS(COMPILER_FLAGS)
394
395 #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 *
371 product(bool, AbortVMOnCompilationFailure, false, DIAGNOSTIC, \
372 "Abort VM when method had failed to compile.") \
373 \
374 develop(intx, OSROnlyBCI, -1, \
375 "OSR only at this bci. Negative values mean exclude that bci") \
376 \
377 develop(intx, DesiredMethodLimit, 8000, \
378 "The desired maximum method size (in bytecodes) after inlining") \
379 \
380 product(bool, DontCompileHugeMethods, true, \
381 "Do not compile methods > HugeMethodLimit") \
382 \
383 develop(intx, HugeMethodLimit, 8000, \
384 "Don't compile methods larger than this if " \
385 "+DontCompileHugeMethods") \
386 \
387 product(bool, CaptureBailoutInformation, trueInDebug, DIAGNOSTIC, \
388 "If compilation is stopped with an error, capture diagnostic " \
389 "information at the bailout point") \
390 \
391 /* AOT Code Caching flags */ \
392 \
393 product(uint, DisableAOTCode, 0, \
394 "Disable AOT code on some compilation levels " \
395 "(T1=1; T2=2; T4=4; T5/preload=8") \
396 \
397 product(uint, ClassInitBarrierMode, 0, \
398 "Produce AOT preload code which could be called on first " \
399 "method invocation, add class initialization barriers, " \
400 "other checks and constrains if needed " \
401 "(0: no barriers; 1: uncommon trap; 2: full barrier)") \
402 \
403 product(bool, StressClassInitBarriers, false, DIAGNOSTIC, \
404 "Force slow path in class initialization barriers") \
405 \
406 product(bool, UseAOTCodeLoadThread, false, \
407 "Use separate thread for AOT code load") \
408 \
409 product(uint, AOTCodeLoadStart, 0, \
410 "The id of the first AOT code to load") \
411 \
412 product(uint, AOTCodeLoadStop, max_jint, \
413 "The id of the last AOT code to load") \
414 \
415 product(uint, AOTCodePreloadStart, 0, \
416 "The id of the first AOT code to preload") \
417 \
418 product(uint, AOTCodePreloadStop, max_jint, \
419 "The id of the last AOT code to preload") \
420 \
421 product(bool, VerifyAOTCode, false, DIAGNOSTIC, \
422 "Load AOT code but not publish") \
423 \
424 product(bool, UseGlobalCompileQueueLock, false, \
425 "Use a global lock for all compilation queues") \
426 \
427 product(bool, UseLockFreeCompileQueues, true, \
428 "Use lock free compile queues") \
429 \
430 product(bool, PrecompileCode, false, \
431 "Precompile code") \
432 \
433 product(bool, PrecompileOnlyAndExit, false, \
434 "Exit after precompilation step is over") \
435 \
436 product(bool, PreloadReduceTraps, true, DIAGNOSTIC, \
437 "Preload code should avoid traps as much as possible.") \
438 \
439 product(bool, PreloadBlocking, false, DIAGNOSTIC, \
440 "Preload code is processed with blocking. Startup would not " \
441 "proceed until all code preloaded code is done loading.") \
442 \
443 product(bool, PreloadOnly, false, EXPERIMENTAL, \
444 "Use preload code exclusively. This effectively disables most of "\
445 "profiling and JIT compilation, running close to AOT-only mode.") \
446 \
447
448 // end of COMPILER_FLAGS
449
450 DECLARE_FLAGS(COMPILER_FLAGS)
451
452 #endif // SHARE_COMPILER_COMPILER_GLOBALS_HPP
|