src/share/vm/opto/parse1.cpp

changeset 7341
e7b3d177adda
parent 7041
411e30e5fbb8
child 7535
7ae4e26cb1e0
child 8316
626f594dffa6
child 8368
32b682649973
equal deleted inserted replaced
7340:1a2069ede139 7341:e7b3d177adda
1956 1956
1957 // Insert a dynamic test for whether the instance needs 1957 // Insert a dynamic test for whether the instance needs
1958 // finalization. In general this will fold up since the concrete 1958 // finalization. In general this will fold up since the concrete
1959 // class is often visible so the access flags are constant. 1959 // class is often visible so the access flags are constant.
1960 Node* klass_addr = basic_plus_adr( receiver, receiver, oopDesc::klass_offset_in_bytes() ); 1960 Node* klass_addr = basic_plus_adr( receiver, receiver, oopDesc::klass_offset_in_bytes() );
1961 Node* klass = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), klass_addr, TypeInstPtr::KLASS) ); 1961 Node* klass = _gvn.transform(LoadKlassNode::make(_gvn, NULL, immutable_memory(), klass_addr, TypeInstPtr::KLASS));
1962 1962
1963 Node* access_flags_addr = basic_plus_adr(klass, klass, in_bytes(Klass::access_flags_offset())); 1963 Node* access_flags_addr = basic_plus_adr(klass, klass, in_bytes(Klass::access_flags_offset()));
1964 Node* access_flags = make_load(NULL, access_flags_addr, TypeInt::INT, T_INT, MemNode::unordered); 1964 Node* access_flags = make_load(NULL, access_flags_addr, TypeInt::INT, T_INT, MemNode::unordered);
1965 1965
1966 Node* mask = _gvn.transform(new (C) AndINode(access_flags, intcon(JVM_ACC_HAS_FINALIZER))); 1966 Node* mask = _gvn.transform(new (C) AndINode(access_flags, intcon(JVM_ACC_HAS_FINALIZER)));

mercurial