| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Bug: 13469670
Change-Id: Ic1835394e3b09f557813f46220dad36d86aad26f
|
| |
|
|
| |
Change-Id: Id118f2fc173fc37225a1fb36e8182f54030b1f5f
|
| |
|
|
| |
Change-Id: If6ea32e923a8c7fe99824760d9a09e7eee1ff71b
|
| |
|
|
|
|
|
| |
External developers were starting to try to get themselves into trouble with
this stuff...
Change-Id: I2b03bfeaa8c98b6a994bc7924fc8dcf4e4d4f6cb
|
| |
|
|
| |
Change-Id: I57d10b69f400ce3ffda1a26dc632a4122a4f3d70
|
| |
|
|
|
|
|
|
|
| |
For instruction format 35c, 41c, 52c, and 5rc, the register
name was different from the Dalvik Instruction Format document,
and InstrUtils.cpp of libdex. This commit updates the name,
so that they will look consistent.
Change-Id: I857b1f9c1ac7178dc147d0019df589c9c6d102e1
|
| |\
| |
| |
| |
| | |
* commit '80aedd4dfc1252cb214fdff5baeb55166e3bf021':
The jni-tips documentation has moved to frameworks/base.
|
| | |
| |
| |
| | |
Change-Id: I77fbc3ed593c51f61de9590beaadaa52f08387f8
|
| |/
|
|
| |
Change-Id: I3b58dfd05a63671cf315698247d88e67528e118d
|
| |\
| |
| |
| |
| |
| |
| | |
unmaintained docs.
* commit '4624f350313daaae52068c5d1d12b88859d43e54':
Removing inaccurate and unmaintained docs.
|
| | |\
| | |
| | |
| | |
| | | |
* commit '486ac3c0a90b05be5af4b82801ef325e83241057':
Removing inaccurate and unmaintained docs.
|
| | | |
| | |
| | |
| | | |
Change-Id: Ifef37063e844e4eb9ccc8111a1f1263fe26bd517
|
| | | |
| | |
| | |
| | | |
Change-Id: Iabb7fa8ff20155a018d40bd2e23b21f19d14de1e
|
| |\| |
| | |
| | |
| | | |
Change-Id: Ib5ec0912c0c5d7041b794351fcca10c41c4294ec
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The "all stubs" interpreter is the recommended starting point for
anyone creating a "fast" interpreter on a new CPU. This cleans
up some minor bit rot in the code and documentation.
Bug 3452689
Change-Id: I6bc3b0b5da11955d842d5fc5f16cb1a2209d4a89
|
| |\| |
| | |
| | |
| | | |
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
|
| |\| |
| | |
| | |
| | |
| | | |
* commit 'd9c39e0f0177e9d271735766501524196fd14b08':
Update doc with actual version number.
|
| | |/
| |
| |
| |
| |
| | |
Honeycomb is 3.0.
Change-Id: Ic7f15a9e2345344acdc787db153f8b8c559fe15f
|
| | |
| |
| |
| |
| |
| |
| | |
This feature has been in the code base for several releases but has never
been enabled.
Change-Id: Ia770b03ebc90a3dc7851c0cd8ef301f9762f50db
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This breaks a nascent circular dependency, keeping dx.io the lower layer.
Bonus: While I was in the territory, I clarified the data payload
opcodes, including adding explicit constants for them.
Change-Id: I8655064ebc3b5713cbb4a6c83bcc90984393701f
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These classes are meant for reading and writing bytecode at the lowest
possible level, in particular without layering any interpretation of
the instructions beyond understanding the instruction formats. (For
example, constant indices remain numbers and aren't tied to objects
representing constants.)
This patch represents a work-in-progress that compiles but is as yet
not hooked up to anything else. Hooking it all up will happen in
one or more follow-on patches.
Change-Id: Ifd3b3ff0925dc9dc3d82e507dc1be83cb560031d
|
| | |
| |
| |
| |
| |
| | |
I'll regenerate the vm code for this in a follow-up change.
Change-Id: I59a0a91d39fd539f1b3a25f1f2889618fa484b96
|
| |/
|
|
| |
Change-Id: I99e6828487dcc7f6277bb710e4279ce0aa8c7563
|
| |
|
|
|
|
| |
And, importantly, fix a lingering naming issue.
Change-Id: I2b0d2008aae32679430910dfe5fa58a86f0a59df
|
| |
|
|
|
|
|
| |
For ease of clicking around when browsing and easier discoverability
in general.
Change-Id: Ia50507df454dd65526e99ef14194c310bb11edb1
|
| |
|
|
| |
Change-Id: I12fde7eb665c9f3b75684018457f9464b0990156
|
| |
|
|
|
|
| |
Added note about hand-over-hand locking.
Change-Id: I9912e87f2585c3d225b93e037c04f9bf7e2cff14
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds tracking of monitor-enter and monitor-exit instructions
to the bytecode verifier. The idea is to guarantee that all lock
operations in a method are paired with unlock operations, whether
the method completes normally or abnormally.
Because of an issue in "dx", the code only verifies that the operation
stack has the right size at all times. We do not yet confirm that
the correct monitor is being unlocked by monitor-exit (the code is
present but ifdefed out). Also, when monitor verification is enabled,
we do not add the "can throw" path from monitor-exit to the work list,
potentially causing some "dead code" warnings. (Not coincidentally,
"dead code" checking is now only enabled in libdvm_assert.so.)
Overall increase in bootstrap verification time is about 9%, dropping
to 6% when the new checks are disabled.
The feature is currently disabled by default. -Xverifyopt:checkmon
enables it.
Bug 2534655
Change-Id: I0eac54ce2623fb1d48cc80889fcdb4fd69de3231
|
| |
|
|
|
|
|
|
| |
This is the same idea as my last change, except with the new
extended opcode formats. I also added a little more explanatory
text.
Change-Id: Iab9d1beb1ed445b94e72a438dfb83ea077c8c35b
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
I did two things here: (1) made the lettering for formats 35c and 35ms
match how things are actually implemented; and (2) formally defined
formats 35mi and 3rmi, to correspond to the inline linked formats
actually used in our current implementation.
In neither case does this change the meaning of the spec in any
substantive way. The first case is just about labels, and the second
case is just about (from the standpoint of the spec) a suggestion.
Change-Id: I6a6226a8cdd82ae4dcc43d342a9e9b98582cefd7
|
| |
|
|
|
|
| |
I neglected to include this one in my original list of new opcodes.
Change-Id: Ia59b4b2f21516d851f0398361eb5db1cb413aaab
|
| |
|
|
| |
Change-Id: I861c2d65fea468fd1f085d845981b1cd9d98d3a8
|
| |\ |
|
| | |
| |
| |
| | |
Change-Id: I4f86849de25f1d1a35f2356c1f118f3f063674a4
|
| |/
|
|
|
|
|
| |
I also refactored some of the old code in the process, to minimize
duplication, and I also did a minor cleanup of the format spec.
Change-Id: Ib07ea4ade52aa6ec4fa69000798e0cfb8f10c3a9
|
| |
|
|
|
|
|
| |
This was never finished, and hasn't been maintained. And the hardware's
totally obsolete.
Change-Id: Icbf78e507de3b8be8a8f995b8423cc3c678ab0d3
|
| |
|
|
| |
Change-Id: I571ca9ac8f7a258a6e5d19208f382f42ee0aab22
|
| |
|
|
| |
Change-Id: I16731c1b66b40022c2e10c93640583ae43659701
|
| |\
| |
| |
| | |
dalvik-dev
|
| | |
| |
| |
| | |
Change-Id: Id57cee56a9b49a2d6434ab2c41657d4a4cb9ed61
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The release order changed slightly.
Bug 3110872 is related.
Change-Id: I2b2982a29910ee58746188e9dbd61ffd9c3b3d64
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '141c9711d546c161d7ad6b149392dfddf705a26e'
* commit '141c9711d546c161d7ad6b149392dfddf705a26e':
Added some threading notes
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Explain thread attach/detach, behavior of threads running native code.
Added pthread_key_create destructor note to backward compatibility
section.
Change-Id: I954708c9ec7c83ba951c0f512c88d5c610a49411
|
| |\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '22156b4d43d06446a0bb4d2c887c23bedabb3a96'
* commit '22156b4d43d06446a0bb4d2c887c23bedabb3a96':
Clarify the invoke-* opcodes.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
In particular, make it a little more explicit what kinds of methods
are acceptable for each variant.
Change-Id: Icd9dad876c2d10c23462b4d85ccaa9441d7f2c04
|
| |\| |
| |/
|/|
| |
| |
| |
| |
| |
| | |
dlerror(3) string." into gingerbread
Merge commit 'b11c54c9b7849eaa95423dbbf8433e9f1b20ec32'
* commit 'b11c54c9b7849eaa95423dbbf8433e9f1b20ec32':
Change Runtime.nativeLoad to return the dlerror(3) string.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This has a companion change in libcore:
https://android-git.corp.google.com/g/71342
Bug: 3044042
Change-Id: I070a80a41ec2f306f5092a641807017f70179451
|
| |/
|
|
|
|
|
|
|
|
|
| |
I don't think any external developers have used this, so there's not
much risk of breaking a script. The feature itself still exists, but
now you have to use the more general dalvik.vm.extra-opts property
to enable it.
Bug 2844083
Change-Id: Id4e1d8466e9b9e5818331ab1f40429040c49437b
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Added three new "FAQ" sections, covering the questions that come up
most frequently on the android-ndk mailing list.
Augmented the "Unsupported Features" section with a list of items
that didn't used to work, and noted when they started working.
Various minor updates.
Change-Id: I9acb22e70f6dae1d9b5011da0eab08b6e739d5f9
|