OSDN Git Service
Jeff Hao [Tue, 15 Nov 2016 02:35:38 +0000 (02:35 +0000)]
Merge "Fix use of std::stoi without error handling."
Treehugger Robot [Mon, 14 Nov 2016 23:44:49 +0000 (23:44 +0000)]
Merge "Optimize non-intrinsic object array copy for Baker."
Jeff Hao [Mon, 14 Nov 2016 23:31:06 +0000 (15:31 -0800)]
Fix use of std::stoi without error handling.
Changed to use strtoul, with a break if it fails to read the checksum.
Test: mm test-art-host
Bug:
32066687
Change-Id: Ic1299c23aae15a8329ad57b4eca5c0857f6eefb6
Mathieu Chartier [Mon, 14 Nov 2016 23:08:34 +0000 (23:08 +0000)]
Merge "Change 64 bit atomic counter to size_t"
Hiroshi Yamauchi [Mon, 14 Nov 2016 21:42:50 +0000 (13:42 -0800)]
Optimize non-intrinsic object array copy for Baker.
Check the gray bit per array rather than per element.
Bug:
12687968
Test: test-art-host with CC.
Change-Id: I20b44e522e66f0b156644b93a2885a8e7f40f8db
Mathieu Chartier [Mon, 14 Nov 2016 20:49:27 +0000 (20:49 +0000)]
Merge "Clean up interface check cast"
Mathieu Chartier [Mon, 14 Nov 2016 18:50:29 +0000 (10:50 -0800)]
Clean up interface check cast
Changed arm, arm64 to use less labels and removed forward branch
in the success case.
Cleaned up X86, X86_64 to remove the is_null label.
Bug:
12687968
Bug:
32577579
Test: test-art-host, test-art-target CC
Change-Id: Iba426dff548b2ef42198fad13efeb075f7c724a7
Treehugger Robot [Mon, 14 Nov 2016 18:18:12 +0000 (18:18 +0000)]
Merge "ART: Make test 030 slightly more robust"
Nicolas Geoffray [Mon, 14 Nov 2016 12:41:12 +0000 (12:41 +0000)]
Merge "Revert "Revert "Revert "JIT root tables.""""
Nicolas Geoffray [Mon, 14 Nov 2016 12:40:52 +0000 (12:40 +0000)]
Revert "Revert "Revert "JIT root tables."""
libcore failures:
dalvikvm32 F 11-14 03:04:06 14870 14870 jit_code_cache.cc:310] Check failed: new_string != nullptr
This reverts commit
75afcdd3503a8a8518e5b23d21b6e73306ce39ce.
Change-Id: I5a6b6b48aa79a763d1ff1ba4d85d63811254787d
Nicolas Geoffray [Mon, 14 Nov 2016 12:38:11 +0000 (12:38 +0000)]
Merge "Update test expectation."
Nicolas Geoffray [Mon, 14 Nov 2016 12:36:55 +0000 (12:36 +0000)]
Update test expectation.
test: 902
Change-Id: I0d9082a34a66c5f2aadec90eda0c5c2a0feef2e4
Nicolas Geoffray [Mon, 14 Nov 2016 09:24:56 +0000 (09:24 +0000)]
Merge "Revert "Revert "Rename vdex-fd to output-vdex-fd, add input-vdex-fd."""
Nicolas Geoffray [Mon, 14 Nov 2016 09:13:46 +0000 (09:13 +0000)]
Merge "Revert "Revert "JIT root tables."""
Nicolas Geoffray [Mon, 14 Nov 2016 09:12:59 +0000 (09:12 +0000)]
Merge "Update 902 test to highlight JIT issue."
Nicolas Geoffray [Fri, 11 Nov 2016 11:45:59 +0000 (11:45 +0000)]
Update 902 test to highlight JIT issue.
Test: 902-hello-transformation
bug:
32821077
Change-Id: Ic7d267a5e62d4e001d1b85f1cc3d10546814bd18
Nicolas Geoffray [Sat, 12 Nov 2016 13:58:17 +0000 (13:58 +0000)]
Merge "ARM: VIXL32: Implement more codegen visitors."
Treehugger Robot [Sat, 12 Nov 2016 06:48:17 +0000 (06:48 +0000)]
Merge "Add visiting for class loaders in StickyMarkSweep"
Treehugger Robot [Sat, 12 Nov 2016 02:59:32 +0000 (02:59 +0000)]
Merge "ART: Fix alloc-dealloc mismatch"
Andreas Gampe [Sat, 12 Nov 2016 01:11:25 +0000 (17:11 -0800)]
ART: Fix alloc-dealloc mismatch
Mark type as array.
Bug:
31098551
Test: m test-art-host
Change-Id: Ia27a997e838a408cc68f0d9fe58734155e709e85
neo.chae [Mon, 7 Nov 2016 23:40:46 +0000 (08:40 +0900)]
Add visiting for class loaders in StickyMarkSweep
StickyMarkSweep clear the mark stack,
Because all reachable objects must be referenced by a root or a dirty card.
But, there are some marking hole for class object.
If some object is marked and the object and it's class object is not dirty,
Then class object cannot be marking by card table.
In previous OS including mashmellow,
Class table was maintaned by class linker
and all class object was marked with kVisitRootFlagAllRoots flag.
In N OS,
Class object is not marked with kVisitRootFlagAllRoots.
So, I added new flag to mark class object and using it StickyMarkSweep.
Added regression test in 141-class-unload.
Test: test-art-host
Change-Id: I57599e6db53b260f4c5ef466b63962141b8da5c3
Signed-off-by: Hyangseok Chae <neo.chae@lge.com>
Treehugger Robot [Fri, 11 Nov 2016 19:18:23 +0000 (19:18 +0000)]
Merge "Fixed bug in LICM"
Hiroshi Yamauchi [Fri, 11 Nov 2016 18:44:44 +0000 (18:44 +0000)]
Merge "Make empty checkpoint work while weak ref access is disabled."
Aart Bik [Fri, 11 Nov 2016 02:21:30 +0000 (18:21 -0800)]
Fixed bug in LICM
Rationale:
We should stop hoisting anything that can throw
as soon as something else that can do something
visible (either throw or write something) is *not*
hoisted (used to be just throw test on second part).
Bug:
32810295
Test: test-art-host
Change-Id: Id88b712a5d9e37598d0bebbd4ecf4b1d8ee787b5
Treehugger Robot [Fri, 11 Nov 2016 17:27:01 +0000 (17:27 +0000)]
Merge "ART: Properly synchronize test 039"
Treehugger Robot [Fri, 11 Nov 2016 17:26:04 +0000 (17:26 +0000)]
Merge "ART: Expose vreg and visitor in RootInfo"
Treehugger Robot [Fri, 11 Nov 2016 17:24:24 +0000 (17:24 +0000)]
Merge "ART: Rewrite test 913 verification"
Orion Hodson [Fri, 11 Nov 2016 15:01:52 +0000 (15:01 +0000)]
Merge "MethodHandles: Fix MethodType::IsConvertible() error."
Orion Hodson [Fri, 11 Nov 2016 12:03:29 +0000 (12:03 +0000)]
MethodHandles: Fix MethodType::IsConvertible() error.
Conversions between non-numeric primitives and their boxed equivalents
were being rejected.
Test: m test-art-host-run-test-956-methodhandles
Bug:
30550796
Change-Id: I4ee255be3a4549246548185e362789561382ba1b
Nicolas Geoffray [Thu, 10 Nov 2016 10:38:11 +0000 (10:38 +0000)]
Revert "Revert "JIT root tables.""
Also contains Revert "Support kJitTableAddress in x86/arm/arm64."
This reverts commit
4acd03638fcdb4e5d1666f8eec7eb3bf6d6be035.
This reverts commit
997d1217830c0a18b70faeabd53c04700a87d7d9.
Test: ART_USE_READ_BARRIER=true/false test-art-host test-art-target
Change-Id: I77cb1e9bf8f1b4c58b72d3cf5ca31ced2aaa1ea3
Nicolas Geoffray [Fri, 11 Nov 2016 11:57:21 +0000 (11:57 +0000)]
Merge "Dump c1visualizer output before and after each pass."
Nicolas Geoffray [Fri, 11 Nov 2016 11:49:11 +0000 (11:49 +0000)]
Merge "ARM: VIXL32: Implement InstanceOf, InvokeInterface and others."
Orion Hodson [Fri, 11 Nov 2016 10:16:24 +0000 (10:16 +0000)]
Merge "MethodHandles: Enable return value conversions."
Mathieu Chartier [Fri, 11 Nov 2016 01:55:22 +0000 (01:55 +0000)]
Merge "Fix mips build"
Mathieu Chartier [Fri, 11 Nov 2016 01:52:42 +0000 (17:52 -0800)]
Fix mips build
Test: untested
Change-Id: Ied193834bf2a187b0cb8ffdbdece72023698b1f6
Mathieu Chartier [Fri, 11 Nov 2016 00:58:22 +0000 (00:58 +0000)]
Merge "Use entrypoint switching to reduce code size of GcRoot read barrier"
Andreas Gampe [Thu, 10 Nov 2016 06:54:25 +0000 (22:54 -0800)]
ART: Rewrite test 913 verification
Make the test more robust wrt/ the liberty the specification
gives for iteration order. Also make it robust wrt/ JIT by
waiting for any compilation to finish before following
references.
This reverts commit
a35c584d7eb0ae02c9511f5f891b284362b12e28.
This reverts commit
8c433b9e45a26e3bde123a5b2697ca801ae8b039.
Test: m ART_TEST_INTERPRETER=true ART_TEST_JIT=true test-art-host-run-test-913-heaps
Change-Id: Ia94c597f4f7b66ab1014efb483b3aed2e859099a
Mathieu Chartier [Wed, 9 Nov 2016 22:32:49 +0000 (14:32 -0800)]
Use entrypoint switching to reduce code size of GcRoot read barrier
Set the read barrier mark register entrypoints to null when the GC
is not marking. The compiler uses this to avoid needing to load the
is_gc_marking boolean.
Code size results on ritzperf CC:
arm32:
13439400 ->
13242792 (-1.5%)
arm64:
16380544 ->
16208512 (-1.05%)
Implemented for arm32 and arm64. TODO: Consider implementing on x86.
Bug:
32638713
Bug:
29516974
Test: test-art-host + run ritzperf
Change-Id: I527ca5dc4cd43950ba43b872d0ac81e1eb5791eb
Mathieu Chartier [Thu, 10 Nov 2016 22:34:40 +0000 (22:34 +0000)]
Merge "Use enum for read barrier options in compiler"
Andreas Gampe [Thu, 10 Nov 2016 22:09:05 +0000 (14:09 -0800)]
ART: Make test 030 slightly more robust
Run a serious of immediate GCs, synchronizer with the finalizer
starintg and then let the main thread sleep for a minute, in an
effort to make the test deterministic and get the finalizer
daemon scheduled.
Test: m test-art-host-run-test-030-bad-finalizer
Change-Id: Id379d8147ecc8f6aa0a7d8d5058030a4c2d4de46
Andreas Gampe [Thu, 10 Nov 2016 21:40:32 +0000 (13:40 -0800)]
ART: Properly synchronize test 039
Properly synchronize the test so that the output is deterministic.
Test: m test-art-host-run-test-039-join-main
Change-Id: Ia2212c7f77c3bf016d588014b22fa5abaef076e3
Mathieu Chartier [Thu, 10 Nov 2016 19:25:57 +0000 (11:25 -0800)]
Use enum for read barrier options in compiler
Enums are just phenomenal. Also fixed a double load error in x86
interface check cast fast path.
Test: test-art-host
Change-Id: Iea403ce579145b6a294073f3900ad6921c1a0d53
David Sehr [Thu, 10 Nov 2016 20:41:12 +0000 (20:41 +0000)]
Merge "Do not inline loops without exit edges"
Orion Hodson [Wed, 9 Nov 2016 08:32:42 +0000 (08:32 +0000)]
MethodHandles: Enable return value conversions.
Enables return values conversions and simplify the type conversion
logic. Ensures check for WrongMethodTypeExceptions before invoking a
method handle.
Test: m test-art-host-run-test-956-methodhandles
Bug:
30550796
Change-Id: I8add3ad0a19b43010946b4fb9f1c0f0949287860
Treehugger Robot [Thu, 10 Nov 2016 18:55:40 +0000 (18:55 +0000)]
Merge "Add capabilities for jvmti."
Mathieu Chartier [Thu, 10 Nov 2016 18:05:50 +0000 (18:05 +0000)]
Merge "Avoid read barriers for inlined check cast"
Alex Light [Wed, 17 Aug 2016 16:56:24 +0000 (09:56 -0700)]
Add capabilities for jvmti.
Make a skeleton for jvmti capabilities.
Bug:
31455788
Test: m -j40 test-art-host
Change-Id: Ia1f96450d8a1ee59b9db66cf65492154d61fab48
Nicolas Geoffray [Thu, 10 Nov 2016 15:19:15 +0000 (15:19 +0000)]
Dump c1visualizer output before and after each pass.
In order to get the last state of a graph before a crash.
Test: dex2oat --dump-cfg
Change-Id: I461a26a47a170b95fadb9da21a443af26fe52181
Treehugger Robot [Thu, 10 Nov 2016 15:59:20 +0000 (15:59 +0000)]
Merge "MIPS32: Add missing swaps to codegen"
Treehugger Robot [Thu, 10 Nov 2016 15:28:48 +0000 (15:28 +0000)]
Merge "Fix 552-checker-sharpening for MIPS32R6"
Nicolas Geoffray [Thu, 10 Nov 2016 10:49:40 +0000 (10:49 +0000)]
Revert "Revert "Rename vdex-fd to output-vdex-fd, add input-vdex-fd.""
This reverts commit
d4acdd380f79f41959663d2fa442186cb4a185a8.
Test: device boots, adb shell cmd package compile works.
Test: oat_file_assistant_test
bug:
30937355
Change-Id: Iad2e66fd7f28ed9c1dc3cab344df7453aab4fa56
Artem Serov [Tue, 18 Oct 2016 18:11:30 +0000 (19:11 +0100)]
ARM: VIXL32: Implement more codegen visitors.
~50 tests now start to pass.
Test: export ART_USE_VIXL_ARM_BACKEND=true && \
mma test-art-host dist && mma test-art-target dist
Change-Id: I5b1a032f11e2c0fda2ea2c6a0f1b1a4b2668964a
Artem Serov [Fri, 14 Oct 2016 14:58:56 +0000 (15:58 +0100)]
ARM: VIXL32: Implement InstanceOf, InvokeInterface and others.
More than 100 tests now start to pass.
Test: export ART_USE_VIXL_ARM_BACKEND=true && \
mma test-art-host dist && mma test-art-target dist
Change-Id: I7a30241d42bf0beec254f6988646282f4ea46cef
Goran Jakovljevic [Thu, 22 Sep 2016 07:26:01 +0000 (09:26 +0200)]
MIPS32: Add missing swaps to codegen
Add swaps between fp registers and stack.
Also added emit_swap_mips_test.
Test: mma -j2 test-art-target-run-test on CI20
Test: mma test-art-host-gtest-emit_swap_mips_test
Change-Id: I38e7be6a86d9ad36a82e9d4293e9a6971b6e016a
Treehugger Robot [Thu, 10 Nov 2016 13:58:34 +0000 (13:58 +0000)]
Merge "Change string compression encoding."
Goran Jakovljevic [Thu, 10 Nov 2016 13:50:18 +0000 (14:50 +0100)]
Fix 552-checker-sharpening for MIPS32R6
We can't have MIPS32R2 or MIPS32R6 specific checker so remove
the problematic one which differ for these two versions.
Test: ./run-test 552-checker-sharpening in QEMU
Change-Id: I5878fcaa5a43195ec98b607e37ee3029a2e57daf
Narayan Kamath [Thu, 10 Nov 2016 13:41:03 +0000 (13:41 +0000)]
Merge "MethodHandles: Add a test case for MethodHandles.permuteArguments."
Narayan Kamath [Thu, 10 Nov 2016 13:40:28 +0000 (13:40 +0000)]
Merge "MethodHandles: Add tests for MethodHandles.filterReturnValue."
Nicolas Geoffray [Thu, 10 Nov 2016 10:34:10 +0000 (10:34 +0000)]
Merge "ART jitted code profiling support."
Roland Levillain [Thu, 10 Nov 2016 10:19:19 +0000 (10:19 +0000)]
Merge "Have `make` report a failing gtest run as a top-level target."
Andreas Gampe [Thu, 10 Nov 2016 07:20:35 +0000 (07:20 +0000)]
Merge "ART: Temporarily disable test 913 for non-aot configs"
Andreas Gampe [Thu, 10 Nov 2016 07:17:39 +0000 (23:17 -0800)]
ART: Temporarily disable test 913 for non-aot configs
Until the test is generalized to recognize all allowed outputs,
disable non-default configurations.
Follow-up to commit
8c433b9e45a26e3bde123a5b2697ca801ae8b039 to
also disable for no-relocate configurations.
Bug:
31385354
Test: m ART_TEST_RUN_TEST_NO_RELOCATE=true test-art-host-run-test-913-heaps
Change-Id: If29ffdcca1fbd69bbac559dce99e84dc2592539a
Andreas Gampe [Thu, 10 Nov 2016 05:03:06 +0000 (05:03 +0000)]
Merge "ART: Temporarily disable test 913 for non-aot configs"
Andreas Gampe [Thu, 10 Nov 2016 03:33:08 +0000 (19:33 -0800)]
ART: Temporarily disable test 913 for non-aot configs
Until the test is generalized to recognize all allowed outputs,
disable non-default configurations.
Bug:
31385354
Test: m ART_TEST_INTERPRETER=true ART_TEST_JIT=true test-art-host-run-test-913-heaps
Change-Id: Iad10879391d8029445032d7b5a69e6ebf2672b9e
Mathieu Chartier [Thu, 10 Nov 2016 02:19:10 +0000 (02:19 +0000)]
Merge "Fix heap poisoning build"
Hiroshi Yamauchi [Thu, 3 Nov 2016 20:06:52 +0000 (13:06 -0700)]
Make empty checkpoint work while weak ref access is disabled.
Fix a potential race on PushOntoMarkStack for CC by running an empty
checkpoint (while weak ref access is disabled).
Bug:
32508093
Bug:
12687968
Test: test-art-host with CC/CMS, libartd boot with N9, Ritz EAAC.
Change-Id: I3749bb525e7734804307ee16262355f3fc730312
Mathieu Chartier [Thu, 10 Nov 2016 00:33:54 +0000 (16:33 -0800)]
Fix heap poisoning build
Bug:
32577579
Test: mm build-art
Change-Id: I394691334ae2029810e069c768d34077d36679e2
Treehugger Robot [Thu, 10 Nov 2016 00:39:22 +0000 (00:39 +0000)]
Merge "ART: Add reference following code"
Mathieu Chartier [Wed, 9 Nov 2016 23:18:27 +0000 (15:18 -0800)]
Avoid read barriers for inlined check cast
Avoiding read barriers improves speed and reduces code size.
Doing this can never result in false positives, only false negatives.
These false negatives are handled correcly by rechecking in the
entrypoint.
Ritzperf code size for CC:
arm32:
13439400->
13300136 (-1.04%)
arm64:
16405120->
16253568 (-0.92%)
Perf: TODO
Bug:
29516974
Bug:
12687968
Test: test-art-host, run ritzperf both with CC
Change-Id: Ie024e0b1e8ee415781fb73e8029e87e8a5318f86
Mathieu Chartier [Wed, 9 Nov 2016 23:16:16 +0000 (23:16 +0000)]
Merge "Add interface check cast fast path to arm, arm64, x86"
David Sehr [Fri, 4 Nov 2016 22:48:34 +0000 (15:48 -0700)]
Do not inline loops without exit edges
Fixes an issue with LinearOrder after inlining a function containing a
loop that has no exit edge. The failure is due to incorrect loop
information being computed for blocks that are not on a path to the
inlined function's return. They should not be considered part of the
caller's enclosing loop, but are today.
Bug:
32547653
Test: run-test --host 478-checker-inline-noreturn
Change-Id: I9694a1cb861430051c801d07f7ce29752332cba5
Nicolas Geoffray [Wed, 9 Nov 2016 21:32:14 +0000 (21:32 +0000)]
Merge "Revert "Rename vdex-fd to output-vdex-fd, add input-vdex-fd.""
Nicolas Geoffray [Wed, 9 Nov 2016 21:31:26 +0000 (21:31 +0000)]
Revert "Rename vdex-fd to output-vdex-fd, add input-vdex-fd."
Mishandled create_vdex_filename in installd.
This reverts commit
bc654d0cbb4f45057f9482ad81cb613386bbce34.
Change-Id: I78f8fcd1c63133624f5bba01864ab858da0451d1
Andreas Gampe [Wed, 9 Nov 2016 00:01:00 +0000 (16:01 -0800)]
ART: Expose vreg and visitor in RootInfo
Expose the register and visitor in JavaFrameRootInfo, to be able
to investigate a root programmatically.
Also mark StackVisitor::GetFrameDepth() as a const function.
Bug:
31385354
Test: m test-art-host
Change-Id: Ie05d2cfe3f4e9def89311bb18bd0c0bbf1a45625
Andreas Gampe [Thu, 3 Nov 2016 18:04:15 +0000 (11:04 -0700)]
ART: Add reference following code
Add FollowReferences support. This is a work in progress.
Specific support for the metadata will be added iteratively.
Add a basic test to 913-heaps.
Bug:
31385354
Test: m test-art-host
Change-Id: I832b05a7397dc96cd9a868020dd7029255f6de87
Treehugger Robot [Wed, 9 Nov 2016 19:27:27 +0000 (19:27 +0000)]
Merge "ART: Refactor some TI test code for reuse"
Aart Bik [Wed, 9 Nov 2016 19:06:11 +0000 (19:06 +0000)]
Merge "Allow read side effects for removing dead instructions."
Mathieu Chartier [Sat, 5 Nov 2016 01:13:04 +0000 (18:13 -0700)]
Add interface check cast fast path to arm, arm64, x86
Bug:
12687968
Bug:
32577579
Test: test-art-host, test-art-target CC
Change-Id: Ia57099d499fa704803cc5f0135f0f53fefe39826
Aart Bik [Mon, 7 Nov 2016 16:49:28 +0000 (08:49 -0800)]
Allow read side effects for removing dead instructions.
Rationale:
Instructions that only have the harmless read side effect may
be removed when dead as well, we were too strict previously.
As proof of concept, this cl also provides more accurate information
on a few string related intrinsics. This removes the dead indexOf
from CaffeineString (17% performance improvement, big bottleneck
of the StringBuffer's toString() still remains in loop).
Test: test-art-host
Change-Id: Id835a8e287e13e1f09be6b46278a039b8865802e
Nicolas Geoffray [Wed, 9 Nov 2016 17:30:49 +0000 (17:30 +0000)]
Merge "Revert "JIT root tables.""
Nicolas Geoffray [Wed, 9 Nov 2016 17:30:31 +0000 (17:30 +0000)]
Revert "JIT root tables."
May be the offender for jit-gcstress failure of 902.
This reverts commit
ac3ebc3150760425ed00abd56da48f9a6e0666bc.
Change-Id: I9ea6c9236fd1729fed7d1868dd8a111172932308
Nicolas Geoffray [Wed, 9 Nov 2016 17:30:00 +0000 (17:30 +0000)]
Merge "Revert "Support kJitTableAddress in x86/arm/arm64.""
Nicolas Geoffray [Wed, 9 Nov 2016 17:29:03 +0000 (17:29 +0000)]
Revert "Support kJitTableAddress in x86/arm/arm64."
Revert this in order to revert https://android-review.googlesource.com/#/c/285781/
This reverts commit
997d1217830c0a18b70faeabd53c04700a87d7d9.
Change-Id: I1888fba1c6f712cae4aec4ea4719b74a46da156c
Roland Levillain [Wed, 9 Nov 2016 16:38:42 +0000 (16:38 +0000)]
Have `make` report a failing gtest run as a top-level target.
Before, if an individual gtest such (as
`test-art-host-gtest-output_stream_test64`) was invoked as
`make`'s top-level target and failing, `make` would not
report it as such through its exit status (it would be 0
whatever the result). However, when run as part of a
compound test target (such as
`test-art-host-gtest-output_stream_test` or
`test-art-host-gtest`), `make` would actually report this
test's (and maybe others') failure with a non-zero exit
status. This CL forces `make` to report a non-zero exit
status in the former case without breaking the latter one.
Test: Amend a gtest such as compiler/linker/output_stream_test.cc
to make it artificially fail, and run it with:
make test-art-host-gtest-output_stream_test
make test-art-host-gtest-output_stream_test64
Bug:
31755702
Change-Id: Icbb6fef592f14d73808576e7fcb0e9d7079ec9a2
Andreas Gampe [Wed, 9 Nov 2016 01:02:19 +0000 (17:02 -0800)]
ART: Refactor some TI test code for reuse
Pull out helper code for creating arrays of data.
Bug:
31385354
Test: m test-art-host
Change-Id: I916fffa18f5a61bd17acbdbdaffce5b4c66a33ab
Treehugger Robot [Wed, 9 Nov 2016 16:42:45 +0000 (16:42 +0000)]
Merge "Reduce arena memory usage when changing graph structure."
Nicolas Geoffray [Wed, 9 Nov 2016 16:25:23 +0000 (16:25 +0000)]
Merge "Support kJitTableAddress in x86/arm/arm64."
Treehugger Robot [Wed, 9 Nov 2016 16:01:04 +0000 (16:01 +0000)]
Merge "Remove timeout for the 570-checker-osr test"
Vladimir Marko [Wed, 9 Nov 2016 14:11:37 +0000 (14:11 +0000)]
Reduce arena memory usage when changing graph structure.
Use swap() to reuse previously allocated memory. Use
range insertion instead of individual push_back()s.
Test: m test-art-host.
Change-Id: I7174f8cc66937f34b452ff7268a8806ca94e7573
Narayan Kamath [Tue, 8 Nov 2016 19:38:48 +0000 (19:38 +0000)]
MethodHandles: Add a test case for MethodHandles.permuteArguments.
Bug:
30550796
Test: make test-art-host
Change-Id: Idf1f330422a3be769e175f3e46c181d94217b9fa
Nicolas Geoffray [Wed, 9 Nov 2016 10:36:29 +0000 (10:36 +0000)]
Support kJitTableAddress in x86/arm/arm64.
test: test-art-host test-art-target, angler boots and runs.
Change-Id: I3654ae2809d4d759db76ee1ada1c17f3a9c3b392
Treehugger Robot [Wed, 9 Nov 2016 14:20:41 +0000 (14:20 +0000)]
Merge "Fix 552-checker-sharpening for PIC test."
Goran Jakovljevic [Fri, 4 Nov 2016 13:31:20 +0000 (14:31 +0100)]
Remove timeout for the 570-checker-osr test
The test is failing when running on emulator or slower devices.
Timeout is not needed anymore since all architectures have support
for OSR.
Test: ./run-test --jit 570-checker-osr
Change-Id: I3e84edfef3487e154e79688b81ad62dba45f9a2f
Narayan Kamath [Wed, 9 Nov 2016 14:05:33 +0000 (14:05 +0000)]
Merge "MethodHandles: Remove obsolete TODO."
Nicolas Geoffray [Wed, 9 Nov 2016 13:57:23 +0000 (13:57 +0000)]
Merge "Rename vdex-fd to output-vdex-fd, add input-vdex-fd."
Vladimir Marko [Wed, 9 Nov 2016 12:46:38 +0000 (12:46 +0000)]
Fix 552-checker-sharpening for PIC test.
And remove obsolete HLoadString::LoadKind::kDexCacheAddress.
Test: m ART_TEST_PIC_TEST=true test-art-host
Change-Id: I3e7a1a98c2c7eba5ea10954d7efcf743a807c300
Narayan Kamath [Wed, 9 Nov 2016 11:14:38 +0000 (11:14 +0000)]
MethodHandles: Remove obsolete TODO.
It was addressed by change
0d781e6e17a3f6285736c590001b59d50879f13b.
Test: make build-art-host
Change-Id: Ifb3f7fa2ffc245e88c77ca41268c376be1611308
Vladimir Marko [Thu, 13 Oct 2016 18:29:53 +0000 (19:29 +0100)]
Change string compression encoding.
Encode the string compression flag as the least significant
bit of the "count" field, with 0 meaning compressed and 1
meaning uncompressed.
The main vdex file is a tiny bit larger (+28B for prebuilt
boot images, +32 for on-device built images) and the oat
file sizes change. Measured on Nexus 9, AOSP ToT, these
changes are insignificant when string compression is
disabled (-200B for the 32-bit boot*.oat for prebuilt boot
image, -4KiB when built on the device attributable to
rounding, -16B for 64-bit boot*.oat for prebuilt boot image,
no change when built on device) but with string compression
enabled we get significant differences:
prebuilt multi-part boot image:
- 32-bit boot*.oat: -28KiB
- 64-bit boot*.oat: -24KiB
on-device built single boot image:
- 32-bit boot.oat: -32KiB
- 64-bit boot.oat: -28KiB
The boot image oat file overhead for string compression:
prebuilt multi-part boot image:
- 32-bit boot*.oat: before: ~80KiB after: ~52KiB
- 64-bit boot*.oat: before: ~116KiB after: ~92KiB
on-device built single boot image:
- 32-bit boot.oat: before: 92KiB after: 60KiB
- 64-bit boot.oat: before: 116KiB after: 92KiB
The differences in the SplitStringBenchmark seem to be lost
in the noise.
Test: Run ART test suite on host and Nexus 9 with Optimizing.
Test: Run ART test suite on host and Nexus 9 with interpreter.
Test: All of the above with string compression enabled.
Bug:
31040547
Change-Id: I7570c2b700f1a31004a2d3c18b1cc30046d35a74
Narayan Kamath [Tue, 8 Nov 2016 18:36:16 +0000 (18:36 +0000)]
MethodHandles: Add tests for MethodHandles.filterReturnValue.
Test: make test-art-host
Bug:
30550796
Change-Id: I2c8f25b003cbeee24e7603637169200a02d31e1c
Narayan Kamath [Wed, 9 Nov 2016 10:41:21 +0000 (10:41 +0000)]
Merge "MethodHandles: Add tests for MethodHandle.bindTo."