402 p2i(eden_start), 403 p2i(eden_end), 404 pointer_delta(eden_end, eden_start, sizeof(char))); 405 log_trace(gc, ergo)(" [ to_start .. to_end): " 406 "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT, 407 p2i(to_start), 408 p2i(to_end), 409 pointer_delta( to_end, to_start, sizeof(char))); 410 log_trace(gc, ergo)(" [from_start .. from_end): " 411 "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT, 412 p2i(from_start), 413 p2i(from_end), 414 pointer_delta(from_end, from_start, sizeof(char))); 415 } 416 417 418 guarantee((HeapWord*)from_start <= from_space()->bottom(), 419 "from start moved to the right"); 420 guarantee((HeapWord*)from_end >= from_space()->top(), 421 "from end moved into live data"); 422 assert(is_object_aligned((intptr_t)eden_start), "checking alignment"); 423 assert(is_object_aligned((intptr_t)from_start), "checking alignment"); 424 assert(is_object_aligned((intptr_t)to_start), "checking alignment"); 425 426 MemRegion edenMR((HeapWord*)eden_start, (HeapWord*)eden_end); 427 MemRegion toMR ((HeapWord*)to_start, (HeapWord*)to_end); 428 MemRegion fromMR((HeapWord*)from_start, (HeapWord*)from_end); 429 430 // Let's make sure the call to initialize doesn't reset "top"! 431 DEBUG_ONLY(HeapWord* old_from_top = from_space()->top();) 432 433 // For logging block below 434 size_t old_from = from_space()->capacity_in_bytes(); 435 size_t old_to = to_space()->capacity_in_bytes(); 436 437 if (ZapUnusedHeapArea) { 438 // NUMA is a special case because a numa space is not mangled 439 // in order to not prematurely bind its address to memory to 440 // the wrong memory (i.e., don't want the GC thread to first 441 // touch the memory). The survivor spaces are not numa 442 // spaces and are mangled. 443 if (UseNUMA) { 444 if (eden_from_to_order) { | 402 p2i(eden_start), 403 p2i(eden_end), 404 pointer_delta(eden_end, eden_start, sizeof(char))); 405 log_trace(gc, ergo)(" [ to_start .. to_end): " 406 "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT, 407 p2i(to_start), 408 p2i(to_end), 409 pointer_delta( to_end, to_start, sizeof(char))); 410 log_trace(gc, ergo)(" [from_start .. from_end): " 411 "[" PTR_FORMAT " .. " PTR_FORMAT ") " SIZE_FORMAT, 412 p2i(from_start), 413 p2i(from_end), 414 pointer_delta(from_end, from_start, sizeof(char))); 415 } 416 417 418 guarantee((HeapWord*)from_start <= from_space()->bottom(), 419 "from start moved to the right"); 420 guarantee((HeapWord*)from_end >= from_space()->top(), 421 "from end moved into live data"); 422 assert(is_ptr_object_aligned(eden_start), "checking alignment"); 423 assert(is_ptr_object_aligned(from_start), "checking alignment"); 424 assert(is_ptr_object_aligned(to_start), "checking alignment"); 425 426 MemRegion edenMR((HeapWord*)eden_start, (HeapWord*)eden_end); 427 MemRegion toMR ((HeapWord*)to_start, (HeapWord*)to_end); 428 MemRegion fromMR((HeapWord*)from_start, (HeapWord*)from_end); 429 430 // Let's make sure the call to initialize doesn't reset "top"! 431 DEBUG_ONLY(HeapWord* old_from_top = from_space()->top();) 432 433 // For logging block below 434 size_t old_from = from_space()->capacity_in_bytes(); 435 size_t old_to = to_space()->capacity_in_bytes(); 436 437 if (ZapUnusedHeapArea) { 438 // NUMA is a special case because a numa space is not mangled 439 // in order to not prematurely bind its address to memory to 440 // the wrong memory (i.e., don't want the GC thread to first 441 // touch the memory). The survivor spaces are not numa 442 // spaces and are mangled. 443 if (UseNUMA) { 444 if (eden_from_to_order) { |