19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_GC_SHARED_AGETABLE_HPP
26 #define SHARE_VM_GC_SHARED_AGETABLE_HPP
27
28 #include "oops/markOop.hpp"
29 #include "oops/oop.hpp"
30 #include "runtime/perfData.hpp"
31
32 /* Copyright (c) 1992, 2016, Oracle and/or its affiliates, and Stanford University.
33 See the LICENSE file for license information. */
34
35 // Age table for adaptive feedback-mediated tenuring (scavenging)
36 //
37 // Note: all sizes are in oops
38
39 class AgeTable VALUE_OBJ_CLASS_SPEC {
40 friend class VMStructs;
41
42 public:
43 // constants
44 enum { table_size = markOopDesc::max_age + 1 };
45
46 // instance variables
47 size_t sizes[table_size];
48
49 // constructor. "global" indicates that this is the global age table
50 // (as opposed to gc-thread-local)
51 AgeTable(bool global = true);
52
53 // clear table
54 void clear();
55
56 // add entry
57 inline void add(oop p, size_t oop_size);
58
59 void add(uint age, size_t oop_size) {
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_GC_SHARED_AGETABLE_HPP
26 #define SHARE_VM_GC_SHARED_AGETABLE_HPP
27
28 #include "oops/markOop.hpp"
29 #include "oops/oop.hpp"
30 #include "runtime/perfData.hpp"
31
32 /* Copyright (c) 1992, 2016, Oracle and/or its affiliates, and Stanford University.
33 See the LICENSE file for license information. */
34
35 // Age table for adaptive feedback-mediated tenuring (scavenging)
36 //
37 // Note: all sizes are in oops
38
39 class AgeTable {
40 friend class VMStructs;
41
42 public:
43 // constants
44 enum { table_size = markOopDesc::max_age + 1 };
45
46 // instance variables
47 size_t sizes[table_size];
48
49 // constructor. "global" indicates that this is the global age table
50 // (as opposed to gc-thread-local)
51 AgeTable(bool global = true);
52
53 // clear table
54 void clear();
55
56 // add entry
57 inline void add(oop p, size_t oop_size);
58
59 void add(uint age, size_t oop_size) {
|