RFR (XXL): JEP 243: Java-Level JVM Compiler Interface

Kim Barrett kim.barrett at oracle.com
Fri Oct 2 22:31:48 UTC 2015


On Oct 2, 2015, at 5:04 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:
> 
>> On Oct 2, 2015, at 10:15 AM, Kim Barrett <kim.barrett at oracle.com> wrote:
>> 
>> On Oct 1, 2015, at 7:46 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:
>>> 
>>>> On Sep 30, 2015, at 3:19 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>>>> src/share/vm/gc/shared/cardTableRS.cpp  
>>>> Changes in CardTableRS::verify_space function.
>>>> 
>>>> These don't appear to be specifically related to JVMCI.  I'm not sure
>>>> whether this is someone's debugging code that was left in, or if it
>>>> might be viewed as an improvement.  Either way, I'd prefer that it be
>>>> a separate change that gets reviewed by folks interested in GC
>>>> changes, rather than being buried in the JVMCI change set.
>>> 
>>> Removed.
>> 
>> Not completely.  […]
>> 
>> [Note that the removal of the unnecessary (HeapWord*) cast is in there.]
> 
> But you want me to keep that, right?

Yes - just highlighting that this change to keep was intermixed with the stuff to remove.
Looks like you did what I wanted, even if I didn’t say it clearly.

>> @@ -344,19 +344,26 @@
>>     assert(jp >= _begin && jp < _end,
>>            err_msg("Error: jp " PTR_FORMAT " should be within "
>>                    "[_begin, _end) = [" PTR_FORMAT "," PTR_FORMAT ")",
>>                    p2i(jp), p2i(_begin), p2i(_end)));
>>     oop obj = oopDesc::load_decode_heap_oop(p);
>> -    guarantee(obj == NULL || (HeapWord*)obj >= _boundary,
>> -              err_msg("pointer " PTR_FORMAT " at " PTR_FORMAT " on "
>> +    if (!(obj == NULL || (HeapWord*)obj >= _boundary)) {
>> +      tty->print_cr("pointer " PTR_FORMAT " at " PTR_FORMAT " on "
>>                       "clean card crosses boundary" PTR_FORMAT,
>> -                      p2i((HeapWord*)obj), p2i(jp), p2i(_boundary)));
>> +                    p2i(obj), p2i(jp), p2i(_boundary));
>> +#ifndef PRODUCT
>> +      obj->print();
>> +#endif
>> +      had_error = true;
>> +    }
>>   }
>> 
>> public:
>> +  bool had_error;
>> +  
>>   VerifyCleanCardClosure(HeapWord* b, HeapWord* begin, HeapWord* end) :
>> -    _boundary(b), _begin(begin), _end(end) {
>> +    _boundary(b), _begin(begin), _end(end), had_error(false) {
>>     assert(b <= begin,
>>            err_msg("Error: boundary " PTR_FORMAT " should be at or below begin " PTR_FORMAT,
>>                    p2i(b), p2i(begin)));
>>     assert(begin <= end,
>>            err_msg("Error: begin " PTR_FORMAT " should be strictly below end " PTR_FORMAT,
> 
> Sorry, it wasn’t obvious to me that you are also talking about this code.  Removed:
> 
> http://hg.openjdk.java.net/graal/graal-jvmci-9/hotspot/rev/2d707abdbfba

Thanks.  Sorry for being unclear; when I said “changes to verify_space” I was including the
related changes to the helper closure object.

And that addresses the last of my comments.



More information about the hotspot-dev mailing list