11 * version 2 for more details (a copy is included in the LICENSE file that
12 * accompanied this code).
13 *
14 * You should have received a copy of the GNU General Public License version
15 * 2 along with this work; if not, write to the Free Software Foundation,
16 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17 *
18 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
19 * or visit www.oracle.com if you need additional information or have any
20 * questions.
21 *
22 */
23
24 #ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
25 #define SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
26
27 #include "gc_implementation/shenandoah/shenandoahPacer.hpp"
28
29 inline void ShenandoahPacer::report_mark(size_t words) {
30 report_internal(words);
31 }
32
33 inline void ShenandoahPacer::report_evac(size_t words) {
34 report_internal(words);
35 }
36
37 inline void ShenandoahPacer::report_updaterefs(size_t words) {
38 report_internal(words);
39 }
40
41 inline void ShenandoahPacer::report_alloc(size_t words) {
42 report_internal(words);
43 }
44
45 inline void ShenandoahPacer::report_internal(size_t words) {
46 assert(ShenandoahPacing, "Only be here when pacing is enabled");
47 STATIC_ASSERT(sizeof(size_t) <= sizeof(intptr_t));
48 Atomic::add((intptr_t)words, &_budget);
49 }
50
51 #endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
|
11 * version 2 for more details (a copy is included in the LICENSE file that
12 * accompanied this code).
13 *
14 * You should have received a copy of the GNU General Public License version
15 * 2 along with this work; if not, write to the Free Software Foundation,
16 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17 *
18 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
19 * or visit www.oracle.com if you need additional information or have any
20 * questions.
21 *
22 */
23
24 #ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
25 #define SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
26
27 #include "gc_implementation/shenandoah/shenandoahPacer.hpp"
28
29 inline void ShenandoahPacer::report_mark(size_t words) {
30 report_internal(words);
31 report_progress_internal(words);
32 }
33
34 inline void ShenandoahPacer::report_evac(size_t words) {
35 report_internal(words);
36 }
37
38 inline void ShenandoahPacer::report_updaterefs(size_t words) {
39 report_internal(words);
40 }
41
42 inline void ShenandoahPacer::report_alloc(size_t words) {
43 report_internal(words);
44 }
45
46 inline void ShenandoahPacer::report_internal(size_t words) {
47 assert(ShenandoahPacing, "Only be here when pacing is enabled");
48 STATIC_ASSERT(sizeof(size_t) <= sizeof(intptr_t));
49 Atomic::add((intptr_t)words, &_budget);
50 }
51
52 inline void ShenandoahPacer::report_progress_internal(size_t words) {
53 assert(ShenandoahPacing, "Only be here when pacing is enabled");
54 STATIC_ASSERT(sizeof(size_t) <= sizeof(intptr_t));
55 Atomic::add((intptr_t)words, &_progress);
56 }
57
58 #endif //SHARE_VM_GC_SHENANDOAH_SHENANDOAHPACER_INLINE_HPP
|