OSDN Git Service
Vladimir Marko [Thu, 2 Feb 2017 17:48:20 +0000 (17:48 +0000)]
Enable String compression.
Test: m test-art-host (interpreter, JIT, AOT)
Test: m test-art-target on Nexus 6P (interpreter, JIT, AOT)
Test: Nexus 6P boots
Test: m ahat-test
Bug:
31040547
Change-Id: I2c2f74ca147b3ea98ef06f9c64553737d17d42fd
Treehugger Robot [Mon, 13 Feb 2017 12:41:55 +0000 (12:41 +0000)]
Merge "String Compression for MIPS32 and MIPS64"
Roland Levillain [Mon, 13 Feb 2017 11:58:38 +0000 (11:58 +0000)]
Merge changes I425a7d61,I30365ad6
* changes:
Regression test for issue with VIXL AArch64 veneer pool.
ARM64: Remove all uses of BlockPoolsScope.
Goran Jakovljevic [Fri, 10 Feb 2017 16:48:52 +0000 (17:48 +0100)]
String Compression for MIPS32 and MIPS64
Changes on intrinsics and Code Generation on MIPS32 and MIPS64 for
string compression feature.
Testing is done with STRING_COMPRESSION_ENABLED = true (in libcore),
mirror::kUseStringCompression = true and STRING_COMPRESSION_FEATURE set
to 1.
Test: booted MIPS32 and MIPS64 in QEMU
Test: mma test-art-target-run-test on CI20 (MIPS32R2)
Test: mma test-art-target-run-test in QEMU (MIPS64R6)
Change-Id: If50a6b6c0792bfa34d4fdff6bf2c7542211d2689
David Sehr [Sun, 12 Feb 2017 23:55:02 +0000 (23:55 +0000)]
Merge "Convert preload list to profile"
Nicolas Geoffray [Sun, 12 Feb 2017 15:48:29 +0000 (15:48 +0000)]
Merge "Revert "runtime: Mmap uncompressed dex files (in zip) as clean memory""
Nicolas Geoffray [Sun, 12 Feb 2017 15:48:07 +0000 (15:48 +0000)]
Revert "runtime: Mmap uncompressed dex files (in zip) as clean memory"
Getting on the bots:
+ERROR: Memory mapping for /data/run-test/test-6248/071-dexfile-map-clean-ex.jar is unexpectedly dirty
+Private_Dirty: 4 kB
Bug:
27650033
This reverts commit
19e5f834501c5e69fbd731038b88c10332cc6bc7.
Change-Id: I833ef95401187b764d336ab4558936c63678061c
Shubham Ajmera [Sat, 11 Feb 2017 12:10:41 +0000 (12:10 +0000)]
Merge "Allow testrunner to run test when inside ART directory"
Treehugger Robot [Sat, 11 Feb 2017 04:57:39 +0000 (04:57 +0000)]
Merge "Use null error_msg for pic images"
Treehugger Robot [Sat, 11 Feb 2017 03:31:04 +0000 (03:31 +0000)]
Merge "Add extra logging for image decompression speed"
Mathieu Chartier [Sat, 11 Feb 2017 02:41:39 +0000 (18:41 -0800)]
Use null error_msg for pic images
Reduces 20ms of overhead for reading proc maps when the map can't be
placed at the optimal address.
Bug:
34927277
Test: test-art-host && device boot
Change-Id: Ib91fff2b832f61c49e67edcd2b7a222ab4409984
Mathieu Chartier [Sat, 11 Feb 2017 01:22:41 +0000 (17:22 -0800)]
Add extra logging for image decompression speed
Sample output:
I zygote : Decompressing image took 3.173ms (678MB/s)
Test: Phone boot with -verbose:image
Bug:
34927277
Change-Id: If0689594bca52d5b98d32d10adfe64f6d2402020
Alex Light [Sat, 11 Feb 2017 00:39:14 +0000 (00:39 +0000)]
Merge "Revert "Revert "Revert "Make class redefinition work with native methods on stack.""""
Alex Light [Sat, 11 Feb 2017 00:38:35 +0000 (00:38 +0000)]
Revert "Revert "Revert "Make class redefinition work with native methods on stack."""
This reverts commit
4493f92dfc70e01d95ad57bc4c0c38f59a616f70.
Reason for revert: Fails interpreter-ac and relocate-npatchoat
Change-Id: I15eb4964c9101fa04e34b52acf9ffe25e6d4e60d
Test: revert
Treehugger Robot [Sat, 11 Feb 2017 00:10:52 +0000 (00:10 +0000)]
Merge "ART: Remove run-test blacklist"
Treehugger Robot [Fri, 10 Feb 2017 23:45:29 +0000 (23:45 +0000)]
Merge "Remove breakpoints from redefined classes"
Treehugger Robot [Fri, 10 Feb 2017 23:41:51 +0000 (23:41 +0000)]
Merge "Fix a moving gc bug in Instrumentation::ExceptionCaughtEvent."
Shubham Ajmera [Fri, 10 Feb 2017 23:15:05 +0000 (23:15 +0000)]
Allow testrunner to run test when inside ART directory
Test: ./test/testrunner/testrunner.py -j64 --host -b
Bug:
35257742
Change-Id: Ib6264378971ad9f83ece7a51afc95c81935e08fc
Treehugger Robot [Fri, 10 Feb 2017 23:14:56 +0000 (23:14 +0000)]
Merge "ART: Fix potential deadlock in class-load events"
Treehugger Robot [Fri, 10 Feb 2017 23:04:49 +0000 (23:04 +0000)]
Merge "Revert "Revert "Make class redefinition work with native methods on stack."""
David Sehr [Wed, 8 Feb 2017 00:47:58 +0000 (16:47 -0800)]
Convert preload list to profile
Add functionality to profman to take a list of classes in a text file
(dot notation rather than descriptors) and build a compiler profile
file from it.
Bug:
34929204
Test: test-art-host
Change-Id: Id867ec7b436cbd8412809a8adb093f588ff474b7
Treehugger Robot [Fri, 10 Feb 2017 22:09:45 +0000 (22:09 +0000)]
Merge "ART: Correctly handle temporary classes in class-load events (2/3)"
Andreas Gampe [Fri, 10 Feb 2017 18:04:04 +0000 (10:04 -0800)]
ART: Remove run-test blacklist
Follow-up to commit
e2744c615e5808d335eed512349d67d724773c1f.
Bug:
31684920
Test: m ART_TEST_JIT=true test-art-host-run-test-912-classes
Test: art/test/testrunner/testrunner.py --jit --host -b -t 912-classes
Change-Id: I482af4d4b202d44f94cf941165a9b0247fa07112
Alex Light [Wed, 8 Feb 2017 19:39:07 +0000 (11:39 -0800)]
Remove breakpoints from redefined classes
Test: Manual
Change-Id: If8d9a38635bda7a0d69925b735b6f10055192b34
Treehugger Robot [Fri, 10 Feb 2017 20:47:19 +0000 (20:47 +0000)]
Merge "runtime: Mmap uncompressed dex files (in zip) as clean memory"
Hiroshi Yamauchi [Fri, 10 Feb 2017 20:07:36 +0000 (12:07 -0800)]
Fix a moving gc bug in Instrumentation::ExceptionCaughtEvent.
This fixes JDWP exception caught test crashes.
Bug:
34929692
Test: CtsJdwpTestCases on angler.
Test: test-art-host
Test: The jdwp test on host.
Change-Id: I2f6a66d7e871e6c7d65a8ad287249286b301c3b1
Andreas Gampe [Fri, 10 Feb 2017 19:49:12 +0000 (11:49 -0800)]
ART: Fix potential deadlock in class-load events
When a temporary class is given out in a ClassLoad event, all stored
references need to be fixed up before publishing a ClassPrepare event.
This CL fixes a potential deadlock when multiple classes are loaded
at the same time.
Bug:
31684920
Test: m test-art-host-run-test-912-classes
Change-Id: Iccabd8c17838f686a81a825badc7c2b1a1589708
Andreas Gampe [Fri, 10 Feb 2017 02:19:21 +0000 (18:19 -0800)]
ART: Correctly handle temporary classes in class-load events (2/3)
When a temporary class is given out in a ClassLoad event, all stored
references need to be fixed up before publishing a ClassPrepare event.
This CL handles objects stored as local references.
Bug:
31684920
Test: m test-art-host-run-test-912-classes
Change-Id: I3c6bbfdaca31d0c0d8ae9bf1facef404e949b6aa
Alex Light [Fri, 10 Feb 2017 16:33:26 +0000 (16:33 +0000)]
Revert "Revert "Make class redefinition work with native methods on stack.""
When we were scanning the stack for tracing we were getting the wrong
stack-frame size for obsolete native methods. This fixes it by
creating real obsolete native methods so we can recognize them and
then doing the (rather long) calculation to find their real
stack-frame size.
This reverts commit
7558d27ccd0837fef7c4bfbff7fc82f07a787316.
Reason for revert: Fixed tracing failures.
Test: mma -j40 test-art-host
Test: ART_TEST_TRACE=true ART_TEST_INTERPRETER=true mma -j40 test-art-host
Change-Id: Ic65da1b51a43733ff60131832753afa0c4ce66b1
Treehugger Robot [Fri, 10 Feb 2017 19:43:16 +0000 (19:43 +0000)]
Merge "ART: Correctly handle temporary classes in class-load events (1/3)"
Igor Murashkin [Tue, 7 Feb 2017 23:20:54 +0000 (15:20 -0800)]
runtime: Mmap uncompressed dex files (in zip) as clean memory
Saves 3MB of RAM (system-wide) in AGSA (search toolbar).
Also makes 3MB of RAM clean (previously dirty).
----
classes.dex from different processes will now have
their memory shared (as clean) globally.
To take advantage of this, the app/service just
needs to build their .JARs zipaligned and with
classes.dex being stored uncompressed.
-----
classes[N].dex within ZIP files will now get memory-mapped
as file-backed, clean memory when opening a DexFile.
(The zip entry must be at least 4-byte aligned).
Compressed DEX files still get extracted first to dirty memory.
Test: art/tools/run-test 071-dexfile-map-clean
Bug:
27650033
Change-Id: I18efbd392c5980ffe0d983833b6cc581e0237b92
Roland Levillain [Fri, 3 Feb 2017 11:23:31 +0000 (11:23 +0000)]
Regression test for issue with VIXL AArch64 veneer pool.
Dex2oat used to crash on this assertion:
external/vixl/src/aarch64/macro-assembler-aarch64.cc:245: void vixl::aarch64::VeneerPool::CheckEmitFor(size_t, vixl::aarch64::Pool::EmitOption): assertion "masm_->GetCursorOffset() < unresolved_branches_.GetFirstLimit()" failed
Test: test-art-target (on ARM64)
Bug:
34850123
Change-Id: I425a7d612cc20bf2a6fb1125028af35a73794b52
Treehugger Robot [Fri, 10 Feb 2017 15:15:51 +0000 (15:15 +0000)]
Merge "testrunner: Speed up printing --help by 4x"
Artem Serov [Tue, 7 Feb 2017 14:33:49 +0000 (14:33 +0000)]
ARM64: Remove all uses of BlockPoolsScope.
BlockPoolsScope should not be used because it is a VIXL scope
for VIXL internal usage only. In arm64 backend the intent was to
block pools between a particular instruction (Ldr, Str, Blr, etc)
and a subsequent MaybeRecordImplicitNullCheck or RecordPcInfo call.
However pools should be emitted at the opening of a scope if this
is required to satisfy branch/ldr ranges. This is not done by the
BlockPoolsScope, so proper scopes are now used now:
ExactAssemblyScope and EmissionCheckScope.
Test: test-art-host
Test: test-art-target
Bug:
34850123
Change-Id: I30365ad63c644cf9dd85d5a3c2118f9c57be9d20
Roland Levillain [Fri, 10 Feb 2017 14:15:33 +0000 (14:15 +0000)]
Merge "Use entrypoint switching on x86 & x86-64 for GC root read barriers."
Vladimir Marko [Fri, 10 Feb 2017 13:11:42 +0000 (13:11 +0000)]
Merge "Change type initialization entrypoints to kSaveEverything."
Treehugger Robot [Fri, 10 Feb 2017 13:02:48 +0000 (13:02 +0000)]
Merge "MIPS: Reintroduce hand-written rosalloc entrypoints"
Nicolas Geoffray [Fri, 10 Feb 2017 12:39:54 +0000 (12:39 +0000)]
Merge "Move libcore script to language O."
Nicolas Geoffray [Fri, 10 Feb 2017 12:33:45 +0000 (12:33 +0000)]
Move libcore script to language O.
test: run-libcore-tests.sh
Change-Id: I94f902a20ed4d4262b4315320e1a1b8ea80f31a0
Vladimir Marko [Fri, 10 Feb 2017 10:07:03 +0000 (10:07 +0000)]
Merge "Fix hprof/ahat for string compression."
Nicolas Geoffray [Fri, 10 Feb 2017 10:02:10 +0000 (10:02 +0000)]
Merge "Revert "Make class redefinition work with native methods on stack.""
Nicolas Geoffray [Fri, 10 Feb 2017 10:01:47 +0000 (10:01 +0000)]
Revert "Make class redefinition work with native methods on stack."
Test fails.
This reverts commit
2863f67f4335c37e92f8923d23b2443bc3316c88.
Change-Id: If56cf90eced2d30e046304e0c38220a3c9728842
Richard Uhler [Fri, 10 Feb 2017 08:47:49 +0000 (08:47 +0000)]
Merge "RegisterNativeAllocation: avoid an extraneous blocking gc."
Treehugger Robot [Fri, 10 Feb 2017 02:06:42 +0000 (02:06 +0000)]
Merge "Let jvmti allow JDWP connections"
Treehugger Robot [Fri, 10 Feb 2017 00:48:08 +0000 (00:48 +0000)]
Merge "Make class redefinition work with native methods on stack."
Alex Light [Fri, 10 Feb 2017 00:01:32 +0000 (16:01 -0800)]
Let jvmti allow JDWP connections
We were incorrectly asserting that the JDWP thread doesn't start until
after the kInit runtime phase has passed but this is not necessarily
the case if JDWP is started with the runtime.
Bug:
35213182
Test: manual
Change-Id: Iea325684fa6a4717176ed8f8070fa1d1bb0e18c7
Treehugger Robot [Thu, 9 Feb 2017 23:37:23 +0000 (23:37 +0000)]
Merge "ART: Update unstarted runtime for changed libcore"
Andreas Gampe [Thu, 9 Feb 2017 17:15:24 +0000 (09:15 -0800)]
ART: Correctly handle temporary classes in class-load events (1/3)
When a temporary class is given out in a ClassLoad event, all stored
references need to be fixed up before publishing a ClassPrepare event.
This CL handles objects stored as global references.
Bug:
31684920
Test: m test-art-host-run-test-912-classes
Change-Id: I2f79c7943e13c0db9ad7cb9cd60450ff6373be4f
Treehugger Robot [Thu, 9 Feb 2017 23:30:54 +0000 (23:30 +0000)]
Merge "Revert "Revert "ART: Add JIT + events test to run-test 912"""
Alex Light [Thu, 9 Feb 2017 22:49:13 +0000 (14:49 -0800)]
Make class redefinition work with native methods on stack.
Previously we would crash if we tried to redefine a class with native
methods if it had any native frames on a stack. This happened when we
tried to create an obsolete method for the native method.
Since native methods cannot really become obsolete in the same way
that regular java ones can we simply do not make any obsolete methods
for these native methods.
Test: mma -j40 test-art-host
Change-Id: Ib677f73faae52627a478aa7cfe870c1f2c4fb503
David Sehr [Thu, 9 Feb 2017 22:44:36 +0000 (22:44 +0000)]
Merge "Fix ownership of DexFile in profman"
Andreas Gampe [Thu, 9 Feb 2017 20:50:52 +0000 (12:50 -0800)]
ART: Update unstarted runtime for changed libcore
Update float conversion to current libcore implementation. Add
tests.
Bug:
34956610
Test: m test-art-host-gtest-unstarted_runtime_test
Change-Id: Ib62c64011e2d5b980fb8fab81f6c343065ce946c
Igor Murashkin [Thu, 9 Feb 2017 18:42:23 +0000 (10:42 -0800)]
testrunner: Speed up printing --help by 4x
Before:
$> time ./test/testrunner/testrunner.py --help
real 0m4.261s
user 0m1.806s
sys 0m2.476s
After:
$> time ./test/testrunner/testrunner.py --help
real 0m0.988s
user 0m0.417s
sys 0m0.573s
---------
Reach into the build once instead of 4 times to
get its internal build variables.
Test: make test-art-host
Change-Id: Ia1279e762b0cf6e04cd04849257c5564c3afa417
David Sehr [Thu, 9 Feb 2017 04:58:10 +0000 (20:58 -0800)]
Fix ownership of DexFile in profman
Don't leak the DexFiles we open in profman.
Bug:
34929204
Test: make test-art-host
Change-Id: Ife29556117c4dd84dd3e970901a7fdf458e5ad98
Mathieu Chartier [Thu, 9 Feb 2017 17:30:20 +0000 (17:30 +0000)]
Merge "A bit of oatdump clean up"
Roland Levillain [Thu, 9 Feb 2017 16:20:14 +0000 (16:20 +0000)]
Use entrypoint switching on x86 & x86-64 for GC root read barriers.
For consistency reason (with the ARM and ARM64 implementations),
check the read barrier marking entrypoint
(`Thread::Current()->pReadBarrierMarkReg ## root.reg()`)
instead of `Thread::Current()->GetIsGcMarking()` to decide whether
to mark a GC root.
This change should have no impact on the performance or the
size of the generated code.
Test: m test-art-host
Bug:
32638713
Change-Id: Ifd71312992fdfd6067447cccb7d95860f3771b57
Vladimir Marko [Mon, 6 Feb 2017 14:11:54 +0000 (14:11 +0000)]
Fix hprof/ahat for string compression.
Test: m test-art-host
Test: m ahat-test
Test: m test-art-host with string compression enabled
Test: m ahat-test with string compression enabled
Bug:
31040547
Change-Id: I660e39c586d23f4a95686d484ca108466e52d249
Richard Uhler [Thu, 9 Feb 2017 14:03:09 +0000 (14:03 +0000)]
RegisterNativeAllocation: avoid an extraneous blocking gc.
If another thread already ran a blocking gc since
RegisterNativeAllocation was entered, there's no need to run another
blocking gc before exiting RegisterNativeAllocation.
Bug:
29156652
Bug:
32576211
Test: 004-NativeAllocations run test.
Change-Id: Ie89652760deaa24b70adb07227a9918059da46c7
Vladimir Marko [Thu, 9 Feb 2017 12:30:41 +0000 (12:30 +0000)]
Merge "Fix dex cache resolved types and class table mismatch."
Vladimir Marko [Fri, 3 Feb 2017 11:47:34 +0000 (11:47 +0000)]
Fix dex cache resolved types and class table mismatch.
Record class table in ClassLinker::DexCacheData and use
it in DexCache.setResolvedType() to store the type also
in the initiating loader's class table if the dex file
has been registered.
Also throw InternalError when trying to register the
same DexFile with multiple class loaders. (Different
DexFile instances referencing the same file are OK.)
Test: 155-java-set-resolved-type
Test: m test-art-host
Bug:
30627598
Bug:
34193123
Bug:
34839984
Change-Id: Ia48acb300337c45880ea1459d2d32789546d67f4
Andreas Gampe [Wed, 8 Feb 2017 16:28:59 +0000 (16:28 +0000)]
Revert "Revert "ART: Add JIT + events test to run-test 912""
This reverts commit
f833c5c551ec87f8d240b97142fd27b689613ccf.
Add NoSuchElementException to preparation.
Bug:
31684920
Test: m ART_TEST_JIT=true test-art-host-run-test-912-classes
Change-Id: Ied7c273194e77236e1df67a92c4a0086abcbcd46
Mathieu Chartier [Thu, 9 Feb 2017 00:56:48 +0000 (16:56 -0800)]
A bit of oatdump clean up
Fix typo, remove unused byte category.
Test: test-art-host-gtest-oatdump_test
Change-Id: Ia6f58d5dd17930fbea7fd9cb05edc014c190f080
Mathieu Chartier [Thu, 9 Feb 2017 00:45:04 +0000 (00:45 +0000)]
Merge "Update oatdump to have inline info breakdown"
Alex Light [Wed, 8 Feb 2017 23:49:33 +0000 (23:49 +0000)]
Merge "Un-disable redefinition tests on JIT."
Shubham Ajmera [Wed, 8 Feb 2017 22:50:17 +0000 (22:50 +0000)]
Merge "Keep failing tests' infomation without --verbose as well"
Alex Light [Wed, 8 Feb 2017 21:37:30 +0000 (13:37 -0800)]
Un-disable redefinition tests on JIT.
We no longer have any problems with racing JIT threads.
Test: ART_TEST_JIT=true mma -j40 test-art-host
Test: ./test/testrunner/testrunner.py --host --jit -j40
Change-Id: Ie88d0a891fbdd906641c0f7561406390db208b09
Mathieu Chartier [Wed, 8 Feb 2017 21:30:04 +0000 (13:30 -0800)]
Update oatdump to have inline info breakdown
Add a breakdown of where bytes are used for inline infos.
Bug:
34621054
Test: test-art-host-gtest-oat_dump_test
Change-Id: I5e44d17d631ff418a1c5baba166b1456211e9a33
Mathieu Chartier [Wed, 8 Feb 2017 21:29:24 +0000 (21:29 +0000)]
Merge "Clean up code info table layout"
Vladimir Marko [Mon, 6 Feb 2017 19:59:33 +0000 (19:59 +0000)]
Change type initialization entrypoints to kSaveEverything.
Also avoid the unnecessary read barriers for boot image
classes with kBssEntry or kJitTableAddress (the kBssEntry
and JIT work missed the `read_barrier_option` flag), fix
bit-rotten non-Baker read barriers on ARM and ARM64 and
fix bit-rotten ARM64 relative patcher's IsAdrpPatch() used
for erratum 843419 workaround.
aosp_angler-userdebug with CC:
before:
arm boot*.oat:
35440420
arm64 boot*.oat:
43504952
after:
arm boot*.oat:
35222292 (-218128, -0.62%)
arm64 boot*.oat:
43389048 (-115904, -0.26%)
aosp_angler-userdebug without CC:
before:
arm boot*.oat:
31927412
arm64 boot*.oat:
39340512
after:
arm boot*.oat:
31708736 (-218676, -0.68%)
arm64 boot*.oat:
39211768 (-128744, -0.33%)
Test: m test-art-host (non-CC, Baker CC, table lookup CC)
Test: m test-art-target on Nexus 6P (non-CC, Baker CC, table lookup CC)
Test: Nexus 6P boots (non-CC, Baker CC, table lookup CC)
Bug:
30627598
Change-Id: Ida5bbce414844de9e4273e40334165d4494230d4
Treehugger Robot [Wed, 8 Feb 2017 21:02:37 +0000 (21:02 +0000)]
Merge "Revert -Wunreachable-code workaround."
Treehugger Robot [Wed, 8 Feb 2017 20:28:23 +0000 (20:28 +0000)]
Merge changes I1fb50fb6,I8b3fa817
* changes:
Ensure that both stderr and stdout are captured
Make sure that we join paths correctly.
Shubham Ajmera [Wed, 8 Feb 2017 19:43:09 +0000 (19:43 +0000)]
Keep failing tests' infomation without --verbose as well
Test: Ran the testrunner with a failing test.
Change-Id: I4fd51c689c6c484f8ff141a3e20ff8fab4b11142
Stephen Hines [Wed, 8 Feb 2017 19:19:23 +0000 (11:19 -0800)]
Revert -Wunreachable-code workaround.
Bug: http://b/
31104323
Test: Built/ran ART successfully on sailfish.
This reverts commit
813b9c47d8952b3f02a6032d79d66433c981d030, which
added a workaround for Clang mistriggering -Wunreachable-code.
Change-Id: I46636c9b4f574a870c1f95b6160d05f2a75f8ab8
Alex Light [Wed, 8 Feb 2017 18:45:12 +0000 (10:45 -0800)]
Ensure that both stderr and stdout are captured
We were not capturing the stdout FD for the run-test process. This was
leading to blank lines being printed during the running of some tests.
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I1fb50fb6ae2af9c439f126c9fe47a3e24ad84e10
Treehugger Robot [Wed, 8 Feb 2017 18:25:00 +0000 (18:25 +0000)]
Merge "Undo class_linker.cc workaround for out of registers bug."
Alex Light [Wed, 8 Feb 2017 18:09:31 +0000 (10:09 -0800)]
Make sure that we join paths correctly.
We were simply concatenating a pair of paths together but this can
cause problems if the second path is not relative. This could occur if
the OUT_DIR environment variable has been set.
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I8b3fa817cdb114e39f9cf33a0c2e73e1a53f7e99
Mathieu Chartier [Mon, 6 Feb 2017 19:00:40 +0000 (11:00 -0800)]
Clean up code info table layout
Previously:
Table layout was computed multiple places like stack_map_stream,
and getters. This made it difficult to add new stack map tables and
made the code hard to understand.
This change makes the table layout specified all inside of the code
info. Updating the layout only requires changing ComputeTableOffsets.
Changed the stack map inline info offset to be an index, so that it is
not require the inline infos are directly after the dex register table.
Oat file size for a large app:
94459576 ->
93882040 (-0.61%)
Updated oatdump and fixed a bug that was incorrectly computing the
register mask bytes.
Bug:
34621054
Test: test-art-host
Change-Id: I3a7f141e09d5a18bce2bc6c9439835244a22016e
Shubham Ajmera [Wed, 8 Feb 2017 11:02:21 +0000 (11:02 +0000)]
Merge "ART Test Runner"
Nicolas Geoffray [Wed, 8 Feb 2017 10:59:33 +0000 (10:59 +0000)]
Merge "Revert "ART: Add JIT + events test to run-test 912""
Nicolas Geoffray [Wed, 8 Feb 2017 10:59:10 +0000 (10:59 +0000)]
Revert "ART: Add JIT + events test to run-test 912"
Still flakey
Bug:
31684920
This reverts commit
55e09d45d6ddedc88e50fbf290efbd39cae8380f.
Change-Id: I1a9dc303a1f9c4520e15edf584d24cb8e6bc4169
Stephen Hines [Wed, 8 Feb 2017 09:51:18 +0000 (01:51 -0800)]
Undo class_linker.cc workaround for out of registers bug.
Bug: http://b/
30419309
Test: Built x86_64/x86 targets successfully with latest toolchain.
This change re-enables optimization for a function in class_linker.cc
that previously exposed an internal compiler error in Clang. Now that
the bug has been fixed, we can remove the workaround.
Change-Id: If6520c17630b6f67ce016966c0777b675be1b852
Andreas Gampe [Wed, 8 Feb 2017 03:16:42 +0000 (03:16 +0000)]
Merge "ART: Make run-test 931 more defensive wrt/ shutdown"
Andreas Gampe [Wed, 8 Feb 2017 02:21:03 +0000 (02:21 +0000)]
Merge "ART: Add JIT + events test to run-test 912"
Treehugger Robot [Wed, 8 Feb 2017 00:27:28 +0000 (00:27 +0000)]
Merge "Verify redefined classes"
Andreas Gampe [Tue, 7 Feb 2017 22:59:08 +0000 (14:59 -0800)]
ART: Make run-test 931 more defensive wrt/ shutdown
Make the main thread loop a bit longer waiting for the agent
thread to die, so we don't unload under its feet.
Bug:
34701734
Test: m test-art-host-run-test-931-agent-thread
Change-Id: I554d72249c366b17c644f6c17c2b59fda2ab810e
Andreas Gampe [Wed, 25 Jan 2017 04:43:18 +0000 (20:43 -0800)]
ART: Add JIT + events test to run-test 912
Add a test for loading by the JIT thread.
This reverts commit
fab0b1947db6812c91827d051f6fe5b21ccb494c.
Bug:
31684920
Test: m ART_TEST_JIT=true test-art-host-run-test-912-classes
Change-Id: I577cc3269ed437b605b4ebf6bac7262e0459af76
Treehugger Robot [Tue, 7 Feb 2017 19:49:29 +0000 (19:49 +0000)]
Merge "Add test if dex file fails to open during layout."
Treehugger Robot [Tue, 7 Feb 2017 18:25:32 +0000 (18:25 +0000)]
Merge "Fix issues due to updated toolchain."
David Sehr [Tue, 7 Feb 2017 18:00:50 +0000 (18:00 +0000)]
Merge "Remove Mutex dependency from MemMap"
Roland Levillain [Tue, 7 Feb 2017 17:44:45 +0000 (17:44 +0000)]
Merge "Revert to `-fstack-protector-strong` in read barrier config."
Alex Light [Mon, 6 Feb 2017 21:58:27 +0000 (13:58 -0800)]
Verify redefined classes
Test: mma -j40 test-art-host
Change-Id: Ia0b5a0934ed895e37b67c9ae2e819648086280c8
Roland Levillain [Tue, 7 Feb 2017 13:48:31 +0000 (13:48 +0000)]
Merge "ARM: VIXL32: Remove erroneous DCHECK."
Shubham Ajmera [Mon, 6 Feb 2017 16:04:25 +0000 (16:04 +0000)]
ART Test Runner
The testrunner runs the ART run-tests by simply invoking the script.
It fetches the list of eligible tests from art/test directory, and list of
disabled tests from art/test/knownfailures.json. It runs the tests by
invoking art/test/run-test script and checks the exit code to decide if
the test passed or failed.
Before invoking the script, first build all the tests dependencies by
building 'test-art-host-run-test-dependencies' for host tests,
'test-art-target-run-test-dependencies' for target tests, and
'test-art-run-test-dependencies' for building dependencies for both.
There are various options to invoke the script which are:
-t: Either the test name as in art/test or the test name including the variant
information. Eg, "-t 001-HelloWorld",
"-t test-art-host-run-test-debug-prebuild-optimizing-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-001-HelloWorld32"
-j: Number of thread workers to be used. Eg - "-j64"
--dry-run: Instead of running the test name, just print its name.
--verbose
-b To build the dependencies before running the test.
To specify any specific variants for the test, use --<<variant-name>>.
For eg, for compiler type as optimizing, use --optimizing.
In the end, the script will print the failed and skipped tests if any.
New targets - test-art-host-run-test-dependencies and
test-art-target-run-test-dependencies have been added. The targets build
dependencies for host and target respectively.
Test: No tests
Change-Id: Ia4f13ee3444c2c733342c046ef1582517459fc9b
Treehugger Robot [Tue, 7 Feb 2017 12:08:19 +0000 (12:08 +0000)]
Merge "ARM: VIXL32: Fix "Align allocation entrypoints.."."
Richard Uhler [Tue, 7 Feb 2017 10:30:41 +0000 (10:30 +0000)]
Merge "Revert "Revert "Redesign implementation of RegisterNativeAllocation."""
Goran Jakovljevic [Thu, 19 Jan 2017 10:39:18 +0000 (11:39 +0100)]
MIPS: Reintroduce hand-written rosalloc entrypoints
Reintroduced art_quick_alloc_object_resolved_rosalloc and added
art_quick_alloc_object_initialized_rosalloc for MIPS32 and MIPS64.
Test: booted MIPS32 and MIPS64 in QEMU
Test: mma test-art-target on CI20 (MIPS32R2)
Test: mma test-art-target in QEMU (MIPS64R6)
Change-Id: I51c7d0629fd005e61f93cedd3989c53efc5a90e5
Treehugger Robot [Tue, 7 Feb 2017 07:10:59 +0000 (07:10 +0000)]
Merge "Force stack dump to diagnose empty checkpoint timeout (2)."
Jeff Hao [Tue, 7 Feb 2017 00:41:16 +0000 (16:41 -0800)]
Add test if dex file fails to open during layout.
Bug:
34971122
Test: mm test-art-host-gtest-oat_test
Change-Id: I2cdf080783aa24193026683d98caa0d98cb7d055
Hiroshi Yamauchi [Fri, 3 Feb 2017 23:06:00 +0000 (15:06 -0800)]
Force stack dump to diagnose empty checkpoint timeout (2).
Bug:
33006388
Bug:
12687968
Test: test-art-host
Test: Thread dumping in a simulated empty checkpoint timeout.
Change-Id: I06641396b8f3d7a1a98366a01807aab2e6f31bd5
Treehugger Robot [Mon, 6 Feb 2017 23:47:32 +0000 (23:47 +0000)]
Merge "ART: Add marking to thread peer gathering in TI"