c5798bf82fc0ccd0bb90e0813d8e63df4d0576cc |
|
09-Dec-2016 |
Vladimir Marko <vmarko@google.com> |
Revert^8 "Make sure that const-class linkage is preserved." Replaced two ReaderMutexLocks with WriterMutexLocks. Removed some unnecessary debugging output. Test: m test-art-host Bug: 30627598 Original-Change-Id: Ie9b721464b4e9a5dcce8df8095548e983bba1fe8 This reverts commit 2c8c6b63da6ecb2ac701cc30f9b4fa4a8eea5cc8. Change-Id: I3a1aeecf64e4b202cef61cceb248d48106a2f4a6
|
2c8c6b63da6ecb2ac701cc30f9b4fa4a8eea5cc8 |
|
01-Dec-2016 |
Vladimir Marko <vmarko@google.com> |
Revert "Make sure that const-class linkage is preserved, try again." Reverting due to test failures as expected. Bug: 30627598 Bug: 33231647 This reverts commit cb5ab35980a86b05586c402924d2e7ca9df25758. Squashed revert "Additional debug logging for bug 33231647." This reverts commit 00a441033db28d243fc33692d30eb2755fa81728. Change-Id: I0c0ee1f70d47540fec99f8a797ce13571c16147c
|
cb5ab35980a86b05586c402924d2e7ca9df25758 |
|
30-Nov-2016 |
Vladimir Marko <vmarko@google.com> |
Make sure that const-class linkage is preserved, try again. This CL causes occasional test failures on the build servers which we were not able to reproduce locally. So we add some some additional debug output to help pinpoint the cause. Bug: 30627598 Bug: 33231647 Test: m test-art-host This reverts commit 171cf811a1cdf8b1cbc5151505d8630741ce4cf3. Change-Id: Id56a3f0e86e8212fd547e09c61794401bff47fb0
|
171cf811a1cdf8b1cbc5151505d8630741ce4cf3 |
|
29-Nov-2016 |
Vladimir Marko <vmarko@google.com> |
Revert "Revert "Revert "Revert "Revert "Make sure that const-class linkage is preserved.""""" Bug: 30627598 This reverts commit e47172b75b8b04a450d235cf72bdc4e223a29cb5. Change-Id: I038029c71195a80f041982e82ae556d3157db7b8
|
e47172b75b8b04a450d235cf72bdc4e223a29cb5 |
|
25-Nov-2016 |
Vladimir Marko <vmarko@google.com> |
Revert "Revert "Revert "Revert "Make sure that const-class linkage is preserved."""" Avoid class loading triggered by verification in the 626-const-class-linking test. Expect spurious wakeups. Add extra debugging output for a very strange failure image_writer.cc:1144] Check failed: !IsBootClassLoaderClass(as_klass) java.lang.Class<java.lang.NoSuchMethodError> That class is supposed to be in the boot image (core.art for tests), so the failing check should not be reached at all. Test: m test-art-host Test: m ART_TEST_OPTIMIZING=true \ ART_TEST_JIT=true \ ART_TEST_INTERPRETER=true \ ART_TEST_INTERPRETER_ACCESS_CHECKS=true \ test-art-host-run-test-626-const-class-linking Bug: 30627598 This reverts commit 09ded9201fbeec605b12741ae255663c14bda225. Change-Id: I65a68cb53f0707b8abb3555ac3dc44c82907aef5
|
09ded9201fbeec605b12741ae255663c14bda225 |
|
24-Nov-2016 |
Vladimir Marko <vmarko@google.com> |
Revert "Revert "Revert "Make sure that const-class linkage is preserved.""" 626-const-class-linking is failing (spurious wakeups?) 970-iface-super-resolution-gen is failing: dex2oatd F 11-24 10:57:16 6410 6410 image_writer.cc:1144] Check failed: !IsBootClassLoaderClass(as_klass) java.lang.Class<java.lang.NoSuchMethodError> Bug: 30627598 This reverts commit 25dcbad4462ea7279ee2bbe0884abc25bdfac77a. Change-Id: Ie010169bdde45e6ccf2e04a521da4682bd817114
|
25dcbad4462ea7279ee2bbe0884abc25bdfac77a |
|
23-Nov-2016 |
Vladimir Marko <vmarko@google.com> |
Revert "Revert "Make sure that const-class linkage is preserved."" Fix jdwp getting multiple instances of the same class. Fix counting "zygote"/"non-zygote" classes in class table. Fix FindClass() to EnsureResolved() classes added by a racing thread to the class table. Test: m test-art-host Test: art/tools/run-jdwp-tests.sh --mode=host --variant=X64 --debug Bug: 30627598 This reverts commit ecffc67068a28d55d131553bf915fdb9fafbbc03. Change-Id: I15807949da4f163c2693fac2fbfc274f17685f8a
|
ecffc67068a28d55d131553bf915fdb9fafbbc03 |
|
22-Nov-2016 |
Vladimir Marko <vmarko@google.com> |
Revert "Make sure that const-class linkage is preserved." Bug: 30627598 This reverts commit 19886dbeced9430579a27979beb92b09c95197b4. Squashed reverts of subsequent partial fixes. This reverts commit bad475a63b7c938b7ff7903ea1dae27369c3f629. This reverts commit 0ba0c7d9b0328af39a385014652eb9af4e42d8b5. This reverts commit ddb8afec79492750f16f98e5bd07d44f3dc485d4. Change-Id: Id94af5ae56a0335f9641a79c885cc75bba971713
|
19886dbeced9430579a27979beb92b09c95197b4 |
|
11-Nov-2016 |
Vladimir Marko <vmarko@google.com> |
Make sure that const-class linkage is preserved. After calling loadClass() on the initiating loader, insert the Class to the ClassTable. Check that the returned class has the correct name and that the ClassTable does not yet contain a different Class for the same name. If either check fails, follow the RI behavior for parallel capable class loaders, i.e. throw NoClassDefFoundError for name mismatch (with more descriptive message than RI) or return the Class already present in the ClassTable. This ensures that the const-class instruction for a given name always gives the same result as the first time it succeeded for the same initiating loader, even for non-well-behaved loader. Inserting the Class to the ClassTable is also a necessary step for changing to hash-based dex cache type array when the DexCache will not necessarily keep the Class and therefore the defining loader alive while the initiating loader stays alive, so the ClassTable entry is necessary to keep the dependecy. Add tests that a const-class instruction always returns the same Class<?> as it returned the first time, i.e. when it was "linked", even for class loaders that are not well-behaved, even if the dex cache type array is cleared. Also test the edge cases, i.e. NoClassDefFoundError and returning old entry from ClassTable when already inserted by another thread. Bug: 30627598 Test: 626-const-class-linking Test: m test-art-host Change-Id: Ie9b721464b4e9a5dcce8df8095548e983bba1fe8
|