From 05f26983d083deef1c05ef88be329a0feb657542 Mon Sep 17 00:00:00 2001 From: Joel Dice Date: Thu, 26 May 2011 17:41:15 -0600 Subject: [PATCH] implement more sun.misc.Unsafe methods --- src/classpath-openjdk.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/classpath-openjdk.cpp b/src/classpath-openjdk.cpp index 25c0c7ff65..1b31b2ac8e 100644 --- a/src/classpath-openjdk.cpp +++ b/src/classpath-openjdk.cpp @@ -2627,6 +2627,16 @@ Avian_sun_misc_Unsafe_putByte__JB *reinterpret_cast(p) = v; } +extern "C" JNIEXPORT void JNICALL +Avian_sun_misc_Unsafe_putShort__JS +(Thread*, object, uintptr_t* arguments) +{ + int64_t p; memcpy(&p, arguments + 1, 8); + int16_t v = arguments[3]; + + *reinterpret_cast(p) = v; +} + extern "C" JNIEXPORT void JNICALL Avian_sun_misc_Unsafe_putLong__JJ (Thread*, object, uintptr_t* arguments) @@ -2665,6 +2675,15 @@ Avian_sun_misc_Unsafe_getInt__J return *reinterpret_cast(p); } +extern "C" JNIEXPORT int64_t JNICALL +Avian_sun_misc_Unsafe_getLong__J +(Thread*, object, uintptr_t* arguments) +{ + int64_t p; memcpy(&p, arguments + 1, 8); + + return *reinterpret_cast(p); +} + extern "C" JNIEXPORT int64_t JNICALL Avian_sun_misc_Unsafe_getFloat__J (Thread*, object, uintptr_t* arguments)