< prev index next >

src/hotspot/share/opto/callnode.cpp

Print this page
*** 1674,13 ***
    if (analyzer->is_arg_stack(0) || analyzer->is_arg_local(0)) {
      _is_allocation_MemBar_redundant = true;
    }
  }
  Node *AllocateNode::make_ideal_mark(PhaseGVN *phase, Node* obj, Node* control, Node* mem) {
!   Node* mark_node = NULL;
!   // For now only enable fast locking for non-array types
!   mark_node = phase->MakeConX(markWord::prototype().value());
    return mark_node;
  }
  
  //=============================================================================
  Node* AllocateArrayNode::Ideal(PhaseGVN *phase, bool can_reshape) {
--- 1674,13 ---
    if (analyzer->is_arg_stack(0) || analyzer->is_arg_local(0)) {
      _is_allocation_MemBar_redundant = true;
    }
  }
  Node *AllocateNode::make_ideal_mark(PhaseGVN *phase, Node* obj, Node* control, Node* mem) {
!   Node* klass_node = in(AllocateNode::KlassNode);
!   Node* proto_adr = phase->transform(new AddPNode(klass_node, klass_node, phase->MakeConX(in_bytes(Klass::prototype_header_offset()))));
!   Node* mark_node = LoadNode::make(*phase, control, mem, proto_adr, TypeRawPtr::BOTTOM, TypeX_X, TypeX_X->basic_type(), MemNode::unordered);
    return mark_node;
  }
  
  //=============================================================================
  Node* AllocateArrayNode::Ideal(PhaseGVN *phase, bool can_reshape) {
< prev index next >