RFR (S): 8022585: JVM crashes when ran with -XX:+PrintInlining
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Sep 20 17:54:53 PDT 2013
Thank you, Christian
On 9/20/13 4:56 PM, Christian Thalinger wrote:
> src/share/vm/c1/c1_GraphBuilder.cpp:
>
> ! if (!PrintInlining && !compilation()->method()->has_option("PrintInlining")) return;
>
> Can you put the return on the next line?
Done.
>
> src/share/vm/opto/compile.hpp:
>
> bool print_assembly() const { return _print_assembly; }
> void set_print_assembly(bool z) { _print_assembly = z; }
> + bool print_inlining() const { return _print_inlining; }
> + void set_print_inlining(bool z) { _print_inlining = z; }
> + bool print_intrinsics() const { return _print_intrinsics; }
> + void set_print_intrinsics(bool z) { _print_intrinsics = z; }
>
> Although this follows our naming convention for getters and setters print_inlining is confusing because another print_inlining method does the actual printing. Maybe we should prefix these methods with "should_"?
I would like to keep it. It is consistent with other print flags
accessors. The big difference from printing method is this one does not
have arguments. So it is easy to separate them.
thanks,
Vladimir
>
> Otherwise this looks good.
>
> On Sep 20, 2013, at 4:37 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
>> http://cr.openjdk.java.net/~kvn/8022585/webrev/
>>
>> We can't use +PrintInlining flag in 7u40 after 8005031 changes were backported into 7u40. These changes keep inlining info in GrowableArray and use GrowableArray::at() method to access elements. Unfortunately in jdk7u40 at() method is copy constructor vs &at() method which returns reference in jdk8 (changed for 7200776). As result in jdk7u40 all changes to inline info are done to local copy and lost.
>>
>> This problem was reported 2 times. One report (8019313) was from Andreas Schoesser who did evaluation of the problem and suggested the fix.
>>
>> I extended his fix to use adr_at() instead of at() in all places where inlining info is accessed. It will simplify the backport into 7update.
>> I also added ability to print inlining and intrinsic per method:
>>
>> -XX:CompileCommand=option,Test::test,PrintInlining
>>
>> https://bugs.openjdk.java.net/browse/JDK-8019313
>> https://bugs.openjdk.java.net/browse/JDK-8022585
>>
>> Thanks,
>> Vladimir
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
More information about the hotspot-compiler-dev
mailing list