Mercurial > hg > graal-jvmci-8
comparison src/share/vm/prims/jni.cpp @ 237:1fdb98a17101
6716785: implicit null checks not triggering with CompressedOops
Summary: allocate alignment-sized page(s) below java heap so that memory accesses at heap_base+1page give signal and cause an implicit null check
Reviewed-by: kvn, jmasa, phh, jcoomes
author | coleenp |
---|---|
date | Sat, 19 Jul 2008 17:38:22 -0400 |
parents | 9c2ecc2ffb12 |
children | 24fda36852ce |
comparison
equal
deleted
inserted
replaced
235:9c2ecc2ffb12 | 237:1fdb98a17101 |
---|---|
2171 static char* bad_address = NULL; | 2171 static char* bad_address = NULL; |
2172 if (bad_address == NULL) { | 2172 if (bad_address == NULL) { |
2173 size_t size = os::vm_allocation_granularity(); | 2173 size_t size = os::vm_allocation_granularity(); |
2174 bad_address = os::reserve_memory(size); | 2174 bad_address = os::reserve_memory(size); |
2175 if (bad_address != NULL) { | 2175 if (bad_address != NULL) { |
2176 os::commit_memory(bad_address, size); | 2176 os::protect_memory(bad_address, size, os::MEM_PROT_READ); |
2177 os::protect_memory(bad_address, size); | |
2178 } | 2177 } |
2179 } | 2178 } |
2180 return bad_address; | 2179 return bad_address; |
2181 } | 2180 } |
2182 | 2181 |