Conversation
Tracks nullness of values using an ASM analyzer. Tracking nullness requires alias tracking for local variables and stack values. For example, after an instance call, local variables that point to the same object as the receiver are treated not-null.
When inlining an instance call, the inliner has to ensure that a NPE is still thrown if the receiver object is null. By using the nullness analysis, we can avoid emitting this code in case the receiver object is known to be not-null.
|
Recommended path for reviewing:
Review by @retronym. |
|
Build failed to resolve the upgraded |
|
Ugh, jenkins why you abort jobs and call them a success??? |
|
See also scala/scala-jenkins-infra#33 |
|
for the first job, scabot shows |
|
thats because jenkins doesn't recognize the rebuild as part of that flow |
|
aha! |
|
Started a bootstrap with the optimizer and nullness analysis enabled: it didn't get far :) https://scala-webapps.epfl.ch/jenkins/view/All/job/scala-checkin-manual/1390/console Will look at it next week. |
Address feedback in scala#4516 / 57b8da4. Save allocations of NullnessValue - there's only 4 possible instances. Also save tuple allocations in InstructionStackEffect.
|
I accidentally submitted this to 2.12 - resubmitted in #4519 |
Address feedback in scala#4516 / 57b8da4. Save allocations of NullnessValue - there's only 4 possible instances. Also save tuple allocations in InstructionStackEffect.

No description provided.