Merge

Mon, 11 Mar 2013 08:49:53 +0100

author
stefank
date
Mon, 11 Mar 2013 08:49:53 +0100
changeset 4735
1f3354851c91
parent 4708
8196357e95b5
parent 4734
209f8ba5020b
child 4737
71f619500f9b

Merge

     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Fri Mar 08 08:22:18 2013 -0800
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Mon Mar 11 08:49:53 2013 +0100
     1.3 @@ -4111,7 +4111,7 @@
     1.4          // bitmap knows by how much we need to move it as it knows its
     1.5          // granularity).
     1.6          assert(_finger < _region_limit, "invariant");
     1.7 -        HeapWord* new_finger = _nextMarkBitMap->nextWord(_finger);
     1.8 +        HeapWord* new_finger = _nextMarkBitMap->nextObject(_finger);
     1.9          // Check if bitmap iteration was aborted while scanning the last object
    1.10          if (new_finger >= _region_limit) {
    1.11            giveup_current_region();
     2.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Fri Mar 08 08:22:18 2013 -0800
     2.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Mon Mar 11 08:49:53 2013 +0100
     2.3 @@ -97,7 +97,6 @@
     2.4                                         HeapWord* limit = NULL) const;
     2.5  
     2.6    // conversion utilities
     2.7 -  // XXX Fix these so that offsets are size_t's...
     2.8    HeapWord* offsetToHeapWord(size_t offset) const {
     2.9      return _bmStartWord + (offset << _shifter);
    2.10    }
    2.11 @@ -105,8 +104,13 @@
    2.12      return pointer_delta(addr, _bmStartWord) >> _shifter;
    2.13    }
    2.14    int heapWordDiffToOffsetDiff(size_t diff) const;
    2.15 -  HeapWord* nextWord(HeapWord* addr) {
    2.16 -    return offsetToHeapWord(heapWordToOffset(addr) + 1);
    2.17 +
    2.18 +  // The argument addr should be the start address of a valid object
    2.19 +  HeapWord* nextObject(HeapWord* addr) {
    2.20 +    oop obj = (oop) addr;
    2.21 +    HeapWord* res =  addr + obj->size();
    2.22 +    assert(offsetToHeapWord(heapWordToOffset(res)) == res, "sanity");
    2.23 +    return res;
    2.24    }
    2.25  
    2.26    // debugging
     3.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp	Fri Mar 08 08:22:18 2013 -0800
     3.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp	Mon Mar 11 08:49:53 2013 +0100
     3.3 @@ -1,5 +1,5 @@
     3.4  /*
     3.5 - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
     3.6 + * Copyright (c) 2001, 2013, 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 @@ -252,12 +252,10 @@
    3.11  
    3.12      start_offset = _bm.get_next_one_offset(start_offset, end_offset);
    3.13      while (start_offset < end_offset) {
    3.14 -      HeapWord* obj_addr = offsetToHeapWord(start_offset);
    3.15 -      oop obj = (oop) obj_addr;
    3.16        if (!cl->do_bit(start_offset)) {
    3.17          return false;
    3.18        }
    3.19 -      HeapWord* next_addr = MIN2(obj_addr + obj->size(), end_addr);
    3.20 +      HeapWord* next_addr = MIN2(nextObject(offsetToHeapWord(start_offset)), end_addr);
    3.21        BitMap::idx_t next_offset = heapWordToOffset(next_addr);
    3.22        start_offset = _bm.get_next_one_offset(next_offset, end_offset);
    3.23      }
     4.1 --- a/src/share/vm/runtime/arguments.cpp	Fri Mar 08 08:22:18 2013 -0800
     4.2 +++ b/src/share/vm/runtime/arguments.cpp	Mon Mar 11 08:49:53 2013 +0100
     4.3 @@ -1813,6 +1813,13 @@
     4.4    }
     4.5  }
     4.6  
     4.7 +void Arguments::check_deprecated_gc_flags() {
     4.8 +  if (FLAG_IS_CMDLINE(MaxGCMinorPauseMillis)) {
     4.9 +    warning("Using MaxGCMinorPauseMillis as minor pause goal is deprecated"
    4.10 +            "and will likely be removed in future release");
    4.11 +  }
    4.12 +}
    4.13 +
    4.14  // Check stack pages settings
    4.15  bool Arguments::check_stack_pages()
    4.16  {
    4.17 @@ -3292,6 +3299,7 @@
    4.18      set_g1_gc_flags();
    4.19    }
    4.20    check_deprecated_gcs();
    4.21 +  check_deprecated_gc_flags();
    4.22  #else // INCLUDE_ALL_GCS
    4.23    assert(verify_serial_gc_flags(), "SerialGC unset");
    4.24  #endif // INCLUDE_ALL_GCS
     5.1 --- a/src/share/vm/runtime/arguments.hpp	Fri Mar 08 08:22:18 2013 -0800
     5.2 +++ b/src/share/vm/runtime/arguments.hpp	Mon Mar 11 08:49:53 2013 +0100
     5.3 @@ -414,6 +414,7 @@
     5.4    // Check for consistency in the selection of the garbage collector.
     5.5    static bool check_gc_consistency();
     5.6    static void check_deprecated_gcs();
     5.7 +  static void check_deprecated_gc_flags();
     5.8    // Check consistecy or otherwise of VM argument settings
     5.9    static bool check_vm_args_consistency();
    5.10    // Check stack pages settings

mercurial