Merge

Sat, 06 Jul 2019 19:18:57 +0100

author
andrew
date
Sat, 06 Jul 2019 19:18:57 +0100
changeset 9716
adaa0f3c6c59
parent 9715
e0e66aba375a
parent 9700
9deea71d83dd
child 9717
23845b8c4b4b

Merge

     1.1 --- a/.hgtags	Tue Feb 19 08:58:55 2019 +0100
     1.2 +++ b/.hgtags	Sat Jul 06 19:18:57 2019 +0100
     1.3 @@ -1268,3 +1268,5 @@
     1.4  d690709cc3398f8cfd6ffebb89a229105fb3e69a jdk8u222-b04
     1.5  1ec20e8a3d8a7a29e9113b14567abec9f0240e9d jdk8u222-b05
     1.6  17778f8991c83d794897f05210dce2d2a7b4eb2d jdk8u222-b06
     1.7 +75f4e02f1113bc353fc60df7330dd5456efc49a3 jdk8u222-b07
     1.8 +36a743eee6721b423b7c21a3ba28ac8d906a5386 jdk8u222-b08
     2.1 --- a/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp	Tue Feb 19 08:58:55 2019 +0100
     2.2 +++ b/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp	Sat Jul 06 19:18:57 2019 +0100
     2.3 @@ -447,8 +447,6 @@
     2.4  }
     2.5  
     2.6  HeapWord* G1BlockOffsetArrayContigSpace::initialize_threshold_raw() {
     2.7 -  assert(!Universe::heap()->is_in_reserved(_array->_offset_array),
     2.8 -         "just checking");
     2.9    _next_offset_index = _array->index_for_raw(_bottom);
    2.10    _next_offset_index++;
    2.11    _next_offset_threshold =
    2.12 @@ -457,8 +455,6 @@
    2.13  }
    2.14  
    2.15  void G1BlockOffsetArrayContigSpace::zero_bottom_entry_raw() {
    2.16 -  assert(!Universe::heap()->is_in_reserved(_array->_offset_array),
    2.17 -         "just checking");
    2.18    size_t bottom_index = _array->index_for_raw(_bottom);
    2.19    assert(_array->address_for_index_raw(bottom_index) == _bottom,
    2.20           "Precondition of call");
    2.21 @@ -466,8 +462,6 @@
    2.22  }
    2.23  
    2.24  HeapWord* G1BlockOffsetArrayContigSpace::initialize_threshold() {
    2.25 -  assert(!Universe::heap()->is_in_reserved(_array->_offset_array),
    2.26 -         "just checking");
    2.27    _next_offset_index = _array->index_for(_bottom);
    2.28    _next_offset_index++;
    2.29    _next_offset_threshold =
     3.1 --- a/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp	Tue Feb 19 08:58:55 2019 +0100
     3.2 +++ b/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp	Sat Jul 06 19:18:57 2019 +0100
     3.3 @@ -145,7 +145,7 @@
     3.4  
     3.5    // Array for keeping offsets for retrieving object start fast given an
     3.6    // address.
     3.7 -  u_char* _offset_array;          // byte array keeping backwards offsets
     3.8 +  volatile u_char* _offset_array;          // byte array keeping backwards offsets
     3.9  
    3.10    void check_offset(size_t offset, const char* msg) const {
    3.11      assert(offset <= N_words,
    3.12 @@ -158,9 +158,7 @@
    3.13    // For performance these have to devolve to array accesses in product builds.
    3.14    inline u_char offset_array(size_t index) const;
    3.15  
    3.16 -  void set_offset_array_raw(size_t index, u_char offset) {
    3.17 -    _offset_array[index] = offset;
    3.18 -  }
    3.19 +  inline void set_offset_array_raw(size_t index, u_char offset);
    3.20  
    3.21    inline void set_offset_array(size_t index, u_char offset);
    3.22  
     4.1 --- a/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.inline.hpp	Tue Feb 19 08:58:55 2019 +0100
     4.2 +++ b/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.inline.hpp	Sat Jul 06 19:18:57 2019 +0100
     4.3 @@ -63,6 +63,10 @@
     4.4    return _offset_array[index];
     4.5  }
     4.6  
     4.7 +inline void G1BlockOffsetSharedArray::set_offset_array_raw(size_t index, u_char offset) {
     4.8 +  _offset_array[index] = offset;
     4.9 +}
    4.10 +
    4.11  void G1BlockOffsetSharedArray::set_offset_array(size_t index, u_char offset) {
    4.12    check_index(index, "index out of range");
    4.13    set_offset_array_raw(index, offset);
    4.14 @@ -81,7 +85,7 @@
    4.15    assert(left <= right, "indexes out of order");
    4.16    size_t num_cards = right - left + 1;
    4.17    if (UseMemSetInBOT) {
    4.18 -    memset(&_offset_array[left], offset, num_cards);
    4.19 +    memset(const_cast<u_char*> (&_offset_array[left]), offset, num_cards);
    4.20    } else {
    4.21      size_t i = left;
    4.22      const size_t end = i + num_cards;

mercurial