1 | static bool compressedOOPSEnabled_is64bitHotSpot; |
2 | static bool compressedOOPSEnabled_compressedOOPS; |
3 | static bool compressedOOPSEnabled_checked; |
4 | |
5 | static bool compressedOOPSEnabled() {
|
6 | if (compressedOOPSEnabled_checked) ret compressedOOPSEnabled_compressedOOPS; |
7 | |
8 | S OS_ARCH = System.getProperty("os.arch");
|
9 | S MANAGEMENT_FACTORY_CLASS = "java.lang.management.ManagementFactory"; |
10 | S HOTSPOT_BEAN_CLASS = "com.sun.management.HotSpotDiagnosticMXBean"; |
11 | |
12 | S x = System.getProperty("sun.arch.data.model");
|
13 | bool is64Bit = contains(or(x, OS_ARCH), "64"); |
14 | |
15 | if (is64Bit) {
|
16 | try {
|
17 | final Class<?> beanClazz = Class.forName(HOTSPOT_BEAN_CLASS); |
18 | final Object hotSpotBean = Class.forName(MANAGEMENT_FACTORY_CLASS).getMethod("getPlatformMXBean", Class.class)
|
19 | .invoke(null, beanClazz); |
20 | if (hotSpotBean != null) {
|
21 | |
22 | compressedOOPSEnabled_is64bitHotSpot = true; |
23 | final Method getVMOptionMethod = beanClazz.getMethod("getVMOption", String.class);
|
24 | try {
|
25 | final Object vmOption = getVMOptionMethod.invoke(hotSpotBean, "UseCompressedOops"); |
26 | compressedOOPSEnabled_compressedOOPS = Boolean.parseBoolean(vmOption.getClass().getMethod("getValue").invoke(vmOption).toString());
|
27 | } catch (ReflectiveOperationException | RuntimeException e) {
|
28 | compressedOOPSEnabled_is64bitHotSpot = false; |
29 | } |
30 | } |
31 | } catch (ReflectiveOperationException | RuntimeException e) {
|
32 | compressedOOPSEnabled_is64bitHotSpot = false; |
33 | } |
34 | } |
35 | |
36 | compressedOOPSEnabled_checked = true; |
37 | ret compressedOOPSEnabled_compressedOOPS; |
38 | } |
Began life as a copy of #1011522
download show line numbers debug dex old transpilations
Travelled to 3 computer(s): bhatertpkbcr, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1035194 |
| Snippet name: | compressedOOPSEnabled (backup) |
| Eternal ID of this version: | #1035194/1 |
| Text MD5: | 69b9c52daab97075ae1e6a0e942b7a30 |
| Author: | stefan |
| Category: | javax |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2022-04-11 19:47:07 |
| Source code size: | 1720 bytes / 38 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 330 / 342 |
| Referenced in: | [show references] |