OSDN Git Service
Nicolas Geoffray [Wed, 8 Feb 2017 15:07:18 +0000 (15:07 +0000)]
Inline methods that throw.
Forked from https://android-review.googlesource.com/214292
test: 637-checker-throw-inline
bug:
30933338
Change-Id: I184be82dfab0710af3f3796e9e486c7817fa9c60
Nicolas Geoffray [Wed, 15 Feb 2017 09:39:05 +0000 (09:39 +0000)]
Merge "Add a DCHECK in thread::GetPeer."
Nicolas Geoffray [Wed, 15 Feb 2017 09:06:26 +0000 (09:06 +0000)]
Merge "Change behavior of $noinline$ to now force not inlining."
David Sehr [Wed, 15 Feb 2017 05:39:20 +0000 (05:39 +0000)]
Merge "Fix DEX zip open error message printing"
Treehugger Robot [Wed, 15 Feb 2017 01:59:09 +0000 (01:59 +0000)]
Merge "ART: Rewrite test 911"
Treehugger Robot [Wed, 15 Feb 2017 01:58:42 +0000 (01:58 +0000)]
Merge "ART: Change test 121-modifiers to use smali"
Mathieu Chartier [Wed, 15 Feb 2017 01:12:15 +0000 (01:12 +0000)]
Merge "Address some comments for aog/333864"
Treehugger Robot [Wed, 15 Feb 2017 00:00:49 +0000 (00:00 +0000)]
Merge "Revert "Revert "runtime: Mmap uncompressed dex files (in zip) as clean memory"""
Mathieu Chartier [Tue, 14 Feb 2017 23:16:19 +0000 (15:16 -0800)]
Address some comments for aog/333864
Mostly comment changes.
Bug:
34621054
Test: test-art-host
Change-Id: I95f77651d47a8d0c71d580778d1126ab4aa1d751
Andreas Gampe [Tue, 14 Feb 2017 22:28:32 +0000 (14:28 -0800)]
ART: Rewrite test 911
Use explicit thread names to avoid output reliance on implicit
thread naming.
Bug:
31684812
Test: m test-art-host-run-test-911-get-stack-trace
Change-Id: I82004fea6f49831b5d378bef2c290b61c694a07a
Nicolas Geoffray [Tue, 14 Feb 2017 18:05:28 +0000 (18:05 +0000)]
Change behavior of $noinline$ to now force not inlining.
In order to start supporting more inlining, like inlining
methods that have a throwing branch, we need to change our
testing strategy.
test: test-art-host
Change-Id: I65354884898d86a18e78b96b7c21a8728c83f86d
Treehugger Robot [Tue, 14 Feb 2017 22:11:34 +0000 (22:11 +0000)]
Merge "ART: Add operator == and != with nullptr to Handle"
Treehugger Robot [Tue, 14 Feb 2017 21:48:41 +0000 (21:48 +0000)]
Merge "Fix test scripts to account for new linker behavior"
Igor Murashkin [Tue, 14 Feb 2017 21:14:17 +0000 (21:14 +0000)]
Revert "Revert "runtime: Mmap uncompressed dex files (in zip) as clean memory""
This reverts commit
960b2af8a05f0844e78004e2d0d3ae6ab058d430.
Fix failing 071-dex-file-map-clean on target
which was due to an IO race in the run-test script.
Test: make test-art-target
Bug:
27650033
Original-Change-Id: I18efbd392c5980ffe0d983833b6cc581e0237b92
Change-Id: I6f4ff1e85f8326916c2ae0842a32f53fb7901639
Treehugger Robot [Tue, 14 Feb 2017 21:32:32 +0000 (21:32 +0000)]
Merge "Update test 044 for java-8"
Treehugger Robot [Tue, 14 Feb 2017 19:53:50 +0000 (19:53 +0000)]
Merge "ART: Make dex2oat watchdog configurable"
Andreas Gampe [Tue, 14 Feb 2017 19:10:34 +0000 (11:10 -0800)]
ART: Add operator == and != with nullptr to Handle
Get it in line with ObjPtr and prettify our code.
Test: m
Change-Id: I1322e2a9bc7a85d7f2441034a19bf4d807b81a0e
Dimitry Ivanov [Tue, 14 Feb 2017 19:06:14 +0000 (11:06 -0800)]
Fix test scripts to account for new linker behavior
Remove /system/lib from the java.library.path to
avoid loading system libraries in classloader-namespace
by dependencies originated from libarttestd.so
Add additional libraries used by libarttestd.so to
the list of public libraries.
Bug: http://b/
26833548
Test: m -j32 test-art-target
Change-Id: I8cfb1b1bec17ca32b2c691597a97b4e9d1667a2f
Treehugger Robot [Tue, 14 Feb 2017 19:25:17 +0000 (19:25 +0000)]
Merge "Added a few integral SIMD extensions for x86/x86_64 (SSE)."
Treehugger Robot [Tue, 14 Feb 2017 19:11:26 +0000 (19:11 +0000)]
Merge "Revert^6 "Make class redefinition work with native methods on stack.""
David Sehr [Tue, 14 Feb 2017 18:57:47 +0000 (10:57 -0800)]
Fix DEX zip open error message printing
We were printing the pointer to the error message string rather than the
string itself.
Bug: none
Test: test-art-host
Change-Id: I06bd9afd100c425039847c52df1f4912966053b8
Alex Light [Tue, 14 Feb 2017 15:31:45 +0000 (15:31 +0000)]
Revert^6 "Make class redefinition work with native methods on stack."
We were incorrectly trying to obtain the profiling information of a
native method.
This reverts commit
02b2349b1cd2a78e86b1a7542f8330e6c3aaeb35.
Reason for revert: Fixed test failure with jit configurations
Test: ART_TEST_JIT=true mma -j40 test-art-host
Change-Id: Ic7112104aec64e597d2df80db5dc2a505d2cc2dd
Vladimir Marko [Tue, 14 Feb 2017 16:17:50 +0000 (16:17 +0000)]
Merge "Revert "Enable dex2oat swap test for CC on x86.""
Vladimir Marko [Tue, 14 Feb 2017 16:16:30 +0000 (16:16 +0000)]
Revert "Enable dex2oat swap test for CC on x86."
Is't still failing and the difference can be
rather huge:
Expected: (native_alloc_2_) < (native_alloc_1_),
actual: 379712 vs 248600
Bug:
29259363
This reverts commit
38f5663a970b633f08e144b4dff33633c51352ee.
Change-Id: Ie1d62fbba688aeadffb9d5aafd5b9cf632742ed6
Orion Hodson [Tue, 14 Feb 2017 16:02:32 +0000 (16:02 +0000)]
Merge "ART: invoke-custom support"
Treehugger Robot [Tue, 14 Feb 2017 15:43:22 +0000 (15:43 +0000)]
Merge "ARM64: Improve String.equals() intrinsic for const strings."
Nicolas Geoffray [Fri, 10 Feb 2017 10:59:22 +0000 (10:59 +0000)]
Add a DCHECK in thread::GetPeer.
Motivated by https://android-review.googlesource.com/#/c/333205/.
Test: test-art-host run-jdwp-test.sh
Change-Id: I173c060324aa0dc39144db55e3a97e672c012ba8
Nicolas Geoffray [Tue, 14 Feb 2017 15:18:32 +0000 (15:18 +0000)]
Merge "Revert "Disable libcore tests for now.""
Nicolas Geoffray [Tue, 14 Feb 2017 15:18:13 +0000 (15:18 +0000)]
Revert "Disable libcore tests for now."
Vogar has been fixed.
bug:
35308152
This reverts commit
b1cde6a6d0101328e683fe07f81d40a1368eaae9.
Change-Id: I2440da0a97561f6794f8827b536481e1a6536c91
Orion Hodson [Wed, 18 Jan 2017 09:23:12 +0000 (09:23 +0000)]
ART: invoke-custom support
Adds invoke-custom instruction to the interpreter.
Bug:
33191717,
30550796
Test: art/test/run-test --host 952
Change-Id: I3b754128649a8b3a00ade79ba2518d0e377f3a1e
Vladimir Marko [Fri, 10 Feb 2017 15:44:25 +0000 (15:44 +0000)]
ARM64: Improve String.equals() intrinsic for const strings.
And add additional tests to 021-string2.
aosp_angler-userdebug:
before:
arm64 boot*.oat:
43324664
arm64 boot*.oat/string compression:
43411112
after:
arm64 boot*.oat:
43300136 (-24528)
arm64 boot*.oat/string compression:
43345464 (-65648)
The string compression code size difference drops from
86448 to 45328.
Test: m test-art-target on Nexus 6P
Test: m test-art-target on Nexus 6P with string compression enabled.
Bug:
31040547
Change-Id: I99a3777b91b248da2b0ac25abd260f9e5abb2c09
Treehugger Robot [Tue, 14 Feb 2017 13:19:15 +0000 (13:19 +0000)]
Merge "Bump oat version."
Vladimir Marko [Tue, 14 Feb 2017 11:34:09 +0000 (11:34 +0000)]
Bump oat version.
Two recent changes should have bumped the oat version but
they did not:
https://android-review.googlesource.com/336161
https://android-review.googlesource.com/338409
Test: Rely on Treehugger.
Change-Id: I105f2f2d54953ed808ded92234c06efcc155d313
Treehugger Robot [Tue, 14 Feb 2017 11:37:33 +0000 (11:37 +0000)]
Merge changes I1042e87f,I58b17ecf
* changes:
Remove remaining uses of DexFile::GetChecksum.
Improve checking of multidex dex checksums.
Roland Levillain [Tue, 14 Feb 2017 10:50:49 +0000 (10:50 +0000)]
Merge "Revert "Revert^4 "Make class redefinition work with native methods on stack."""
Roland Levillain [Tue, 14 Feb 2017 10:49:09 +0000 (10:49 +0000)]
Revert "Revert^4 "Make class redefinition work with native methods on stack.""
ART run-test 945-obsolete-native is failing in automated
testing.
This reverts commit
724f77e2fed038d57a3d08fdcf656d703e3473ea.
Change-Id: I4eceb45765826ca442ee8f4800b2bed51f98e662
Richard Uhler [Mon, 6 Feb 2017 15:12:45 +0000 (15:12 +0000)]
Remove remaining uses of DexFile::GetChecksum.
Remove or replace with DexFile::GetMultiDexChecksums as appropriate.
Bug:
34604632
Test: m test-art-host, added image_space_test to test ValidateOatFile.
Change-Id: I1042e87f29a242046d055f0be374ad9fbce4671a
Richard Uhler [Tue, 24 Jan 2017 10:25:21 +0000 (10:25 +0000)]
Improve checking of multidex dex checksums.
* Fall back to odex file for all multidex entries if the apk is stripped,
not just for the main multidex entry.
* Verify the number of multidex entries has not changed.
* Improve performance by getting all checksums from the apk in one go
and cache the results instead of repeatedly opening the apk.
* Stop referring to non-main multidex entries as "secondary" dex files.
Bug:
34604632
Test: added tests to dex_file_test and oat_file_assistant_test
Test: m test-art-host
Change-Id: I58b17ecfbc9165a5bfeffd5281ee21d108f64479
Orion Hodson [Tue, 14 Feb 2017 09:00:00 +0000 (09:00 +0000)]
Merge "ART: Add DEX support for MethodHandle and CallSite info."
Treehugger Robot [Tue, 14 Feb 2017 05:40:45 +0000 (05:40 +0000)]
Merge "Revert^3 "Hash-based dex cache type array.""
Treehugger Robot [Tue, 14 Feb 2017 04:36:48 +0000 (04:36 +0000)]
Merge "ART: Correctly handle temporary classes in class-load events (4/3)"
Mathieu Chartier [Tue, 14 Feb 2017 02:32:04 +0000 (18:32 -0800)]
Revert^3 "Hash-based dex cache type array."
Assert failing for "earchbox:search":
F zygote64: class_linker.cc:4612] Check failed: handle_scope_iface.Get() != nullptr
Test: m test-art-host
Bug:
34839984
Bug:
30627598
Bug:
34659969
This reverts commit
85c0f2ac03417f5125bc2ff1dab8109859c67d5c.
Change-Id: I39846c20295af5875b0f945be7035c73ded23135
Treehugger Robot [Tue, 14 Feb 2017 02:41:57 +0000 (02:41 +0000)]
Merge "Revert^4 "Make class redefinition work with native methods on stack.""
Andreas Gampe [Tue, 14 Feb 2017 02:10:09 +0000 (18:10 -0800)]
ART: Correctly handle temporary classes in class-load events (4/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 in the heap as referents.
Bug:
31684920
Test: m test-art-host-run-test-912-classes
Change-Id: If140ecae675cd7bc648f622eaf200f8ad8b15438
Treehugger Robot [Tue, 14 Feb 2017 01:38:18 +0000 (01:38 +0000)]
Merge "Deduplicate register maps for both inline and normal stack maps"
Alex Light [Tue, 14 Feb 2017 01:10:25 +0000 (17:10 -0800)]
Update test 044 for java-8
Jack will create a synthetic default bridge method for interfaces
where there is return-type variance. This changes the output of test
044-proxy very slightly since it ends up choosing the default version
when it is executed.
Test: mma -j40 test-art-host
Change-Id: I4e16eed04b59022e45a80324cd8c8106d21d4aef
Alex Light [Sat, 11 Feb 2017 00:43:10 +0000 (00:43 +0000)]
Revert^4 "Make class redefinition work with native methods on stack."
We had a problem where there was a brief period of time where the dex
file for an obsolete method could not be obtained. This meant that not
all functions of ArtMethod could safely be called, causing some
problems.
This reverts commit
38c20d4a694eea44a1bd3af32a6a99512c139358.
Reason for revert: Fixed issues with interp-ac and relocate-npatchoat
Test: ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT=true \
ART_TEST_INTERPRETER_ACCESS_CHECKS=true \
mma -j40 test-art-host
Change-Id: I04991f3e76813831b6446f97636b6fa404397f36
Mathieu Chartier [Thu, 9 Feb 2017 23:57:37 +0000 (15:57 -0800)]
Deduplicate register maps for both inline and normal stack maps
Before it only deduplicated the normal stack map dex register maps.
Code size for a large app:
93341616 ->
92678040 (-0.7%)
Added test.
Bug:
34621054
Test: test-art-host
Change-Id: I4fab4e40915bfa12cb978edbb3cbc19e2cf00954
Aart Bik [Mon, 13 Feb 2017 22:28:45 +0000 (14:28 -0800)]
Added a few integral SIMD extensions for x86/x86_64 (SSE).
Rationale:
ART vectorizer needs SIMD for integer operations too.
Test: assembler_x86[_64]_test
Bug:
34083438
Change-Id: Id6fec558c617d38cb643839eafcd10e59dcd6e0a
Treehugger Robot [Mon, 13 Feb 2017 21:34:20 +0000 (21:34 +0000)]
Merge "Enable dex2oat swap test for CC on x86."
Mingyao Yang [Mon, 13 Feb 2017 21:26:22 +0000 (21:26 +0000)]
Merge "Remove special treatment of native method for CHA."
Nicolas Geoffray [Mon, 13 Feb 2017 20:56:50 +0000 (20:56 +0000)]
Merge "Disable libcore tests for now."
Nicolas Geoffray [Mon, 13 Feb 2017 20:55:27 +0000 (20:55 +0000)]
Disable libcore tests for now.
bug:
35308152
Test: run-libcore-tests.sh
Change-Id: I77f9a516d6dd99d332a214e838848cdc3fdf359a
Treehugger Robot [Mon, 13 Feb 2017 20:20:47 +0000 (20:20 +0000)]
Merge "Clarify comment on JIT cache flush issue"
Hiroshi Yamauchi [Mon, 13 Feb 2017 19:21:13 +0000 (19:21 +0000)]
Merge "Fix the empty checkpoint timeout."
Andreas Gampe [Thu, 19 Jan 2017 04:39:02 +0000 (20:39 -0800)]
ART: Make dex2oat watchdog configurable
Allow the watchdog timeout to be set on the command line. Add a
test.
Test: m
Test: m test-art-host
Change-Id: I04d0bd15fc7925d95fd2b6d87caf21fb85a797bd
Vladimir Marko [Mon, 13 Feb 2017 18:57:47 +0000 (18:57 +0000)]
Enable dex2oat swap test for CC on x86.
The test should be OK after
https://android-review.googlesource.com/335763
Test: m ART_USE_READ_BARRIER=true test-art-host-gtest
Bug:
29259363
Change-Id: I16f4051036b247b4f520533e77eaa71d6ff7bb41
Treehugger Robot [Mon, 13 Feb 2017 18:39:50 +0000 (18:39 +0000)]
Merge "ART: Correctly handle temporary classes in class-load events (3/3)"
Vladimir Marko [Mon, 13 Feb 2017 18:05:06 +0000 (18:05 +0000)]
Merge "Use VerifierDeps test file for dex2oat swap tests."
Vladimir Marko [Mon, 13 Feb 2017 16:53:03 +0000 (16:53 +0000)]
Merge "Revert^2 "Hash-based dex cache type array.""
Orion Hodson [Fri, 13 Jan 2017 16:43:12 +0000 (16:43 +0000)]
ART: Add DEX support for MethodHandle and CallSite info.
Adds new DEX file map items for CallSiteIds and MethodHandles.
Initializes CallSiteIds and MethodHandles from the DEX file map_list.
Bug:
33191717,
30550796
Test: m test-art-host-gtest-dex_file_verifier_test
Change-Id: I3ad9c7342b661c3f6a8264709412650eee6bde01
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
Andreas Gampe [Sat, 11 Feb 2017 00:18:30 +0000 (16:18 -0800)]
ART: Correctly handle temporary classes in class-load events (3/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 in the heap.
Bug:
31684920
Test: m test-art-host-run-test-912-classes
Change-Id: Ia0456c81fd848618e637b93301edf4dbc8d848f2
Hiroshi Yamauchi [Thu, 9 Feb 2017 00:35:45 +0000 (16:35 -0800)]
Fix the empty checkpoint timeout.
The problem happens when a thread is indirectly blocked on a mutex
that another thread holds and is blocked on a weak ref access.
Add a way to do a dummy wakeup on a thread that's blocked on a mutex
so that the thread will respond to the empty checkpoint request. Do
this for the mutexes that are expected to be held when a weak ref is
accessed. Add a check that detects an unexpected case.
Bug:
33006388
Bug:
12687968
Test: test-art-host.
Change-Id: Iefec69b9a21aa25a928cb31fcf4fb872f867a8c2
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)"
Mingyao Yang [Fri, 10 Feb 2017 19:25:05 +0000 (11:25 -0800)]
Remove special treatment of native method for CHA.
This special treatment is not necessary and causes complexity and issues.
Bug:
35104526
Test: m test-art-host
Change-Id: Icb07d147b433388d0b9430212b9b4c4bf04eafae
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
Kevin Brodsky [Thu, 15 Dec 2016 14:23:09 +0000 (14:23 +0000)]
Clarify comment on JIT cache flush issue
The original fix (#304947) is needed, but the comment was suggesting a
hardware cause and a link with A53 errata. In all likelihood neither
of these is true, and the issue is actually caused by a kernel issue
affecting many Qualcomm devices (like those using the msm tree).
Change-Id: Ie750e6fd9eb7130982d184c22917b5c3ea4beed0
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."