OSDN Git Service

Change invoke-object-init to /range form
authorAndy McFadden <fadden@android.com>
Tue, 1 Mar 2011 23:47:46 +0000 (15:47 -0800)
committerAndy McFadden <fadden@android.com>
Wed, 2 Mar 2011 21:28:25 +0000 (13:28 -0800)
commit0346e9dcddccd449c731e42ef83708ff6d8f0976
tree8a32dec433440dd8860b2324239467f79ec9fefc
parent131ec9ff58fcc6a7440297e2cbee23df93d2974d
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
28 files changed:
libdex/DexOpcodes.c
libdex/DexOpcodes.h
opcode-gen/bytecode.txt
vm/DalvikVersion.h
vm/analysis/CodeVerify.c
vm/analysis/DexVerify.c
vm/analysis/Liveness.c
vm/analysis/Optimize.c
vm/compiler/Dataflow.c
vm/compiler/codegen/arm/CodegenDriver.c
vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S [moved from vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT.S with 90% similarity]
vm/mterp/c/OP_INVOKE_OBJECT_INIT_RANGE.c [moved from vm/mterp/c/OP_INVOKE_OBJECT_INIT.c with 75% similarity]
vm/mterp/config-x86
vm/mterp/config-x86-atom
vm/mterp/out/InterpAsm-armv5te-vfp.S
vm/mterp/out/InterpAsm-armv5te.S
vm/mterp/out/InterpAsm-armv7-a-neon.S
vm/mterp/out/InterpAsm-armv7-a.S
vm/mterp/out/InterpAsm-x86-atom.S
vm/mterp/out/InterpAsm-x86.S
vm/mterp/out/InterpC-allstubs.c
vm/mterp/out/InterpC-portdbg.c
vm/mterp/out/InterpC-portstd.c
vm/mterp/out/InterpC-x86-atom.c
vm/mterp/out/InterpC-x86.c
vm/mterp/x86-atom/OP_INVOKE_OBJECT_INIT_RANGE.S [moved from vm/mterp/x86-atom/OP_INVOKE_OBJECT_INIT.S with 100% similarity]
vm/mterp/x86-atom/entry.S
vm/mterp/x86/OP_INVOKE_OBJECT_INIT_RANGE.S [moved from vm/mterp/x86/OP_INVOKE_OBJECT_INIT.S with 100% similarity]