Commit 0b1191cf authored by Bill Buzbee's avatar Bill Buzbee Committed by buzbee
Browse files

Revert "Revert "Null check elimination improvement""

This reverts commit 31aa97cf.

..and thereby brings back change 380165, which was reverted
because it was buggy.

Three problems with the original CL:

  1.  The author ran the pre-submit tests, but used -j24 and
      failed to search the output for fail messages.
  2.  The new null check analysis pass uses an interative
      approach to identify whether a null check is needed.  It
      is possible that the null-check-required state may
      oscillate, and a logic error caused it to stick in the
      "no check needed" state.
  3.  Our old nemesis Dalvik untyped constants, in which 0 values
      can be used both as object reference and non-object references.
      This CL conservatively treats all CONST definitions as
      potential object definitions for the purposes of null
      check elimination.

Change-Id: I3c1744e44318276e42989502a314585e56ac57a0
parent 7195dd86
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment