summaryrefslogtreecommitdiffstats
path: root/vm/compiler
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2011-02-16 16:50:40 -0800
committerAndy McFadden <fadden@android.com>2011-02-18 13:28:12 -0800
commit6af2ddd107842c3737c04c37343cac9be17f4209 (patch)
tree100466b99dc76fe04ff875758b717ac4b4f18b32 /vm/compiler
parentd8dc6b738a5b531e4ed39e696754bfecb2533c62 (diff)
downloadandroid_dalvik-6af2ddd107842c3737c04c37343cac9be17f4209.tar.gz
android_dalvik-6af2ddd107842c3737c04c37343cac9be17f4209.tar.bz2
android_dalvik-6af2ddd107842c3737c04c37343cac9be17f4209.zip
Defer marking of objects as finalizable
This shifts responsibility for marking an object as "finalizable" from object creation to object initialization. We want to make the object finalizable when Object.<init> completes. For performance reasons we skip the call to the Object constructor (which doesn't do anything) and just take the opportunity to check the class flag. Handling of clone()d object isn't quite right yet. Also, fixed a minor glitch in stubdefs. Bug 3342343 Change-Id: I5b7b819079e5862dc9cbd1830bb445a852dc63bf
Diffstat (limited to 'vm/compiler')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index ade419772..2ed17d629 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -3271,10 +3271,8 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
genTrap(cUnit, mir->offset, pcrLabel);
break;
}
- /* NOP */
case OP_INVOKE_OBJECT_INIT: {
- if (gDvmJit.methodTraceSupport)
- genInterpSingleStep(cUnit, mir);
+ genInterpSingleStep(cUnit, mir);
break;
}
case OP_FILLED_NEW_ARRAY: