> one thing: > > doesn't static-null-checking like this: > > if (val_t->meet(TypePtr::NULL_PTR) == val_t) { > > require remove_speculative() or such? That's true only until remove_speculative_types() is called in Compile::Optimize(), way before barriers are expanded. Roland.