Merge jdk8u76-b10

Mon, 29 Feb 2016 11:49:08 -0800

author
asaha
date
Mon, 29 Feb 2016 11:49:08 -0800
changeset 8398
a2b0ee820059
parent 8394
4f7fc09d8d66
parent 8397
352f1b2573b0
child 8399
6875c2bf2dcb

Merge

.hgtags file | annotate | diff | comparison | revisions
     1.1 --- a/.hgtags	Mon Feb 22 13:23:02 2016 -0800
     1.2 +++ b/.hgtags	Mon Feb 29 11:49:08 2016 -0800
     1.3 @@ -818,6 +818,7 @@
     1.4  8c791dd1c24d85ebd18b03d49185c2a25263c129 jdk8u75-b07
     1.5  e4a935cb6f7178912fd653e2a9514eadec7935ab jdk8u75-b08
     1.6  e97c45c377eb8d022cfe24b73737fa312107e0a5 jdk8u75-b09
     1.7 +d44c7e324682a30e064503ef9582d83a41f4173e jdk8u75-b10
     1.8  d7b01fb81aa8a5437cb03bc36afe15cf0e55fb89 jdk8u76-b00
     1.9  c1679cc87ba045219169cabb6b9b378c2b5cc578 jdk8u76-b01
    1.10  218483967e52b419d885d34af4488a81c5133804 jdk8u76-b02
     2.1 --- a/src/share/vm/oops/typeArrayOop.hpp	Mon Feb 22 13:23:02 2016 -0800
     2.2 +++ b/src/share/vm/oops/typeArrayOop.hpp	Mon Feb 29 11:49:08 2016 -0800
     2.3 @@ -96,7 +96,7 @@
     2.4    void byte_at_put(int which, jbyte contents)     { *byte_at_addr(which) = contents; }
     2.5  
     2.6    jboolean bool_at(int which) const               { return *bool_at_addr(which); }
     2.7 -  void bool_at_put(int which, jboolean contents)  { *bool_at_addr(which) = contents; }
     2.8 +  void bool_at_put(int which, jboolean contents)  { *bool_at_addr(which) = (((jint)contents) & 1); }
     2.9  
    2.10    jchar char_at(int which) const                  { return *char_at_addr(which); }
    2.11    void char_at_put(int which, jchar contents)     { *char_at_addr(which) = contents; }
     3.1 --- a/src/share/vm/runtime/deoptimization.cpp	Mon Feb 22 13:23:02 2016 -0800
     3.2 +++ b/src/share/vm/runtime/deoptimization.cpp	Mon Feb 29 11:49:08 2016 -0800
     3.3 @@ -1,5 +1,5 @@
     3.4  /*
     3.5 - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     3.6 + * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
     3.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3.8   *
     3.9   * This code is free software; you can redistribute it and/or modify it
    3.10 @@ -847,13 +847,25 @@
    3.11        _obj->int_field_put(offset, (jint)*((jint*)&val));
    3.12        break;
    3.13  
    3.14 -    case T_SHORT: case T_CHAR: // 2 bytes
    3.15 +    case T_SHORT:
    3.16        assert(value->type() == T_INT, "Agreement.");
    3.17        val = value->get_int();
    3.18        _obj->short_field_put(offset, (jshort)*((jint*)&val));
    3.19        break;
    3.20  
    3.21 -    case T_BOOLEAN: case T_BYTE: // 1 byte
    3.22 +    case T_CHAR:
    3.23 +      assert(value->type() == T_INT, "Agreement.");
    3.24 +      val = value->get_int();
    3.25 +      _obj->char_field_put(offset, (jchar)*((jint*)&val));
    3.26 +      break;
    3.27 +
    3.28 +    case T_BYTE:
    3.29 +      assert(value->type() == T_INT, "Agreement.");
    3.30 +      val = value->get_int();
    3.31 +      _obj->byte_field_put(offset, (jbyte)*((jint*)&val));
    3.32 +      break;
    3.33 +
    3.34 +    case T_BOOLEAN:
    3.35        assert(value->type() == T_INT, "Agreement.");
    3.36        val = value->get_int();
    3.37        _obj->bool_field_put(offset, (jboolean)*((jint*)&val));
    3.38 @@ -899,13 +911,25 @@
    3.39        obj->int_at_put(index, (jint)*((jint*)&val));
    3.40        break;
    3.41  
    3.42 -    case T_SHORT: case T_CHAR: // 2 bytes
    3.43 +    case T_SHORT:
    3.44        assert(value->type() == T_INT, "Agreement.");
    3.45        val = value->get_int();
    3.46        obj->short_at_put(index, (jshort)*((jint*)&val));
    3.47        break;
    3.48  
    3.49 -    case T_BOOLEAN: case T_BYTE: // 1 byte
    3.50 +    case T_CHAR:
    3.51 +      assert(value->type() == T_INT, "Agreement.");
    3.52 +      val = value->get_int();
    3.53 +      obj->char_at_put(index, (jchar)*((jint*)&val));
    3.54 +      break;
    3.55 +
    3.56 +    case T_BYTE:
    3.57 +      assert(value->type() == T_INT, "Agreement.");
    3.58 +      val = value->get_int();
    3.59 +      obj->byte_at_put(index, (jbyte)*((jint*)&val));
    3.60 +      break;
    3.61 +
    3.62 +    case T_BOOLEAN:
    3.63        assert(value->type() == T_INT, "Agreement.");
    3.64        val = value->get_int();
    3.65        obj->bool_at_put(index, (jboolean)*((jint*)&val));

mercurial