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