8075957: Reduce calls to the GC specific object visitors in oopDesc

Reviewed-by: brutisso, mgerdin, pliden
This commit is contained in:
Stefan Karlsson 2015-03-26 11:28:19 +01:00
parent 602b7d79e9
commit ba1d121fe0
26 changed files with 82 additions and 76 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2010, 2015 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -27,6 +27,8 @@
#include "gc_implementation/parallelScavenge/psCompactionManager.hpp"
#include "gc_implementation/parallelScavenge/psParallelCompact.hpp"
#include "oops/objArrayKlass.inline.hpp"
#include "oops/oop.pcgc.inline.hpp"
void ParCompactionManager::push_objarray(oop obj, size_t index)
{
@ -46,4 +48,17 @@ void ParCompactionManager::push_region(size_t index)
region_stack()->push(index);
}
inline void ParCompactionManager::follow_contents(oop obj) {
obj->follow_contents(this);
}
inline void ParCompactionManager::follow_contents(objArrayOop obj, int index) {
ObjArrayKlass* k = (ObjArrayKlass*)obj->klass();
k->oop_follow_contents(this, obj, index);
}
inline void ParCompactionManager::update_contents(oop obj) {
obj->update_contents(this);
}
#endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSCOMPACTIONMANAGER_INLINE_HPP