OSDN Git Service

Fix and enable java.lang.StringFactory intrinsics.
authorRoland Levillain <rpl@google.com>
Wed, 9 Mar 2016 16:14:00 +0000 (16:14 +0000)
committerRoland Levillain <rpl@google.com>
Wed, 9 Mar 2016 16:14:00 +0000 (16:14 +0000)
commitf969a209c30e3af636342d2fb7851d82a2529bf7
tree6cf14b0ef2a82f6552c497f1889f967f9f722e5f
parentce51701b0621754a81125df3ed62e07c0497cafd
Fix and enable java.lang.StringFactory intrinsics.

The following intrinsics were not considered by the
intrinsics recognizer:
- StringNewStringFromBytes
- StringNewStringFromChars
- StringNewStringFromString
This CL enables them and add tests for them.

This CL also:
- Fixes the locations of the ARM64 & MIPS64
  StringNewStringFromString intrinsics.
- Fixes the definitions of the FOUR_ARG_DOWNCALL macros on
  ARM and x86, which are used to implement the
  art_quick_alloc_string_from_bytes* runtime entry points.
- Fixes PC info (stack maps) recording in the
  StringNewStringFromBytes, StringNewStringFromChars and
  StringNewStringFromString ARM, ARM64 & MIPS64 intrinsics.

Bug: 27425743
Change-Id: I38c00d3f0b2e6b64f7d3fe9146743493bef9e45c
12 files changed:
compiler/dex/quick/dex_file_method_inliner.cc
compiler/optimizing/intrinsics_arm.cc
compiler/optimizing/intrinsics_arm64.cc
compiler/optimizing/intrinsics_mips64.cc
compiler/optimizing/intrinsics_x86.cc
compiler/optimizing/intrinsics_x86_64.cc
runtime/arch/arm/quick_entrypoints_arm.S
runtime/arch/x86/asm_support_x86.S
runtime/arch/x86/quick_entrypoints_x86.S
test/580-checker-string-factory-intrinsics/expected.txt [new file with mode: 0644]
test/580-checker-string-factory-intrinsics/info.txt [new file with mode: 0644]
test/580-checker-string-factory-intrinsics/src/Main.java [new file with mode: 0644]