mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8130832: Extend the WhiteBox API to provide information about the availability of compiler intrinsics
Add a new method, sun.hotspot.WhiteBox.isIntrinsicAvailable, that can be used to determine if an intrinsic is available. Reviewed-by: kvn, jrose
This commit is contained in:
parent
f3d31d3866
commit
422cd18f23
14 changed files with 1347 additions and 607 deletions
|
@ -1368,6 +1368,26 @@ public:
|
|||
|
||||
// Raw conversion:
|
||||
static ID for_raw_conversion(BasicType src, BasicType dest);
|
||||
|
||||
// The methods below provide information related to compiling intrinsics.
|
||||
|
||||
// (1) Information needed by the C1 compiler.
|
||||
|
||||
static bool preserves_state(vmIntrinsics::ID id);
|
||||
static bool can_trap(vmIntrinsics::ID id);
|
||||
|
||||
// (2) Information needed by the C2 compiler.
|
||||
|
||||
// Returns true if the intrinsic for method 'method' will perform a virtual dispatch.
|
||||
static bool does_virtual_dispatch(vmIntrinsics::ID id);
|
||||
// A return value larger than 0 indicates that the intrinsic for method
|
||||
// 'method' requires predicated logic.
|
||||
static int predicates_needed(vmIntrinsics::ID id);
|
||||
|
||||
// Returns true if an intrinsic is disabled by command-line flags and
|
||||
// false otherwise. Implements functionality common to the C1
|
||||
// and the C2 compiler.
|
||||
static bool is_disabled_by_flags(vmIntrinsics::ID id);
|
||||
};
|
||||
|
||||
#endif // SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue