The following line was introduced twice in each of two files:
set_mdp_flag_at(mdp, BitData::null_seen_byte_constant());
The files are:
src/cpu/amd64/vm/interp_masm_amd64.cpp
src/cpu/i486/vm/interp_masm_i486.cpp
The lines were apparently introduced by re-application of a patch.
Their contexts are extremely similar, but one context is the correct
location and the other is incorrect. The bug is that the null_seen
bit is set in the MDO on code paths generated by both
profile_null_seen and profile_typecheck in InterpreterMacroAssembler.
Only the former should set that bit. The result is that the
server compiler always performs a careful explicit null check
on the casted oop, instead of (what should be the usual case)
an implicit null check.
Fix is to remove the duplicate lines, one from each file.