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
|
97b22b8d41742fa84812f46d1125e9735420782a |
|
23-May-2011 |
buzbee <buzbee@google.com> |
Fix alt handling for Jumbo ops The mterp alt mechanism allows us to break out of the fast interpreter loop to handle debugging, JIT trace selection and other non-standard behavior. It does this by replacing the base pointer to the instruction handlers with an alternate base that references a set of dummy handlers that first call out the dvmCheckBefore() to handle special actions before routing control to the real handlers. This mechanism was slightly broken for the Jumbo ops - which have a first opcode byte of 0xFF (Dispatch), followed by the Jumbo opcode byte. In short, when the altHandlerBase was active dvmCheckBefore() was getting called for both the dispatch opcode byte and the Jumbo byte. This change adds special ALT_OP_DISPATCH_FF handlers which skip the dvmCheckBefore() call. Change-Id: If57c298a33404cdaca7456bc8fe1159c70240bea
|
cd8f5e701547739f241594b43e9470c92d98e9cf |
|
21-Apr-2011 |
Carl Shapiro <cshapiro@google.com> |
Move the interpreter into C++. Change-Id: I4b7d6ed9c54dbf3244304a7ea0f13e6c37cca2aa
|
3d054be0780e2bee9553711d409608495cc2c19e |
|
02-Mar-2011 |
buzbee <buzbee@google.com> |
mterp generation cleanup Change I3a22048a introduced a new interpreter breakout mechanism, and with it a bit of hackish ugliness in the mechanism to automatically generate interpreter source files. This CL applies some Lipo and Botox: o New alt-op-start, alt-op-end commands removed - will just use existing op-start & op-end. o New command "handler-style" to explicitly declare interpreter style (computed-goto, jump-table or all-c). Previous trigger on "handler-size==0" removed. o Alternate handler stub no longer using fixed file name, but intead is named by command asm-alt-stub (which is modelled on existing alt-stub command). o Previous CL stated requirement for explicitly called-out handler for the Dalvik dispatch opcode. Turns out this was not necessary. Requirement removed. Change-Id: I20f7411820715476533c2073d28f357e28c1ae52
|
a7d59bbafea5430fe81fc21ba94ddf6f6a63b0b3 |
|
24-Feb-2011 |
buzbee <buzbee@google.com> |
New interpreter breakout mechanism Introduce parallel handler entry points for mterp interpreters as a step towards fully supporting debug, profile and JIT within mterp (instead of bailing out to the portable debug interpreter). This CL contains most of the structural changes that need to happen, but does not yet enable the new switch mode. In short, within the mterp assembly interpreter register rIBASE points to an array of handlers for Dalvik opcodes. Instead of periodically checking for suspend, debug, profiling and JIT trace selection breakouts, rIBASE may simply be altered to point to the parallel breakout handlers when control needs to be rerouted. This will enable us to eliminate the separate portable debug interpreter and the entire mechanism of switching between the fast and portable interpreters. The x86 implementation required a large number of changes because of the need to dedicate a register to holding the table base. It will now use %edx (which was previously scratch). Changes include: o Support for two styles of mterp assembly code generation: computed goto and jump table (ARM uses computed goto, x86 uses jump table) o New mterp config operators to trigger generation of alternate entry points. o Alternate entries route execution through new dvmCheckInst(). That's where the checking code will go. o For x86, reserved register edx as dedicated rIBASE. o For jump-table mterps, ignore "%break" operator and allow variable-sized handlers with no "sister" region. Note that the x86-atom implementation will need substantial changes to function in this new model. Change-Id: I3a22048adb7dcfdeba4f94fbb977b26c3ab2fcb3
|
7365493ad8d360c1dcf9cd8b6eee62747af01cae |
|
09-Jun-2010 |
Carl Shapiro <cshapiro@google.com> |
Remove repeated newlines at the end of files. Change-Id: I1e3d103a7b932ef21acedb6438c0f26b315df28f
|
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
|
89c1feb0a69a7707b271086e749975b3f7acacf7 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
|