History log of /dalvik/vm/oo/Array.h
Revision Date Author Comments
375fb116bcb817b37509ab579dbd55cdbb765cbf 15-Jun-2011 Carl Shapiro <cshapiro@google.com> Normalize the include guard style.

An leading underscore followed by a capital letter is a reserved
name space in C and C++.

This change also moves any #include directives within the include
guard in some of the compiler/codegen/arm header files.

Change-Id: I9715e2c5301699d31886e61d0fe6e29483555a2a
a62c3a0ab3fcdde37f47d16e9699a935ae7a8e88 04-May-2011 Carl Shapiro <cshapiro@google.com> Establish a subclass relationship between ArrayObject and Object.

Change-Id: I9f9fe52bd4ceebb6dde48251a89190ba6bb00ce4
d862faa2ceae186da5518607505eb942d634ced9 28-Apr-2011 Carl Shapiro <cshapiro@google.com> Get rid of uneeded extern, enum, typedef and struct qualifiers.

Change-Id: I236c5a1553a51f82c9bc3eaaab042046c854d3b4
d52d4b1e08009c57f1fdc6e13b90cb8948a60102 19-Apr-2011 Carl Shapiro <cshapiro@google.com> Replace public uses of dvmAllocArray with dvmAllocArrayByClass.

Change-Id: Ica5d457566ebf1196af5c0ef260ddeb95f569b81
a4f4a73edf03cd08b5b2d775913bcac674a117bb 19-Apr-2011 Carl Shapiro <cshapiro@google.com> Remove dvmAllocObjectArray and all of its uses.

This replaces uses of dvmAllocObjectArray with equivalent but safer
calls to dvmAllocArrayByClass. dvmAllocObjectArray performed no type
checking of its arguments and was easy to use incorrectly.

Change-Id: Ia82fe73cb9d73bbb27f5961242ad5961f9f9924c
ae188c676c681e47a93ade7fdf0144099b470e03 08-Apr-2011 Carl Shapiro <cshapiro@google.com> Compile the garbage collector and heap profiler as C++.

Change-Id: I25d8fa821987a3dd6d7109d07fd42dbf2fe0e589
a9c49df6714b3a37b7a7d0522932e622be2b35ac 11-Mar-2011 Dan Bornstein <danfuzz@android.com> Clean up how primitive types are handled.

The PrimitiveType enum got "promoted" to libdex, and I added a
few helper functions there. I also quashed the idea that there
is some sort of canonical ordering of the enumerated values.

In the vm (per se), I made PrimitiveType uses where it had assumed
an ordering instead switch(). This mostly made things much simpler.

I also split out the array of type classes in Globals.h into
individual ClassObject*s. This mostly made things simpler, but the gc
got a tiny bit of extra cruft because of it.

Finally, I made it so that the type classes get created explicitly
during vm startup, instead of happening implicitly the first time
they're accessed. This both simplified the code and, in particular,
made it so that the type classes didn't have to be declared volatile.

There are still a couple of related items that could stand to be
cleaned up, but I think what's here is enough for one patch.

Change-Id: Id14a6dfdb200abce9f30911c330ba32d9c2a4c3f
95a884f7844a6e7bdd820489742254f3fd002f6d 22-Sep-2010 Andy McFadden <fadden@android.com> Fix computation of primitive array widths.

The code was comparing class pointers, but the class objects for arrays
of primitives are initialized on demand. If the class wasn't yet
instantiated, the array width code was returning a default value of 4.
This meant the "write values to an array of longs through the unsafe
methods" code was actually scribbling on the wrong part of the array,
which went unnoticed until recently. (The new-ish ldrexd/strexd code
requires 64-bit alignment.)

We now use the existing array element width computation function. The
code needed a bit of rearranging since it expected an instance of the
class rather than the class.

Bug 3023981.

(cherry-pick from dalvik-dev)

Change-Id: Ife3258eb6798f8e7eaee7c7b6793a16137de389b
34f91a12d8ac8cd6c0b36dec5b927f63c076f14e 22-Sep-2010 Andy McFadden <fadden@android.com> Fix computation of primitive array widths.

The code was comparing class pointers, but the class objects for arrays
of primitives are initialized on demand. If the class wasn't yet
instantiated, the array width code was returning a default value of 4.
This meant the "write values to an array of longs through the unsafe
methods" code was actually scribbling on the wrong part of the array,
which went unnoticed until recently. (The new-ish ldrexd/strexd code
requires 64-bit alignment.)

We now use the existing array element width computation function. The
code needed a bit of rearranging since it expected an instance of the
class rather than the class.

Bug 3023981.

Change-Id: I51462978362b6a4fce26e13eda17e1bbc0eac192
fbdcfb9ea9e2a78f295834424c3f24986ea45dac 29-May-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master

Change-Id: I0c0edb3ebf0d5e040d6bbbf60269fab0deb70ef9
bfe4dcc3bd3d4d85a07fd3d63da537b51342b6eb 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Refinements to array and class object size computation.

* Rename dvmArrayObjectLength to dvmArrayObjectSize. In the context
of arrays length may refer to the length of the array data and not
the size of the array object instance.

* Add a new method dvmClassObjectSize which computes the total size of
a class object including its static fields.

Change-Id: I693ec8e66dfa5df35c9f35474c80411ea917c899
1e714bbd8230ac6fb9e3a8e9e25bca687132c82a 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Import the heap verification code from the copying collector. The
reference verification routine adds an extra argument so the base
address of an object can be passed to the verification code without
provoking a warning from GCC about breaking alias analysis.

Change-Id: Idd921bcc0e084c18bff1e209a8591ef55f57843a
30aa99778069baf0dab767f0fc1f5b1d51d110ff 14-Jan-2010 Carl Shapiro <cshapiro@google.com> Update the hash state bits when an identity hash code is computed.
4bc10cc26f856f2447bb23316e6729bcd20c2bf4 13-Jan-2010 Andy McFadden <fadden@android.com> Support primitive array elements in annotations.

Annotations that include primitive array elements are stored internally
as arrays of boxed primitives. The VM didn't know how to un-box them
when somebody requested the contents.

For bug 2370144.
f6c387128427e121477c1b32ad35cdcaa5101ba3 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
f72d5de56a522ac3be03873bdde26f23a5eeeb3c 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
2ad60cfc28e14ee8f0bb038720836a4696c478ad 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution