hotspot/src/share/vm/opto/parse1.cpp
changeset 27637 cf68c0af6882
parent 26913 9ad70cd32368
child 28395 fbe08d791778
equal deleted inserted replaced
27456:854b988388f3 27637:cf68c0af6882
  1985 
  1985 
  1986   // Insert a dynamic test for whether the instance needs
  1986   // Insert a dynamic test for whether the instance needs
  1987   // finalization.  In general this will fold up since the concrete
  1987   // finalization.  In general this will fold up since the concrete
  1988   // class is often visible so the access flags are constant.
  1988   // class is often visible so the access flags are constant.
  1989   Node* klass_addr = basic_plus_adr( receiver, receiver, oopDesc::klass_offset_in_bytes() );
  1989   Node* klass_addr = basic_plus_adr( receiver, receiver, oopDesc::klass_offset_in_bytes() );
  1990   Node* klass = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), klass_addr, TypeInstPtr::KLASS) );
  1990   Node* klass = _gvn.transform(LoadKlassNode::make(_gvn, NULL, immutable_memory(), klass_addr, TypeInstPtr::KLASS));
  1991 
  1991 
  1992   Node* access_flags_addr = basic_plus_adr(klass, klass, in_bytes(Klass::access_flags_offset()));
  1992   Node* access_flags_addr = basic_plus_adr(klass, klass, in_bytes(Klass::access_flags_offset()));
  1993   Node* access_flags = make_load(NULL, access_flags_addr, TypeInt::INT, T_INT, MemNode::unordered);
  1993   Node* access_flags = make_load(NULL, access_flags_addr, TypeInt::INT, T_INT, MemNode::unordered);
  1994 
  1994 
  1995   Node* mask  = _gvn.transform(new AndINode(access_flags, intcon(JVM_ACC_HAS_FINALIZER)));
  1995   Node* mask  = _gvn.transform(new AndINode(access_flags, intcon(JVM_ACC_HAS_FINALIZER)));