RFR (XXL): JEP 243: Java-Level JVM Compiler Interface
Christian Thalinger
christian.thalinger at oracle.com
Fri Oct 2 22:43:56 UTC 2015
> On Oct 2, 2015, at 12:31 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>
> 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.
Thanks.
More information about the hotspot-dev
mailing list