diff src/share/vm/runtime/deoptimization.cpp @ 23660:b5f3a471e646

Merge.
author Doug Simon <doug.simon@oracle.com>
date Wed, 01 Jun 2016 00:11:44 +0200
parents 3ef45d0a6d77 1442c833c50e
children 608155a023de
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp	Tue May 31 08:05:44 2016 +0200
+++ b/src/share/vm/runtime/deoptimization.cpp	Wed Jun 01 00:11:44 2016 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -905,13 +905,25 @@
       break;
     }
 
-    case T_SHORT: case T_CHAR: // 2 bytes
+    case T_SHORT:
       assert(value->type() == T_INT, "Agreement.");
       val = value->get_int();
       obj->short_at_put(index, (jshort)*((jint*)&val));
       break;
 
-    case T_BOOLEAN: case T_BYTE: // 1 byte
+    case T_CHAR:
+      assert(value->type() == T_INT, "Agreement.");
+      val = value->get_int();
+      obj->char_field_put(index, (jchar)*((jint*)&val));
+      break;
+
+    case T_BYTE:
+      assert(value->type() == T_INT, "Agreement.");
+      val = value->get_int();
+      obj->byte_field_put(index, (jbyte)*((jint*)&val));
+      break;
+
+    case T_BOOLEAN:
       assert(value->type() == T_INT, "Agreement.");
       val = value->get_int();
       obj->bool_at_put(index, (jboolean)*((jint*)&val));
@@ -1026,17 +1038,29 @@
         break;
       }
 
-      case T_SHORT: case T_CHAR: // 2 bytes
-        assert(value->type() == T_INT, "Agreement.");
-        val = value->get_int();
-        obj->short_field_put(offset, (jshort)*((jint*)&val));
-        break;
+    case T_SHORT:
+      assert(value->type() == T_INT, "Agreement.");
+      val = value->get_int();
+      obj->short_field_put(offset, (jshort)*((jint*)&val));
+      break;
+
+    case T_CHAR:
+      assert(value->type() == T_INT, "Agreement.");
+      val = value->get_int();
+      obj->char_field_put(offset, (jchar)*((jint*)&val));
+      break;
 
-      case T_BOOLEAN: case T_BYTE: // 1 byte
-        assert(value->type() == T_INT, "Agreement.");
-        val = value->get_int();
-        obj->bool_field_put(offset, (jboolean)*((jint*)&val));
-        break;
+    case T_BYTE:
+      assert(value->type() == T_INT, "Agreement.");
+      val = value->get_int();
+      obj->byte_field_put(offset, (jbyte)*((jint*)&val));
+      break;
+
+    case T_BOOLEAN:
+      assert(value->type() == T_INT, "Agreement.");
+      val = value->get_int();
+      obj->bool_field_put(offset, (jboolean)*((jint*)&val));
+      break;
 
       default:
         ShouldNotReachHere();