Request for reviews (M): 7059037: Use BIS for zeroing on T4
vladimir.kozlov at oracle.com
Thu Aug 25 16:51:56 PDT 2011
Ramki Ramakrishna wrote:
> Hi Vladimir --
> On 8/24/2011 5:52 PM, Vladimir Kozlov wrote:
>> 7059037: Use BIS for zeroing on T4
>> Zap new object in CollectedHeap::allocate_from_tlab_slow() instead of
>> zeroing it
>> since it will be cleaned later in init_obj().
TLAB::allocate() zaps new objects so I think allocate_from_tlab_slow() should
also zap new object (and I copied code from ThreadLocalAllocBuffer::allocate())
instead of cleaning it since it will be cleaned later in init_obj().
>> Fixed call sites of check_for_bad_heap_word_value() where klass is not
>> initialized to avoid the verification failure.
-XX:+CheckMemoryInitialization -Xcomp t
VM option '+CheckMemoryInitialization'
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/collectedHeap.cpp:98
# A fatal error has been detected by the Java Runtime Environment:
# Internal Error
# assert((*(intptr_t*) (addr + slot)) != ((intptr_t) badHeapWordVal)) failed:
Found badHeapWordValue in post-allocation check
# JRE version: 7.0-b147
# Java VM: Java HotSpot(TM) Server VM (21.0-b17-fastdebug compiled mode
> Can you describe why these two changes were necessary? There was already
> for skipping headers for concurrent GC's when zapping and verifying. Did
> change that caused this to be changed.
> I haven't looked at the rest of the files, but a high level description
> of the need to
> make this change would allow me to review the changes that necessitated
> and whether it could not be done more easily otherwise (using the existing
> framework of skipping a preamble of words in the object).
> -- ramki
More information about the hotspot-compiler-dev