Enforce the use of accessors on JValue so we can ensure sign extension.

Change-Id: I34810af7661d8674c84707afe5cfdf9e2c233f8b
diff --git a/src/oat/runtime/support_proxy.cc b/src/oat/runtime/support_proxy.cc
index 25cafc2..46f2313 100644
--- a/src/oat/runtime/support_proxy.cc
+++ b/src/oat/runtime/support_proxy.cc
@@ -118,13 +118,13 @@
       if (cur_arg == 1 && (param_type->IsPrimitiveLong() || param_type->IsPrimitiveDouble())) {
         // long/double split over regs and stack, mask in high half from stack arguments
         uint64_t high_half = *reinterpret_cast<uint32_t*>(stack_args + (13 * kPointerSize));
-        val.j = (val.j & 0xffffffffULL) | (high_half << 32);
+        val.SetJ((val.GetJ() & 0xffffffffULL) | (high_half << 32));
       }
       BoxPrimitive(param_type->GetPrimitiveType(), val);
       if (self->IsExceptionPending()) {
         return;
       }
-      obj = val.l;
+      obj = val.GetL();
     }
     args->Set(param_index, obj);
     cur_arg = cur_arg + (param_type->IsPrimitiveLong() || param_type->IsPrimitiveDouble() ? 2 : 1);
@@ -143,7 +143,7 @@
       if (self->IsExceptionPending()) {
         return;
       }
-      obj = val.l;
+      obj = val.GetL();
     }
     args->Set(param_index, obj);
     cur_arg = cur_arg + (param_type->IsPrimitiveLong() || param_type->IsPrimitiveDouble() ? 2 : 1);