Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp @ 4909:95f6641e38e0
7144296: PS: Optimize nmethods processing
Summary: Prunes scavenge roots in code list every young GC, promote objects directly pointed by the code immediately
Reviewed-by: johnc, jcoomes
author | iveresov |
---|---|
date | Fri, 10 Feb 2012 17:40:20 -0800 |
parents | f95d63e2154a |
children | ab4422d0ed59 |
comparison
equal
deleted
inserted
replaced
4888:3c4621be5149 | 4909:95f6641e38e0 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
133 // argument is a convenience wrapper that fetches the to_space pointer from | 133 // argument is a convenience wrapper that fetches the to_space pointer from |
134 // the heap and calls the other version (if the arg is true). | 134 // the heap and calls the other version (if the arg is true). |
135 template <class T> static inline bool should_scavenge(T* p, MutableSpace* to_space); | 135 template <class T> static inline bool should_scavenge(T* p, MutableSpace* to_space); |
136 template <class T> static inline bool should_scavenge(T* p, bool check_to_space); | 136 template <class T> static inline bool should_scavenge(T* p, bool check_to_space); |
137 | 137 |
138 template <class T> inline static void copy_and_push_safe_barrier(PSPromotionManager* pm, T* p); | 138 template <class T, bool promote_immediately> |
139 inline static void copy_and_push_safe_barrier(PSPromotionManager* pm, T* p); | |
139 | 140 |
140 // Is an object in the young generation | 141 // Is an object in the young generation |
141 // This assumes that the HeapWord argument is in the heap, | 142 // This assumes that the HeapWord argument is in the heap, |
142 // so it only checks one side of the complete predicate. | 143 // so it only checks one side of the complete predicate. |
143 inline static bool is_obj_in_young(HeapWord* o) { | 144 inline static bool is_obj_in_young(HeapWord* o) { |