History log of /dalvik/vm/mterp/x86-atom/entry.S
Revision Date Author Comments
ab35b50311951feea3782151dd5422ee944685c2 05-Jan-2012 Elliott Hughes <enh@google.com> Remove unsupported experimental opcodes.

External developers were starting to try to get themselves into trouble with
this stuff...

Change-Id: I2b03bfeaa8c98b6a994bc7924fc8dcf4e4d4f6cb
a3394df8d7e5a6b2f1ee61d8a61b8baac255eff1 18-Feb-2011 Johnnie Birch <jlbirch> Update to allow x86-atom build for FI on Gingerbread

Also handles most TODO.txt items and contains some rewriting of the dispatch code.
Also adds a newline to the end of files that did not previously end with a newline.

Change-Id: Ifa627ac3d493447013524eb0be178b5b6d952612
ac815100951522b19b3dc4f21100e57400a82267 28-Mar-2011 buzbee <buzbee@google.com> Fix x86-atom build

Fix an apparent merge problem in the x86-atom build. The
handler table still had a reference to the unused 0xF1 opcode
rather than the new OP_RETURN_VOID_BARRIER.

Change-Id: Iaa6329c15f7891fd793846a2d19979679aed9af2
0346e9dcddccd449c731e42ef83708ff6d8f0976 02-Mar-2011 Andy McFadden <fadden@android.com> Change invoke-object-init to /range form

The invoke-object-init instruction pretends to be a regular invoke
that only knows how to call Object.<init>. 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
f8f23d402dc1eef107995b29ad4d91ee5b4e1c34 18-Feb-2011 Johnnie Birch <jlbirch> Update to allow x86-atom build for FI on Gingerbread

Also handles most TODO.txt items and contains some rewriting of the dispatch code.
Also adds a newline to the end of files that did not previously end with a newline.

Change-Id: I0cf3e77dc7bbf5ed7ec8538ef4d7d8740e296640
750d110b62cef538e193b6f91f5239b0c4b63ef1 12-Feb-2011 Andy McFadden <fadden@android.com> Rename invoke-direct-empty to invoke-object-init

The invoke-direct-empty instruction was introduced to remove the
overhead of calling the empty Object constructor. We now need it
to do some extra work on behalf of object construction, so it's
appropriate to change the instruction name to match the role it
fills rather than the more general role it was hoped to fill.

No functional changes.

Bug 3342343

Change-Id: I65dd6a2c00c99581c9a19b16fe193b70642c8fbb
90f15431b24a4004fab2db70f273155fcd1c42a4 03-Dec-2010 Dan Bornstein <danfuzz@android.com> Make opcode 00ff be called "dispatch-ff".

With this change, it's still implemented as an unused opcode, but
it's now ready for its new life!

Change-Id: Ic70d311704925067e47d87b657d133a792144e65
c6cc1bd99ed071772829a39d44344cf949bf7458 02-Aug-2010 Johnnie Birch <johnnie.l.birch.jr@intel.com> Added new bytecodes for the x86-atom fast interpreter build.

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

Change-Id: I0c0edb3ebf0d5e040d6bbbf60269fab0deb70ef9
5387824f19033ed51a945fbc8c2b574998404b3d 05-Mar-2010 Andy McFadden <fadden@android.com> Add instructions for volatile wide fields.

This adds four new instructions for accessing volatile wide fields (long
and double). The JLS requires that such accesses are atomic, but the
VM doesn't otherwise make guarantees about the atomicity of reads and
writes on 64-bit fields.

There are no behavioral changes. This just adds definitions for the new
instructions and a couple of tests. The current implementation is just
the non-volatile form of the instructions or a C stub, but since we're
not generating them it doesn't really matter yet.

Also:
- bumped Dalvik version to 1.3.0
- added a note to the x86-atom TODO list

For bug 1633591.
22d404a75a00cda0b0ebed1034c2808ba060b05f 07-Apr-2009 Johnnie Birch <johnnie.l.birch.jr@intel.com> This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build:
Build: TARGET_SIMULATOR: true
TARGET_BUILD_TYPE: release
TARGET_PRODUCT: sim
Environment: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
PI = Portable Interpreter
IA = Fast IA Interpreter
Embedded CaffeineMark: (IA-PI)/PI: Average of 70% improvement on overall score
SPECjbb2000*: (IA-PI)/PI: Average of 37% improvement on raw score
SPECjvm98*: (PI/IA) Speedup: Mtrt: 1.2; Jess: 1.34; Compress: 1.57; Db: 1.46; Jack: 1.28
* SPECjbb2000 - 1 warehouse. Noncompliant - modified to run on Dalvik
* SPECjvm98 - Noncompliant - modified to run on Dalivk