<feed xmlns='http://www.w3.org/2005/Atom'>
<title>android_dalvik/vm/analysis/CodeVerify.c, branch cm-13.0</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/'/>
<entry>
<title>Move the verifier and parts of the interpreter into C++.</title>
<updated>2011-04-15T22:48:54+00:00</updated>
<author>
<name>Carl Shapiro</name>
<email>cshapiro@google.com</email>
</author>
<published>2011-04-15T22:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=1813ab265f691e93401c7307c0b34247842ab35e'/>
<id>1813ab265f691e93401c7307c0b34247842ab35e</id>
<content type='text'>
Change-Id: I8ce5fb558871d9709b251512dd01206be5ca8497
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I8ce5fb558871d9709b251512dd01206be5ca8497
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Clean up how primitive types are handled." into dalvik-dev</title>
<updated>2011-03-12T00:49:32+00:00</updated>
<author>
<name>Dan Bornstein</name>
<email>danfuzz@android.com</email>
</author>
<published>2011-03-12T00:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=a5e5f6eb3ecb7950812a4718b8e795299ce79783'/>
<id>a5e5f6eb3ecb7950812a4718b8e795299ce79783</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up how primitive types are handled.</title>
<updated>2011-03-12T00:30:30+00:00</updated>
<author>
<name>Dan Bornstein</name>
<email>danfuzz@android.com</email>
</author>
<published>2011-03-11T20:58:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=a9c49df6714b3a37b7a7d0522932e622be2b35ac'/>
<id>a9c49df6714b3a37b7a7d0522932e622be2b35ac</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up stale cases</title>
<updated>2011-03-11T20:37:24+00:00</updated>
<author>
<name>Andy McFadden</name>
<email>fadden@android.com</email>
</author>
<published>2011-03-11T20:37:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=f4ef26d994b4e735d88b97d0f3f37046ba0f6793'/>
<id>f4ef26d994b4e735d88b97d0f3f37046ba0f6793</id>
<content type='text'>
Substitution of "volatile" ops was once done by the verifier, which
meant the verifier could see them.  This is no longer the case, so we
don't need to be handling them.

Change-Id: I6e4cd24dd65a1c28d4e5ee781be6e3499562a05b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Substitution of "volatile" ops was once done by the verifier, which
meant the verifier could see them.  This is no longer the case, so we
don't need to be handling them.

Change-Id: I6e4cd24dd65a1c28d4e5ee781be6e3499562a05b
</pre>
</div>
</content>
</entry>
<entry>
<title>Add volatile/jumbo opcodes</title>
<updated>2011-03-11T00:02:48+00:00</updated>
<author>
<name>Andy McFadden</name>
<email>fadden@android.com</email>
</author>
<published>2011-03-10T22:12:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=24bd4c50bb3ea13be4f049710967961f0546fb2c'/>
<id>24bd4c50bb3ea13be4f049710967961f0546fb2c</id>
<content type='text'>
This adds 12 dexopt-generated "volatile/jumbo" instructions, to
be used for replacing appropriate get/put ops, plus a jumbo
replacement for invoke-object-init/range.

The new instructions are defined but not yet used.  For x86 and
x86-atom, C stubs are selected.

Also, guarded macro args used in arithmetic expressions in header.S.

Bug 3403118

Change-Id: I283cea053d1cee1d70c3715df3e71177e8b8d3b2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds 12 dexopt-generated "volatile/jumbo" instructions, to
be used for replacing appropriate get/put ops, plus a jumbo
replacement for invoke-object-init/range.

The new instructions are defined but not yet used.  For x86 and
x86-atom, C stubs are selected.

Also, guarded macro args used in arithmetic expressions in header.S.

Bug 3403118

Change-Id: I283cea053d1cee1d70c3715df3e71177e8b8d3b2
</pre>
</div>
</content>
</entry>
<entry>
<title>Low-level support for in-memory DEX</title>
<updated>2011-03-04T00:54:06+00:00</updated>
<author>
<name>Andy McFadden</name>
<email>fadden@android.com</email>
</author>
<published>2011-03-04T00:27:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=57fd399d1265ec627d28a15b3d4b98e5f239ac88'/>
<id>57fd399d1265ec627d28a15b3d4b98e5f239ac88</id>
<content type='text'>
We want to be able to load classes from a DEX file in memory,
rather than insisting that they always be loaded from disk.  This
provides the underpinnings.

The code was previously using the "are we in dexopt" flag to
decide if it needed to mprotect(RW) DEX data before altering it.
We now have an explicit flag.

Also, scraped off some "opt header flags" checks that never did much.

Bug 1338213

Change-Id: If7128bf246992156662e089a2a87cebf475a6f2a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We want to be able to load classes from a DEX file in memory,
rather than insisting that they always be loaded from disk.  This
provides the underpinnings.

The code was previously using the "are we in dexopt" flag to
decide if it needed to mprotect(RW) DEX data before altering it.
We now have an explicit flag.

Also, scraped off some "opt header flags" checks that never did much.

Bug 1338213

Change-Id: If7128bf246992156662e089a2a87cebf475a6f2a
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Yak-shaving in support of the exception cleanup." into dalvik-dev</title>
<updated>2011-03-02T22:14:22+00:00</updated>
<author>
<name>Dan Bornstein</name>
<email>danfuzz@android.com</email>
</author>
<published>2011-03-02T22:14:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=0fbb64af826ac722a33f6545186873daa460f67d'/>
<id>0fbb64af826ac722a33f6545186873daa460f67d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Yak-shaving in support of the exception cleanup.</title>
<updated>2011-03-02T21:32:09+00:00</updated>
<author>
<name>Dan Bornstein</name>
<email>danfuzz@android.com</email>
</author>
<published>2011-03-02T00:16:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=8521311b4e55847c650a87933d5a3f04618e4e69'/>
<id>8521311b4e55847c650a87933d5a3f04618e4e69</id>
<content type='text'>
This change restructures where early class initialization happens in
the VM, moving a few chunks of it together into Init.c. The exception
classes get moved here as well as the super-core classes needed
particularly for dex optimization. This is all done to support a follow-up
change that will put more of the verifier's required exceptions into
the list. (Before this change, it would have been unsafe to do that.)

This change also paves the way for further consolidation of class and
member initialization, which I hope will make it easier to transition
the whole mess into the new copying-gc world, when that arrives on the
scene.

Bug: 3500987
Change-Id: I0caae09432a05287af53aa36a6663997ab310985
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change restructures where early class initialization happens in
the VM, moving a few chunks of it together into Init.c. The exception
classes get moved here as well as the super-core classes needed
particularly for dex optimization. This is all done to support a follow-up
change that will put more of the verifier's required exceptions into
the list. (Before this change, it would have been unsafe to do that.)

This change also paves the way for further consolidation of class and
member initialization, which I hope will make it easier to transition
the whole mess into the new copying-gc world, when that arrives on the
scene.

Bug: 3500987
Change-Id: I0caae09432a05287af53aa36a6663997ab310985
</pre>
</div>
</content>
</entry>
<entry>
<title>Change invoke-object-init to /range form</title>
<updated>2011-03-02T21:28:25+00:00</updated>
<author>
<name>Andy McFadden</name>
<email>fadden@android.com</email>
</author>
<published>2011-03-01T23:47:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=0346e9dcddccd449c731e42ef83708ff6d8f0976'/>
<id>0346e9dcddccd449c731e42ef83708ff6d8f0976</id>
<content type='text'>
The invoke-object-init instruction pretends to be a regular invoke
that only knows how to call Object.&lt;init&gt;.  As such it always takes
one argument, and if we use the /range version we can specify the
"this" register with 16 bits instead of only 4.

Bug 3486699

Change-Id: I9ee4700c6935beee1dcbaa583b57befd33641414
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The invoke-object-init instruction pretends to be a regular invoke
that only knows how to call Object.&lt;init&gt;.  As such it always takes
one argument, and if we use the /range version we can specify the
"this" register with 16 bits instead of only 4.

Bug 3486699

Change-Id: I9ee4700c6935beee1dcbaa583b57befd33641414
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a bit of structure to the Exception startup code.</title>
<updated>2011-02-25T20:01:20+00:00</updated>
<author>
<name>Dan Bornstein</name>
<email>danfuzz@android.com</email>
</author>
<published>2011-02-24T23:47:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=32bb3da6f05959749161ce7f9103027f11597fe3'/>
<id>32bb3da6f05959749161ce7f9103027f11597fe3</id>
<content type='text'>
This is in preparation for having a *lot* more exception classes get
looked up at startup time.

Change-Id: Id464c5b19a6a15f6779d8959f5d6397a0c6c5842
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is in preparation for having a *lot* more exception classes get
looked up at startup time.

Change-Id: Id464c5b19a6a15f6779d8959f5d6397a0c6c5842
</pre>
</div>
</content>
</entry>
</feed>
