OSDN Git Service

ART: Implement kMirOpNullCheck
authorRazvan A Lupusoru <razvan.a.lupusoru@intel.com>
Mon, 4 Aug 2014 16:38:46 +0000 (09:38 -0700)
committerRazvan A Lupusoru <razvan.a.lupusoru@intel.com>
Wed, 20 Aug 2014 17:42:10 +0000 (17:42 +0000)
commit7642324bc8a5c839c669aebbb1fba61c05418651
tree1abf21ecf589c62c47ba320bf35d00bbff7d4e97
parent07277a700cdc7de2f40773a05c7a791b71abd581
ART: Implement kMirOpNullCheck

The semantics of kMirOpNullCheck is to check object for null and
throw exception in that case. However, the implementation for it
is empty. This has been changed and appropriate dataflow have been
added to correctly reflect behavior.

In order to allow testing of implementation, the SpecialMethodInliner
has been updated to get rid of invoke and use this instead. This helps
all optimizations which do not check the MIR_INLINED flag because
when invoke is left in, they believe that invoke will still be done.

Change-Id: I62e425e42bdbc6357246fb949db5f79de73cf358
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
compiler/dex/compiler_enums.h
compiler/dex/mir_dataflow.cc
compiler/dex/quick/dex_file_method_inliner.cc
compiler/dex/quick/mir_to_lir.cc