59 HotSpotVMConfigStore store = runtime.getConfigStore();
60 for (Map.Entry<String, Long> e : store.getConstants().entrySet()) {
61 String name = e.getKey();
62 if (name.startsWith("MARKID_") && e.getValue() == markId) {
63 return name;
64 }
65 }
66 return CodeCacheProvider.super.getMarkName(mark);
67 }
68
69 /**
70 * Decodes a call target to a mnemonic if possible.
71 */
72 @Override
73 public String getTargetName(Call call) {
74 if (call.target instanceof HotSpotForeignCallTarget) {
75 long address = ((HotSpotForeignCallTarget) call.target).address;
76 HotSpotVMConfigStore store = runtime.getConfigStore();
77 for (Map.Entry<String, VMField> e : store.getFields().entrySet()) {
78 VMField field = e.getValue();
79 if (field.isStatic() && field.value != null && field.value == address) {
80 return e.getValue() + ":0x" + Long.toHexString(address);
81 }
82 }
83 }
84 return CodeCacheProvider.super.getTargetName(call);
85 }
86
87 @Override
88 public RegisterConfig getRegisterConfig() {
89 return regConfig;
90 }
91
92 @Override
93 public int getMinimumOutgoingSize() {
94 return runtime.getConfig().runtimeCallStackSize;
95 }
96
97 private InstalledCode logOrDump(InstalledCode installedCode, CompiledCode compiledCode) {
98 ((HotSpotJVMCIRuntime) runtime).notifyInstall(this, installedCode, compiledCode);
99 return installedCode;
|
59 HotSpotVMConfigStore store = runtime.getConfigStore();
60 for (Map.Entry<String, Long> e : store.getConstants().entrySet()) {
61 String name = e.getKey();
62 if (name.startsWith("MARKID_") && e.getValue() == markId) {
63 return name;
64 }
65 }
66 return CodeCacheProvider.super.getMarkName(mark);
67 }
68
69 /**
70 * Decodes a call target to a mnemonic if possible.
71 */
72 @Override
73 public String getTargetName(Call call) {
74 if (call.target instanceof HotSpotForeignCallTarget) {
75 long address = ((HotSpotForeignCallTarget) call.target).address;
76 HotSpotVMConfigStore store = runtime.getConfigStore();
77 for (Map.Entry<String, VMField> e : store.getFields().entrySet()) {
78 VMField field = e.getValue();
79 if (field.isStatic() && field.value != null && field.value instanceof Long && ((Long) field.value) == address) {
80 return e.getValue() + ":0x" + Long.toHexString(address);
81 }
82 }
83 }
84 return CodeCacheProvider.super.getTargetName(call);
85 }
86
87 @Override
88 public RegisterConfig getRegisterConfig() {
89 return regConfig;
90 }
91
92 @Override
93 public int getMinimumOutgoingSize() {
94 return runtime.getConfig().runtimeCallStackSize;
95 }
96
97 private InstalledCode logOrDump(InstalledCode installedCode, CompiledCode compiledCode) {
98 ((HotSpotJVMCIRuntime) runtime).notifyInstall(this, installedCode, compiledCode);
99 return installedCode;
|