Java bindings (#711)

* Remove glib from samples makefile

* support new APIs

* reimplement register batch mode interface

* stop using deprecated java API
This commit is contained in:
Chris Eagle 2017-01-10 17:27:16 -08:00 committed by Nguyen Anh Quynh
parent bc569f5a54
commit 8adc8afc63
2 changed files with 7 additions and 6 deletions

View file

@ -796,11 +796,12 @@ public class Unicorn implements UnicornConst, ArmConst, Arm64Const, M68kConst, S
public native long context_alloc(); public native long context_alloc();
/** /**
* Free the resource allocated by context_alloc. * Free a resource allocated within Unicorn. Use for handles
* allocated by context_alloc.
* *
* @param context handle previously returned by context_alloc. * @param Previously allocated Unicorn object handle.
*/ */
public native void context_free(long context); public native void free(long handle);
/** /**
* Save a copy of the internal CPU context. * Save a copy of the internal CPU context.

View file

@ -718,7 +718,7 @@ JNIEXPORT jobjectArray JNICALL Java_unicorn_Unicorn_mem_1regions
jobject mr = (*env)->NewObject(env, clz, cons, regions[i].begin, regions[i].end, regions[i].perms); jobject mr = (*env)->NewObject(env, clz, cons, regions[i].begin, regions[i].end, regions[i].perms);
(*env)->SetObjectArrayElement(env, result, (jsize)i, mr); (*env)->SetObjectArrayElement(env, result, (jsize)i, mr);
} }
free(regions); uc_free(regions);
return result; return result;
} }
@ -741,10 +741,10 @@ JNIEXPORT jlong JNICALL Java_unicorn_Unicorn_context_1alloc
/* /*
* Class: unicorn_Unicorn * Class: unicorn_Unicorn
* Method: context_free * Method: free
* Signature: (J)V * Signature: (J)V
*/ */
JNIEXPORT void JNICALL Java_unicorn_Unicorn_context_1free JNIEXPORT void JNICALL Java_unicorn_Unicorn_free
(JNIEnv *env, jobject self, jlong ctx) { (JNIEnv *env, jobject self, jlong ctx) {
uc_err err = uc_free((void *)ctx); uc_err err = uc_free((void *)ctx);
if (err != UC_ERR_OK) { if (err != UC_ERR_OK) {