summaryrefslogtreecommitdiffstats
path: root/libdex
diff options
context:
space:
mode:
authorCarl Shapiro <cshapiro@google.com>2011-03-21 13:35:24 -0700
committerCarl Shapiro <cshapiro@google.com>2011-03-21 13:35:24 -0700
commit3475f9cdb47a6d6f8ad2ce49bbc3af46bca92f09 (patch)
tree32bccadbd08a353a4650a6451218b0c854ec6fc2 /libdex
parent14b63ca9f3ba5b58c6f8ad703c7a9c68028aa230 (diff)
downloadandroid_dalvik-3475f9cdb47a6d6f8ad2ce49bbc3af46bca92f09.tar.gz
android_dalvik-3475f9cdb47a6d6f8ad2ce49bbc3af46bca92f09.tar.bz2
android_dalvik-3475f9cdb47a6d6f8ad2ce49bbc3af46bca92f09.zip
Move finalization out of the VM.
This change introduces a new reference class whose referent points to instances requiring finalization. This makes the finalization of objects possible using a reference queue and a dedicated thread which removes objects from the queue. Change-Id: I0ff6dd272f00ca08c6ed3aa667bf766a039a944e
Diffstat (limited to 'libdex')
-rw-r--r--libdex/InstrUtils.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libdex/InstrUtils.c b/libdex/InstrUtils.c
index 0e72d435d..3770c6da0 100644
--- a/libdex/InstrUtils.c
+++ b/libdex/InstrUtils.c
@@ -313,7 +313,7 @@ static u1 gOpcodeFlagsTable[kNumPackedOpcodes] = {
kInstrCanThrow,
kInstrCanContinue|kInstrCanThrow,
kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue,
+ kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
kInstrCanReturn,
kInstrCanContinue|kInstrCanThrow,
kInstrCanContinue|kInstrCanThrow,
@@ -571,7 +571,7 @@ static u1 gOpcodeFlagsTable[kNumPackedOpcodes] = {
0,
0,
0,
- kInstrCanContinue,
+ kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
kInstrCanContinue|kInstrCanThrow,
kInstrCanContinue|kInstrCanThrow,
kInstrCanContinue|kInstrCanThrow,