< prev index next >
src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp
Print this page
rev 55608 : Rename ShenandoahBrooksPointer to ShenandoahForwarding
rev 55609 : Eliminate extra forwarding pointer per object
@@ -21,11 +21,10 @@
*
*/
#include "precompiled.hpp"
#include "gc/shared/barrierSet.hpp"
-#include "gc/shenandoah/shenandoahForwarding.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahHeuristics.hpp"
#include "gc/shenandoah/shenandoahRuntime.hpp"
#include "gc/shenandoah/shenandoahThreadLocalData.hpp"
#include "gc/shenandoah/c2/shenandoahBarrierSetC2.hpp"
@@ -708,34 +707,10 @@
void ShenandoahBarrierSetC2::clone(GraphKit* kit, Node* src, Node* dst, Node* size, bool is_array) const {
assert(!src->is_AddP(), "unexpected input");
BarrierSetC2::clone(kit, src, dst, size, is_array);
}
-Node* ShenandoahBarrierSetC2::obj_allocate(PhaseMacroExpand* macro, Node* ctrl, Node* mem, Node* toobig_false, Node* size_in_bytes,
- Node*& i_o, Node*& needgc_ctrl,
- Node*& fast_oop_ctrl, Node*& fast_oop_rawmem,
- intx prefetch_lines) const {
- PhaseIterGVN& igvn = macro->igvn();
-
- // Allocate several words more for the Shenandoah brooks pointer.
- size_in_bytes = new AddXNode(size_in_bytes, igvn.MakeConX(ShenandoahForwarding::byte_size()));
- macro->transform_later(size_in_bytes);
-
- Node* fast_oop = BarrierSetC2::obj_allocate(macro, ctrl, mem, toobig_false, size_in_bytes,
- i_o, needgc_ctrl, fast_oop_ctrl, fast_oop_rawmem,
- prefetch_lines);
-
- // Bump up object for Shenandoah brooks pointer.
- fast_oop = new AddPNode(macro->top(), fast_oop, igvn.MakeConX(ShenandoahForwarding::byte_size()));
- macro->transform_later(fast_oop);
-
- // Initialize Shenandoah brooks pointer to point to the object itself.
- fast_oop_rawmem = macro->make_store(fast_oop_ctrl, fast_oop_rawmem, fast_oop, ShenandoahForwarding::byte_offset(), fast_oop, T_OBJECT);
-
- return fast_oop;
-}
-
// Support for GC barriers emitted during parsing
bool ShenandoahBarrierSetC2::is_gc_barrier_node(Node* node) const {
if (node->Opcode() == Op_ShenandoahLoadReferenceBarrier) return true;
if (node->Opcode() != Op_CallLeaf && node->Opcode() != Op_CallLeafNoFP) {
return false;
< prev index next >