| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This restores the old message, replacing "ids" by "references" and
advertising for multidex otpions.
Updates dalvik/tests/089-many-methods accordingly.
(cherry picked from commit d352de04f03b848e0246119344ea13e7233018f0)
Change-Id: I5934bc9fb7812b66c0e38935946cacdf1c35a402
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed issue where we had inverted logic when checking for
pending exceptions.
Changed the logic to not update the native allocation watermarks
after concurrent GC since the finalizers may not have been run at
this point.
Copied over the test from ART for ensuring that it is working.
Bug: 10444866
Change-Id: Ie26170f9c4703f11e993233cdc9c5f46396fca84
|
|
|
|
|
|
|
| |
Make sure that we can break out of an infinite loop for
gc or other purposes.
Change-Id: I467a5f4383707b2952901d90444ef95e21a0caba
|
|
|
|
|
|
|
|
|
| |
Inner class access flags should come from the InnerClass attribute.
Array classes should all have the ACC_ABSTRACT modifier set.
Bug: https://code.google.com/p/android/issues/detail?id=56267
Change-Id: If4793ee6c7a6b24bf4d32ef05167d81b58011188
|
|
|
|
| |
Change-Id: I36b942916330a3d6a06fad93dd9aa0533b47ff85
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was that the instance test could potentially fill the
heap close enough to the edge that you'd hit a follow-on OOME in
the attempt to print the success message, causing the test to fail.
I've also made the code a bit clearer while I'm here.
Bug: https://code.google.com/p/android/issues/detail?id=54114
Change-Id: I39127c3ea6a99940fa66ad8763bbbf6c01d308ef
|
|
|
|
|
|
|
|
|
| |
The x86 codegen uses the FPU stack for double/float to long conversions. We
need to clear out the FPU stack after done, to prevent an eventual stack
overflow.
Change-Id: I2f306d7c228ad3da2b84faf9f08326769a9417af
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
|
|
|
|
| |
Change-Id: I2ac5f0685bd5844252cc334d4040d68e01d39429
|
|
|
|
|
|
|
|
|
| |
We should only be checking the visibility of actual implementations
of interface methods. Intervening abstract methods are allowed to
be non-public.
Bug: https://code.google.com/p/android/issues/detail?id=42991
Change-Id: I510d0cc6c1f89d161d4ebad7ef058c03fa09e9b0
|
|
|
|
|
| |
Bug: https://code.google.com/p/android/issues/detail?id=16149
Change-Id: I0fa26a5201fc80a6f049d61d34e403d4cb5c505a
|
|
|
|
|
|
| |
dvz is never used. Delete it.
Change-Id: If2b5ccbf6668a1044a0d57e09ce6d0c0923c6c76
|
|
|
|
|
| |
Bug: http://code.google.com/p/android/issues/detail?id=39854
Change-Id: I3089b693ff3084b093f991f991ac9273dea7356d
|
|
|
|
|
|
|
| |
Backport from dalvik-dev, due to customer demand.
Bug: http://code.google.com/p/android/issues/detail?id=41196
Change-Id: I53ef57e54983f2173546463ac78e265ff5dd3284
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch provides a fully functional x86 trace JIT compiler for Dalvik
VM. It is built on top of the existing x86 fast interpreter
with bug fixes and needed extension to support trace JIT interface. The
x86 trace JIT code generator was developed independent of the existing
template-based code generator and thus does not share exactly the same
infrastructure. Included in this patch are:
* Deprecated and removed the x86-atom fast interpreter that is no
longer functional since ICS.
* Augmented x86 fast interpreter to provide interfaces for x86 trace JIT
compiler.
* Added x86 trace JIT code generator with full JDWP debugging support.
* Method JIT and self-verification mode are not supported.
The x86 code generator uses the x86 instruction encoder/decoder library
from the Apache Harmony project. Additional wrapper extension and bug
fixes were added to support the x86 trace JIT code generator. The x86
instruction encoder/decoder is embedded inside the x86 code generator
under the libenc subdirectory.
Change-Id: I241113681963a16c13a3562390813cbaaa6eedf0
Signed-off-by: Dong-Yuan Chen <dong-yuan.chen@intel.com>
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Signed-off-by: Johnnie Birch <johnnie.l.birch.jr@intel.com>
Signed-off-by: Udayan <udayan.banerji@intel.com>
Signed-off-by: Sushma Kyasaralli Thimmappa <sushma.kyasaralli.thimmappa@intel.com>
Signed-off-by: Bijoy Jose <bijoy.a.jose@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Tim Hartley <timothy.d.hartley@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
A call to package private method could be redirected to subclass which
was not in the same package.
Modified vtable to retain virtual super methods which cannot be accessed.
This change affects vtable index in optimized dex.
Change-Id: I9cc7e309c305bca12e5061009c4245fb70014681
Signed-off-by: Im Sooin <ciecet@gmail.com>
|
|
|
|
|
|
|
|
| |
Zero-checks were not generated by the JIT compiler for
some instructions. This caused crashes instead of
the expected ArithmeticException.
Change-Id: Ic8041741a7cccc1bd6b8c3c0723ba55a55af856b
|
|\
| |
| |
| |
| | |
* commit '90d3e3b3999aa22d0cecc4f064e5686c555ad700':
Add test cases for concurrent gc and System.arraycopy
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When System.arraycopy runs at the same time as a concurrent gc
the phone will sometimes crash since System.arraycopy was implemented
using memmove and memcpy. In current implementation of mememove bytes
are copied one at a time. If for instance only 3 out of 4 bytes
to an object reference were copied when the thread switch to the
gc thread occurred and the gc was scanning the marked objects the
gc read an invalid address. The parameters to dvmWriteBarrierArray
in one case was also corrected (they are currently not used).
The fix itself for this crash is made elsewhere, this commit just
adds test cases to verify that this works.
Change-Id: I0a8cfd43561b3d5de4bba818993bcf8b40413045
|
| |
| |
| |
| | |
Change-Id: I9023d20d1bc68204f932449b5e90fcb455da7a0b
|
|\|
| |
| |
| |
| |
| |
| | |
\'switch\' bug."
* commit '67feae038c9e6f076223335aa308f25d24a3a51e':
Add a test for a dalvikvm 'switch' bug.
|
| |\
| | |
| | |
| | |
| | | |
* commit 'c1052f9a61539f212885555b0b2c110582f11e28':
Add a test for a dalvikvm 'switch' bug.
|
| | |
| | |
| | |
| | |
| | | |
Bug: http://code.google.com/p/android/issues/detail?id=22344
Change-Id: I3bf9f8a0732876d758bc5378c5d25ad0c8a71684
|
|\| |
| | |
| | |
| | |
| | | |
* commit '81894b3aa4215d389a0673826a76a1839f578dcb':
Updates to the VM tests.
|
| |\|
| | |
| | |
| | |
| | | |
* commit '2fe129bf176c32f8b507da813ffa02868ff32604':
Updates to the VM tests.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: http://code.google.com/p/android/issues/detail?id=21599
Bug: http://code.google.com/p/android/issues/detail?id=21597
Change-Id: I9c6d67cd18943eb6fa68104f0ec2fbec5ea9e0ec
|
| |\ \
| | |/
| |/|
| | |
| | | |
* commit '232c385b9ece322d677a48947ab1e052c1e2427c':
Bug fix for control-flow construction involving nested loops.
|
| | |
| | |
| | |
| | |
| | | |
Bug: 5884080
Change-Id: Ic2f42abae3e71f9c0729984902396f92902184a3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
030 - adjust sleep duration so it's not a multiple of the 10-second
timeout (and hence less likely to hit edge)
070 - added tests for all "view buffers", both big and little endian,
plus a quick check for array() on direct buffers
092 - fixed date format test so it doesn't fail late at night, and
added a getISO3Language test
Change-Id: Ibc6f1111861a2ec8c69ded28d5e3de08f4ed2bc2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
029 - exercise setDefaultAssertionStatus
031 - enable some tests that were disabled back when our generics
support didn't exist. Added new FancyClass test.
034 - print success/fail rather than matching exact exception text
038 - (same as 034)
042 - added new test for bug 5861201, currently disabled
045 - added a bunch of new tests, including one that fails
046 - added new tests, including some for bug 5861201 (the latter
are disabled)
068 - loadClass() wants class names with dots, not slashes
086 - (same as 068)
087 - (same as 068)
092 - new test, exercises some locale-specific classes
093 - new test, exercises object serialization
094 - new test, exercises regex code
Test 045 now fails, because it's exercising a feature that should
work but doesn't. All others pass.
Change-Id: I6481bfa88681c4ac8af629cb60797b2708bdeba4
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 5884080
Change-Id: Ic2f42abae3e71f9c0729984902396f92902184a3
|
|\ \ \ \
| |/ / /
|/| / /
| |/ /
| | |
| | |
| | | |
to avoid excessive LinearAlloc use"
* commit '9e8b05e4529c4f9bf66d3db21ae79ccbbe97a1dc':
cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In deep interface hierarchies super-interfaces are recursively concatenated
to create the iftable. There was no checking for duplicated entries so that the
iftable could get pretty large with just a few layers of interfaces up to the
point where the LinearAlloc was exceeded completely.
This change scans the iftable linearly for existing entries before it adds another
one.
Issue: http://code.google.com/p/android/issues/detail?id=22586
Change-Id: Idb4a13ca7a52f390661629cf2539930242526876
Signed-off-by: Johannes Rudolph <johannes.rudolph@gmail.com>
|
|/
|
|
|
|
|
|
|
| |
This was previously a work in progress, but that work wasn't
completed and the test shouldn't assume the work is complete.
Bug: http://code.google.com/p/android/issues/detail?id=22545
Change-Id: I44a9532d96ab548283278ca3218773ea449f8318
|
|
|
|
|
| |
Change-Id: I9691f414b953c7e11791069a574441b993611238
http://b/4144865
|
|
|
|
|
|
|
|
|
| |
The new basis assumes how much work Enum.valueOf() needs
to do and checks that it does just that and little else.
It makes no attempt to compute a general speed of the VM
or to compare ratios of unrelated operations.
Change-Id: I0014fb37cfcf36016e72e97ca182e3836044782e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adapt the existing counted loop analysis and range/null check
elimination code to work with the new loop building heuristics.
Cleaned up the old ad-hoc loop builder.
Suspend polling is enabled by default for loops. The backward chaining
cell will be used in self-verification and profiling mode.
If the loop includes accesses to resolved fields/classes, abort code
generation for now and revert to the basic acyclic trace. Added
tests/090-loop-formation to make sure the JIT won't choke on such
instructions.
Change-Id: Idbc57df0a745be3b692f68c1acb6d4861c537f75
|
|
|
|
| |
Change-Id: Ie39f76b9aa7478c39e10165eba122e3aa2834461
|
|
|
|
|
|
|
|
|
| |
The local variable used to hold the field reference was a u2.
Also, removed the "don't include debug info" options from the build
script.
Change-Id: I14b0fd4ae5af8dcd52f4b22e6b8fe9f68fd7bc89
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change we will start using some dexopt-generated "jumbo"
opcodes for volatile field accesses and calls to Object.<init>. These
are necessary for correctness.
Fixed a bug that could prevent volatile fields in huge objects from
being handled correctly.
Also, return "void" from some functions whose return value is never
examined.
Change-Id: I2a7fc66b59953ed3a6f4ac507873101de5d101d5
|
|
|
|
| |
Change-Id: I2069770f9b7456e4f3cde692d9a6b929ec7fe067
|
|
|
|
|
|
|
|
|
|
| |
The dalvik tests require a dalvik-cache directory otherwise dalvikvm
will fail with an unhelpful error message. On the device it is safe
to assume a dalvik-cache directory exists but this is not a safe
assumption on the host. With this change the script tries to create a
dalvik-cache directory on the host if it does not exist.
Change-Id: Ie0c69ff8dcd68b6b04a763f06861edd308406f69
|
|
|
|
|
|
| |
Added a regression test for allocation of 4GB+ arrays.
Change-Id: Ibac82bbba9ef25b0850386a35e0f5b8554abbaa3
|
|\
| |
| |
| | |
Change-Id: Ib038cc0e68651c63dbcf9a0df2a5607ab2c2d6c7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The VM needs to ensure that updates to 16-bit and 32-bit fields
and array elements happen atomically. System.arraycopy was calling
memmmove(), which in bionic happens to copy a byte at a time.
The new plan is to have bionic provide a platform-optimized memmove
variant that makes guarantees about word sizes. If it is not present
(either because it hasn't been written for the current platform,
or we're not linking against bionic), we will use a trivial copy loop.
We assume that the memmove-by-word implementation does whatever
it needs to for best performance. For example, if the function
determines that memcpy() is word-safe and will be faster, it can
call that. The VM no longer makes assumptions about the internal
workings of libc functions.
I also rearranged the code to avoid making indirect calls, reading
function addresses from memory, and using integer multiplication
instructions when a simple shift will do. (gcc now generates the
whole thing as one function.)
Also, added some primitive array copy tests to 011-array-copy.
Bug 3398352
Change-Id: I4677ee1c87998697a93e61f39a48b3f391e8e11b
|
| |
| |
| |
| |
| |
| |
| | |
When specified, print the VM invocation command line too.
Also made minor cleanup on the class path to simply the invocation command.
Change-Id: I7af0a2c1df15c0e435d2e5c0b2aa0713455db0de
|
|\|
| |
| |
| |
| | |
* commit '4482a1573b3ec0d3d312a8a6c1af52952d5d02d8':
Fix dalvik test 084.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Two threads were waiting for initialization of a class to complete.
There was nothing encouraging one thread to resume execution first,
but on single-core devices it always worked out the same way.
Bug 3366697
Change-Id: I29430d398dfbd9509d7db2b7db2800d340b29d19
|
|\|
| |
| |
| |
| |
| |
| | |
honeycomb
* commit 'f18a427413d1cea7e245256810346837bd88cd8c':
Fix proxy expectation.
|
| |
| |
| |
| | |
Change-Id: I70589302c686387a1f89e8f79eb58c4b6b8214a6
|