Mercurial > hg > truffle
comparison src/share/vm/runtime/virtualspace.cpp @ 325:93befa083681
6741004: UseLargePages + UseCompressedOops breaks implicit null checking guard page
Summary: Turn off c2 implicit null checking on windows and large pages specified.
Reviewed-by: jrose, xlu
author | coleenp |
---|---|
date | Tue, 02 Sep 2008 15:18:26 -0400 |
parents | 1fdb98a17101 |
children | 9ee9cf798b59 032ddb9432ad |
comparison
equal
deleted
inserted
replaced
324:23c6240101a0 | 325:93befa083681 |
---|---|
378 | 378 |
379 ReservedHeapSpace::ReservedHeapSpace(size_t size, size_t alignment, | 379 ReservedHeapSpace::ReservedHeapSpace(size_t size, size_t alignment, |
380 bool large, char* requested_address) : | 380 bool large, char* requested_address) : |
381 ReservedSpace(size, alignment, large, | 381 ReservedSpace(size, alignment, large, |
382 requested_address, | 382 requested_address, |
383 UseCompressedOops ? lcm(os::vm_page_size(), alignment) : 0) { | 383 UseCompressedOops && UseImplicitNullCheckForNarrowOop ? |
384 lcm(os::vm_page_size(), alignment) : 0) { | |
384 // Only reserved space for the java heap should have a noaccess_prefix | 385 // Only reserved space for the java heap should have a noaccess_prefix |
385 // if using compressed oops. | 386 // if using compressed oops. |
386 protect_noaccess_prefix(size); | 387 protect_noaccess_prefix(size); |
387 } | 388 } |
388 | 389 |
389 ReservedHeapSpace::ReservedHeapSpace(const size_t prefix_size, | 390 ReservedHeapSpace::ReservedHeapSpace(const size_t prefix_size, |
390 const size_t prefix_align, | 391 const size_t prefix_align, |
391 const size_t suffix_size, | 392 const size_t suffix_size, |
392 const size_t suffix_align) : | 393 const size_t suffix_align) : |
393 ReservedSpace(prefix_size, prefix_align, suffix_size, suffix_align, | 394 ReservedSpace(prefix_size, prefix_align, suffix_size, suffix_align, |
394 UseCompressedOops ? lcm(os::vm_page_size(), prefix_align) : 0) { | 395 UseCompressedOops && UseImplicitNullCheckForNarrowOop ? |
396 lcm(os::vm_page_size(), prefix_align) : 0) { | |
395 protect_noaccess_prefix(prefix_size+suffix_size); | 397 protect_noaccess_prefix(prefix_size+suffix_size); |
396 } | 398 } |
397 | 399 |
398 // VirtualSpace | 400 // VirtualSpace |
399 | 401 |