There were two mistakes in the store check assembly: - It was comparing against first_region_bottom instead of last_region_end - It was using a 32-bit immediate compare op. For 64 bit, the operand needs to be copied into a tmp register first, and then compare against that. http://cr.openjdk.java.net/~rkennke/fixstorecheck/webrev.00/ Ok? Roman