src/share/vm/opto/parse1.cpp

changeset 599
c436414a719e
parent 473
b789bcaf2dd9
child 631
d1605aabd0a1
equal deleted inserted replaced
598:885ed790ecf0 599:c436414a719e
1899 1899
1900 // Insert a dynamic test for whether the instance needs 1900 // Insert a dynamic test for whether the instance needs
1901 // finalization. In general this will fold up since the concrete 1901 // finalization. In general this will fold up since the concrete
1902 // class is often visible so the access flags are constant. 1902 // class is often visible so the access flags are constant.
1903 Node* klass_addr = basic_plus_adr( receiver, receiver, oopDesc::klass_offset_in_bytes() ); 1903 Node* klass_addr = basic_plus_adr( receiver, receiver, oopDesc::klass_offset_in_bytes() );
1904 Node* klass = _gvn.transform(new (C, 3) LoadKlassNode(NULL, immutable_memory(), klass_addr, TypeInstPtr::KLASS)); 1904 Node* klass = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), klass_addr, TypeInstPtr::KLASS) );
1905 1905
1906 Node* access_flags_addr = basic_plus_adr(klass, klass, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc)); 1906 Node* access_flags_addr = basic_plus_adr(klass, klass, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc));
1907 Node* access_flags = make_load(NULL, access_flags_addr, TypeInt::INT, T_INT); 1907 Node* access_flags = make_load(NULL, access_flags_addr, TypeInt::INT, T_INT);
1908 1908
1909 Node* mask = _gvn.transform(new (C, 3) AndINode(access_flags, intcon(JVM_ACC_HAS_FINALIZER))); 1909 Node* mask = _gvn.transform(new (C, 3) AndINode(access_flags, intcon(JVM_ACC_HAS_FINALIZER)));

mercurial