OSDN Git Service

Fix an outstanding compaction bug in interpreter.
authorMathieu Chartier <mathieuc@google.com>
Thu, 15 May 2014 19:39:19 +0000 (12:39 -0700)
committerMathieu Chartier <mathieuc@google.com>
Thu, 22 May 2014 17:47:44 +0000 (10:47 -0700)
commite09ae0920be57760fb390b6944bce420fa0b5582
treeacc40266093df4289ffb6728c979cafd6b5114d2
parentb8033db2a8dc6f7c7e29b1552177542964f56e44
Fix an outstanding compaction bug in interpreter.

Fixed a bug in DoFieldPut where the FieldHelper GetType could cause
thread suspension which would result in a stale obj.

Added more handles in the class linker to facilitate moving fiels
and methods in the future.

Removed un-necessarly passing handle references since these are value
types and don't need to be passed by reference.

Added a special NullHandle type which allows null handles without a
handle scope.

Change-Id: I1b51723920a2e4f4f8b2907066f578a3e879fd5b
38 files changed:
compiler/common_compiler_test.h
compiler/driver/compiler_driver-inl.h
compiler/driver/compiler_driver.cc
compiler/driver/compiler_driver.h
compiler/driver/compiler_driver_test.cc
compiler/elf_writer_mclinker.cc
compiler/image_writer.cc
compiler/oat_test.cc
compiler/oat_writer.cc
oatdump/oatdump.cc
runtime/class_linker-inl.h
runtime/class_linker.cc
runtime/class_linker.h
runtime/class_linker_test.cc
runtime/entrypoints/entrypoint_utils.h
runtime/entrypoints/interpreter/interpreter_entrypoints.cc
runtime/entrypoints/portable/portable_invoke_entrypoints.cc
runtime/entrypoints/portable/portable_trampoline_entrypoints.cc
runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
runtime/handle.h
runtime/interpreter/interpreter.cc
runtime/interpreter/interpreter_common.cc
runtime/interpreter/interpreter_common.h
runtime/jni_internal.cc
runtime/jni_internal.h
runtime/mirror/array.cc
runtime/mirror/array.h
runtime/mirror/art_method.cc
runtime/mirror/art_method.h
runtime/mirror/stack_trace_element.cc
runtime/mirror/stack_trace_element.h
runtime/mirror/string.cc
runtime/mirror/string.h
runtime/monitor.cc
runtime/monitor.h
runtime/native/dalvik_system_VMRuntime.cc
runtime/verifier/method_verifier.cc
runtime/verifier/method_verifier.h