Add a default constructor to JValue.

Change-Id: I7abe801b26f5003c480215c1f1ca64dfc07667ed
diff --git a/src/object.cc b/src/object.cc
index cd6b51f..f863a39 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -248,36 +248,43 @@
   Set64(object, j);
 }
 
+union Bits {
+  jdouble d;
+  jfloat f;
+  jint i;
+  jlong j;
+};
+
 float Field::GetFloat(const Object* object) const {
   DCHECK_EQ(Primitive::kPrimFloat, FieldHelper(this).GetTypeAsPrimitiveType())
        << PrettyField(this);
-  JValue float_bits;
-  float_bits.i = Get32(object);
-  return float_bits.f;
+  Bits bits;
+  bits.i = Get32(object);
+  return bits.f;
 }
 
 void Field::SetFloat(Object* object, float f) const {
   DCHECK_EQ(Primitive::kPrimFloat, FieldHelper(this).GetTypeAsPrimitiveType())
        << PrettyField(this);
-  JValue float_bits;
-  float_bits.f = f;
-  Set32(object, float_bits.i);
+  Bits bits;
+  bits.f = f;
+  Set32(object, bits.i);
 }
 
 double Field::GetDouble(const Object* object) const {
   DCHECK_EQ(Primitive::kPrimDouble, FieldHelper(this).GetTypeAsPrimitiveType())
        << PrettyField(this);
-  JValue double_bits;
-  double_bits.j = Get64(object);
-  return double_bits.d;
+  Bits bits;
+  bits.j = Get64(object);
+  return bits.d;
 }
 
 void Field::SetDouble(Object* object, double d) const {
   DCHECK_EQ(Primitive::kPrimDouble, FieldHelper(this).GetTypeAsPrimitiveType())
        << PrettyField(this);
-  JValue double_bits;
-  double_bits.d = d;
-  Set64(object, double_bits.j);
+  Bits bits;
+  bits.d = d;
+  Set64(object, bits.j);
 }
 
 Object* Field::GetObject(const Object* object) const {