From be27c4f8770e8acc600ac6d2bdf1605ff720f9b2 Mon Sep 17 00:00:00 2001
From: mitaclaw <140017135+mitaclaw@users.noreply.github.com>
Date: Fri, 5 Apr 2024 16:09:01 -0700
Subject: NativeLibrary: Create displayToastMsg Method
---
.../main/java/org/dolphinemu/dolphinemu/NativeLibrary.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
(limited to 'Source/Android/app/src')
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..a3d02e31ee 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
@@ -454,6 +454,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 +474,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
{
--
cgit v1.2.3
From ee8bcf2cccfcc822aea9288df3da8a345ae67467 Mon Sep 17 00:00:00 2001
From: mitaclaw <140017135+mitaclaw@users.noreply.github.com>
Date: Fri, 5 Apr 2024 16:21:10 -0700
Subject: JitCache: Software Profiling Restoration
Rekindle software JIT profiling with a std::chrono conversion and a config connection.
---
.../main/java/org/dolphinemu/dolphinemu/NativeLibrary.java | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
(limited to 'Source/Android/app/src')
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 a3d02e31ee..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
--
cgit v1.2.3
From 94712ea06f694d02e8490efe7664054a037a9c75 Mon Sep 17 00:00:00 2001
From: mitaclaw <140017135+mitaclaw@users.noreply.github.com>
Date: Sat, 6 Apr 2024 09:14:15 -0700
Subject: Android: Access Software JIT Profiling
---
.../features/settings/model/BooleanSetting.kt | 6 ++++++
.../settings/ui/SettingsFragmentPresenter.kt | 20 ++++++++++++++++++++
Source/Android/app/src/main/res/values/strings.xml | 3 +++
3 files changed, 29 insertions(+)
(limited to 'Source/Android/app/src')
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(
diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml
index 5dde637d7d..360e5006a0 100644
--- a/Source/Android/app/src/main/res/values/strings.xml
+++ b/Source/Android/app/src/main/res/values/strings.xml
@@ -406,6 +406,9 @@
Disable Fastmem
Disable Fastmem Arena
Disable Large Entry Points Map
+ Jit Profiling
+ Enable Jit Block Profiling
+ Write Jit Block Log Dump
Jit
Jit Disabled
Jit Load Store Disabled
--
cgit v1.2.3