Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/28175 )

Change subject: util: Add the "sum" method to the java and lua m5 util wrappers.
......................................................................

util: Add the "sum" method to the java and lua m5 util wrappers.

Change-Id: Id55dec87af3e0fc89da6c5471a2aa02443063108
---
M util/m5/src/jni/gem5Op.java
M util/m5/src/jni_gem5Op.c
M util/m5/src/lua_gem5Op.cc
3 files changed, 25 insertions(+), 0 deletions(-)



diff --git a/util/m5/src/jni/gem5Op.java b/util/m5/src/jni/gem5Op.java
index 11403bf..968c4a2 100644
--- a/util/m5/src/jni/gem5Op.java
+++ b/util/m5/src/jni/gem5Op.java
@@ -52,6 +52,7 @@

     public native void exit(long ns_delay);
     public native void fail(long ns_delay, long code);
+    public native long sum(long a, long b, long c, long d, long e, long f);
     public native long init_param(long key_str1, long key_str2);
     public native void checkpoint(long ns_delay, long ns_period);
     public native void reset_stats(long ns_delay, long ns_period);
diff --git a/util/m5/src/jni_gem5Op.c b/util/m5/src/jni_gem5Op.c
index 83a9512..fe8d41d 100644
--- a/util/m5/src/jni_gem5Op.c
+++ b/util/m5/src/jni_gem5Op.c
@@ -105,6 +105,16 @@
 }

 JNIEXPORT jlong JNICALL
+Java_jni_gem5Op_sum(JNIEnv *env, jobject obj, jlong a, jlong b, jlong c,
+                    jlong d, jlong e, jlong f)
+{
+    uint64_t result = m5_sum(a, b, c, d, e, f);
+    if (result & 0x8000000000000000ULL)
+        printf("Truncated return value from sum() to 63 bits\n");
+    return (result & 0x7FFFFFFFFFFFFFFFULL);
+}
+
+JNIEXPORT jlong JNICALL
 Java_jni_gem5Op_init_1param(JNIEnv *env, jobject obj, jlong j_key_str1,
                            jlong j_key_str2)
 {
diff --git a/util/m5/src/lua_gem5Op.cc b/util/m5/src/lua_gem5Op.cc
index 3c8b204..e4d1d76 100644
--- a/util/m5/src/lua_gem5Op.cc
+++ b/util/m5/src/lua_gem5Op.cc
@@ -101,6 +101,20 @@
 }

 static int
+do_sum(lua_State *L)
+{
+    uint64_t a = lua_tointeger(L, 1);
+    uint64_t b = lua_tointeger(L, 2);
+    uint64_t c = lua_tointeger(L, 3);
+    uint64_t d = lua_tointeger(L, 4);
+    uint64_t e = lua_tointeger(L, 5);
+    uint64_t f = lua_tointeger(L, 6);
+    uint64_t sum = m5_sum(a, b, c, d, e, f);
+    lua_pushinteger(L, sum);
+    return 1;
+}
+
+static int
 do_fail(lua_State *L)
 {
     uint64_t ns_delay = lua_tointeger(L, 1);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28175
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Id55dec87af3e0fc89da6c5471a2aa02443063108
Gerrit-Change-Number: 28175
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabebl...@google.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to