diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2024-04-13 01:35:25 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-13 01:35:25 +0200 |
| commit | 0c1a76398bd1dcc9a8efdd796fbfb0ee5aec4a95 (patch) | |
| tree | 3eddefeef4e7eaafe9b4bf762b3b8ec97cb3ce19 /Source/Android/app/src/main/java | |
| parent | a44511741c81f3cbc29b66a7cbf75333fcf517b5 (diff) | |
| parent | 94712ea06f694d02e8490efe7664054a037a9c75 (diff) | |
Merge pull request #12691 from mitaclaw/jit-profiling-restoration
JitCache: Software Profiling Restoration
Diffstat (limited to 'Source/Android/app/src/main/java')
3 files changed, 37 insertions, 12 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java index b83a489256..8abec6927b 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java @@ -385,16 +385,9 @@ public final class NativeLibrary public static native boolean IsRunningAndUnpaused(); /** - * Enables or disables CPU block profiling - * - * @param enable - */ - public static native void SetProfiling(boolean enable); - - /** - * Writes out the block profile results + * Writes out the JitBlock Cache log dump */ - public static native void WriteProfileResults(); + public static native void WriteJitBlockLogDump(); /** * Native EGL functions not exposed by Java bindings @@ -455,6 +448,14 @@ public final class NativeLibrary private static native String GetCurrentTitleDescriptionUnchecked(); @Keep + public static void displayToastMsg(final String text, final boolean long_length) + { + final int length = long_length ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT; + new Handler(Looper.getMainLooper()) + .post(() -> Toast.makeText(DolphinApplication.getAppContext(), text, length).show()); + } + + @Keep public static boolean displayAlertMsg(final String caption, final String text, final boolean yesNo, final boolean isWarning, final boolean nonBlocking) { @@ -466,9 +467,7 @@ public final class NativeLibrary // and are allowed to block. As a fallback, we can use toasts. if (emulationActivity == null || nonBlocking) { - new Handler(Looper.getMainLooper()).post( - () -> Toast.makeText(DolphinApplication.getAppContext(), text, Toast.LENGTH_LONG) - .show()); + displayToastMsg(text, true); } else { diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt index 6fddbe6b43..331ad7fa09 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt @@ -214,6 +214,12 @@ enum class BooleanSetting( "JitRegisterCacheOff", false ), + MAIN_DEBUG_JIT_ENABLE_PROFILING( + Settings.FILE_DOLPHIN, + Settings.SECTION_DEBUG, + "JitEnableProfiling", + false + ), MAIN_EMULATE_SKYLANDER_PORTAL( Settings.FILE_DOLPHIN, Settings.SECTION_EMULATED_USB_DEVICES, diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt index a3ec018b46..6de39ed1e9 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt @@ -1978,6 +1978,26 @@ class SettingsFragmentPresenter( ) ) + sl.add(HeaderSetting(context, R.string.debug_jit_profiling_header, 0)) + sl.add( + SwitchSetting( + context, + BooleanSetting.MAIN_DEBUG_JIT_ENABLE_PROFILING, + R.string.debug_jit_enable_block_profiling, + 0 + ) + ) + sl.add( + RunRunnable( + context, + R.string.debug_jit_write_block_log_dump, + 0, + 0, + 0, + true + ) { NativeLibrary.WriteJitBlockLogDump() } + ) + sl.add(HeaderSetting(context, R.string.debug_jit_header, 0)) sl.add( SwitchSetting( |
