diff options
author | Carl Shapiro <cshapiro@google.com> | 2011-03-21 13:35:24 -0700 |
---|---|---|
committer | Carl Shapiro <cshapiro@google.com> | 2011-03-21 13:35:24 -0700 |
commit | 3475f9cdb47a6d6f8ad2ce49bbc3af46bca92f09 (patch) | |
tree | 32bccadbd08a353a4650a6451218b0c854ec6fc2 /opcode-gen | |
parent | 14b63ca9f3ba5b58c6f8ad703c7a9c68028aa230 (diff) | |
download | android_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 'opcode-gen')
-rw-r--r-- | opcode-gen/bytecode.txt | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/opcode-gen/bytecode.txt b/opcode-gen/bytecode.txt index 7f6921433..89b8c8305 100644 --- a/opcode-gen/bytecode.txt +++ b/opcode-gen/bytecode.txt @@ -328,12 +328,7 @@ op ed ^throw-verification-error 20bc n varies optimized|throw op ee +execute-inline 35mi n inline-method optimized|continue|throw op ef +execute-inline/range 3rmi n inline-method optimized|continue|throw -# This opcode is marked neither as "invoke" nor "throw" since it -# doesn't invoke the method unless a debugger is attached. The verifier -# will ensure that Object.<init> is present and empty, so there is no -# opportunity for an exception to be thrown. -op f0 +invoke-object-init/range 35c n method-ref optimized|continue - +op f0 +invoke-object-init/range 35c n method-ref optimized|continue|throw|invoke op f1 +return-void-barrier 10x n none optimized|return op f2 +iget-quick 22cs y field-offset optimized|continue|throw op f3 +iget-wide-quick 22cs y field-offset optimized|continue|throw @@ -399,9 +394,7 @@ op 26ff invoke-interface/jumbo 5rc n method-ref continue|throw|invoke # Optimized opcodes (not valid in an unoptimized dex file) # -# See notes above invoke-object-init re: no "throw" or "invoke" -op f2ff +invoke-object-init/jumbo 5rc n method-ref optimized|continue - +op f2ff +invoke-object-init/jumbo 5rc n method-ref optimized|continue|throw|invoke op f3ff +iget-volatile/jumbo 52c y field-ref optimized|continue|throw op f4ff +iget-wide-volatile/jumbo 52c y field-ref optimized|continue|throw op f5ff +iget-object-volatile/jumbo 52c y field-ref optimized|continue|throw |