Hi Goetz,
in bytecodeUtils.cpp, in print_local_var(),
i believe that the code
  if (!method->is_static() && (slot == 0)) {
      os->print("this");
  }
  ...
is only true if the bytecode is generated by javac and ecj, tools like proguard 
that tries to obfuscate the code will reuse the slot 0 once "this" is not 
needed anymore.
This is obviously also true for any other parameters, so in my opinion, you 
should not try to be too heroic here and always display "local%d". 

The other solution is to propagate "this" and "parameter%d" during the static 
analysis, so "this" will become "local0" once a store_0 is seen.

Rémi

----- Mail original -----
> De: "Goetz Lindenmaier" <goetz.lindenma...@sap.com>
> À: "hotspot-runtime-dev" <hotspot-runtime-...@openjdk.java.net>, 
> "core-libs-dev" <core-libs-dev@openjdk.java.net>
> Envoyé: Mardi 17 Septembre 2019 16:18:03
> Objet: RE: RFR (L, final): 8218626: Add detailed message to 
> NullPointerException describing what is null.

> @core-libs experts, I would appreciate comments on the changes
> to NullPointerException.java, especially wrt. the Javadoc comment.
> The change there is S.
> 
> Best regards,
>  Goetz.
> 
>> -----Original Message-----
>> From: Lindenmaier, Goetz
>> Sent: Dienstag, 10. September 2019 11:48
>> To: 'Hotspot dev runtime' <hotspot-runtime-...@openjdk.java.net>; Java Core
>> Libs <core-libs-dev@openjdk.java.net>
>> Subject: RFR (L, final): 8218626: Add detailed message to 
>> NullPointerException
>> describing what is null.
>> 
>> Hi,
>> 
>> 
>> 
>> this is the implementation of JEP 358: Helpful NullPointerExceptions.
>> 
>> 
>> 
>> The JEP is in status "Candidate". Coleen (many, many thanks!) ran
>> 
>> it through the Oracle-internal processes.  Now I please need final reviews
>> 
>> for this change so that I can propose it to target jdk 14.
>> 
>> 
>> 
>> JEP: https://bugs.openjdk.java.net/browse/JDK-8220715
>> 
>> Enhancement: https://bugs.openjdk.java.net/browse/JDK-8218628
>> 
>> webrev: http://cr.openjdk.java.net/~goetz/wr19/8218628-exMsg-NPE/16/
>> 
>> 
>> 
>> The change ran through a lot of testing, all jtreg and jck tests to name
>> 
>> only some. The webrev points to patch
>> 
>> http://cr.openjdk.java.net/~goetz/wr19/8218628-exMsg-
>> NPE/16/enable_NPE_message.patch
>> 
>> that enables the change by default,  which was useful for testing to
>> 
>> assure the code is used in the tests.
>> 
>> I just pushed the change to jdk/submit once more.
>> 
>> 
>> 
>> Please review.
>> 
>> 
>> 
>> Thanks!
>> 
> >   Goetz.

Reply via email to