summaryrefslogtreecommitdiffstats
path: root/runtime/runtime.h
diff options
context:
space:
mode:
authorSebastien Hertz <shertz@google.com>2015-04-02 11:11:19 +0200
committerSebastien Hertz <shertz@google.com>2015-04-03 09:31:59 +0200
commit2fd7e69505195cda4caaa3161aaf37315552a698 (patch)
tree2bd681443ad36a8616f237a12e56ecbdb7054f8e /runtime/runtime.h
parentc6e949a6d93fae2351fc59ed825657adee8185dc (diff)
downloadart-2fd7e69505195cda4caaa3161aaf37315552a698.tar.gz
art-2fd7e69505195cda4caaa3161aaf37315552a698.tar.bz2
art-2fd7e69505195cda4caaa3161aaf37315552a698.zip
Use specific exception class to abort transaction
We used to throw a java.lang.InternalError when aborting a transaction (when preinitializing image classes at compilation time). We now use dedicated class dalvik.system.TransactionAbortError that is only thrown by the compiler to abort a transaction. This class has constructors taking a java.lang.Throwable "cause" so we can wrap exceptions causing the transaction to abort (for instance class java.lang.ClassNotFoundException) and give more information about the cause of the transaction abort. Bug: 20019689 Change-Id: I019a72a1c754d8bba6a7ad6bb0f02e4fd6668622
Diffstat (limited to 'runtime/runtime.h')
-rw-r--r--runtime/runtime.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/runtime.h b/runtime/runtime.h
index 64b7183247..af3d8999fd 100644
--- a/runtime/runtime.h
+++ b/runtime/runtime.h
@@ -468,9 +468,9 @@ class Runtime {
void ExitTransactionMode();
bool IsTransactionAborted() const;
- void AbortTransactionAndThrowInternalError(Thread* self, const std::string& abort_message)
+ void AbortTransactionAndThrowAbortError(Thread* self, const std::string& abort_message)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
- void ThrowInternalErrorForAbortedTransaction(Thread* self)
+ void ThrowTransactionAbortError(Thread* self)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
void RecordWriteFieldBoolean(mirror::Object* obj, MemberOffset field_offset, uint8_t value,