From 602575e80672ff8fa2b4d359a73de24b1390e614 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Fri, 9 Oct 2020 02:54:31 +0100 Subject: [PATCH] java: remove code_size argument from execute() --- bindings/java/c/evmc-vm.c | 5 ++--- .../java/src/main/java/org/ethereum/evmc/EvmcVm.java | 5 ++--- .../src/test/java/org/ethereum/evmc/EvmcTest.java | 12 ++++++------ 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/bindings/java/c/evmc-vm.c b/bindings/java/c/evmc-vm.c index b9b9c1eff..84ba5385e 100644 --- a/bindings/java/c/evmc-vm.c +++ b/bindings/java/c/evmc-vm.c @@ -90,12 +90,12 @@ JNIEXPORT void JNICALL Java_org_ethereum_evmc_EvmcVm_execute(JNIEnv* jenv, jint jrev, jobject jmsg, jobject jcode, - jint jcode_size, jobject jresult) { (void)jcls; struct evmc_message* msg = (struct evmc_message*)(*jenv)->GetDirectBufferAddress(jenv, jmsg); assert(msg != NULL); + size_t code_size = (size_t)(*jenv)->GetDirectBufferCapacity(jenv, jcode); const uint8_t* code = (uint8_t*)(*jenv)->GetDirectBufferAddress(jenv, jcode); assert(code != NULL); struct evmc_host_context context = {jcontext_index}; @@ -105,8 +105,7 @@ JNIEXPORT void JNICALL Java_org_ethereum_evmc_EvmcVm_execute(JNIEnv* jenv, struct evmc_result* result = (struct evmc_result*)(*jenv)->GetDirectBufferAddress(jenv, jresult); assert(result != NULL); - *result = - evmc_execute(evm, host, &context, (enum evmc_revision)jrev, msg, code, (size_t)jcode_size); + *result = evmc_execute(evm, host, &context, (enum evmc_revision)jrev, msg, code, code_size); } JNIEXPORT jint JNICALL Java_org_ethereum_evmc_EvmcVm_get_1capabilities(JNIEnv* jenv, diff --git a/bindings/java/java/src/main/java/org/ethereum/evmc/EvmcVm.java b/bindings/java/java/src/main/java/org/ethereum/evmc/EvmcVm.java index 0379d0343..26b1828c6 100644 --- a/bindings/java/java/src/main/java/org/ethereum/evmc/EvmcVm.java +++ b/bindings/java/java/src/main/java/org/ethereum/evmc/EvmcVm.java @@ -105,7 +105,6 @@ native void execute( int rev, ByteBuffer msg, ByteBuffer code, - int size, ByteBuffer result); /** @@ -114,11 +113,11 @@ native void execute( *

This allows the context to managed in one method */ public synchronized ByteBuffer execute( - HostContext context, int rev, ByteBuffer msg, ByteBuffer code, int size) { + HostContext context, int rev, ByteBuffer msg, ByteBuffer code) { int context_index = addContext(context); int resultSize = get_result_size(); ByteBuffer result = ByteBuffer.allocateDirect(resultSize); - execute(nativeVm, context_index, rev, msg, code, size, result); + execute(nativeVm, context_index, rev, msg, code, result); removeContext(context_index); return result; } diff --git a/bindings/java/java/src/test/java/org/ethereum/evmc/EvmcTest.java b/bindings/java/java/src/test/java/org/ethereum/evmc/EvmcTest.java index 5411301cb..89becfcf8 100644 --- a/bindings/java/java/src/test/java/org/ethereum/evmc/EvmcTest.java +++ b/bindings/java/java/src/test/java/org/ethereum/evmc/EvmcTest.java @@ -66,7 +66,7 @@ void testExecute_returnAddress() throws Exception { ByteBuffer bbcode = ByteBuffer.allocateDirect(code.length).put(code); ByteBuffer result = - vm.execute(context, BYZANTIUM, msg, bbcode, code.length).order(ByteOrder.nativeOrder()); + vm.execute(context, BYZANTIUM, msg, bbcode).order(ByteOrder.nativeOrder()); int statusCode = result.getInt(); result.getInt(); // padding long gasLeft = result.getLong(); @@ -96,7 +96,7 @@ void testExecute_counter() throws Exception { ByteBuffer bbcode = ByteBuffer.allocateDirect(code.length).put(code); ByteBuffer result = - vm.execute(context, BYZANTIUM, msg, bbcode, code.length).order(ByteOrder.nativeOrder()); + vm.execute(context, BYZANTIUM, msg, bbcode).order(ByteOrder.nativeOrder()); int statusCode = result.getInt(); result.getInt(); // padding long gasLeft = result.getLong(); @@ -126,7 +126,7 @@ void testExecute_returnBlockNumber() throws Exception { ByteBuffer bbcode = ByteBuffer.allocateDirect(code.length).put(code); ByteBuffer result = - vm.execute(context, BYZANTIUM, msg, bbcode, code.length).order(ByteOrder.nativeOrder()); + vm.execute(context, BYZANTIUM, msg, bbcode).order(ByteOrder.nativeOrder()); int statusCode = result.getInt(); result.getInt(); // padding long gasLeft = result.getLong(); @@ -158,7 +158,7 @@ void testExecute_saveReturnBlockNumber() throws Exception { ByteBuffer bbcode = ByteBuffer.allocateDirect(code.length).put(code); ByteBuffer result = - vm.execute(context, BYZANTIUM, msg, bbcode, code.length).order(ByteOrder.nativeOrder()); + vm.execute(context, BYZANTIUM, msg, bbcode).order(ByteOrder.nativeOrder()); int statusCode = result.getInt(); result.getInt(); // padding long gasLeft = result.getLong(); @@ -197,7 +197,7 @@ void testExecute_makeCall() throws Exception { ByteBuffer bbcode = ByteBuffer.allocateDirect(code.length).put(code); ByteBuffer result = - vm.execute(context, BYZANTIUM, msg, bbcode, code.length).order(ByteOrder.nativeOrder()); + vm.execute(context, BYZANTIUM, msg, bbcode).order(ByteOrder.nativeOrder()); int statusCode = result.getInt(); result.getInt(); // padding long gasLeft = result.getLong(); @@ -225,7 +225,7 @@ void testExecute_EVMC_CREATE() throws Exception { ByteBuffer bbcode = ByteBuffer.allocateDirect(code.length).put(code); ByteBuffer result = - vm.execute(context, BYZANTIUM, msg, bbcode, code.length).order(ByteOrder.nativeOrder()); + vm.execute(context, BYZANTIUM, msg, bbcode).order(ByteOrder.nativeOrder()); int statusCode = result.getInt(); result.getInt(); // padding long gasLeft = result.getLong();