Remove Frame, merge shadow and quick representations.
Change-Id: I5ae03a5e52111792d2df7e83cbd89ab25777844b
diff --git a/src/compiler_llvm/jni_compiler.cc b/src/compiler_llvm/jni_compiler.cc
index bb45fac..37ca82f 100644
--- a/src/compiler_llvm/jni_compiler.cc
+++ b/src/compiler_llvm/jni_compiler.cc
@@ -27,7 +27,6 @@
#include "object.h"
#include "runtime.h"
#include "runtime_support_func.h"
-#include "shadow_frame.h"
#include "utils_llvm.h"
#include <llvm/BasicBlock.h>
@@ -115,7 +114,7 @@
// Store the dex pc
irb_.StoreToObjectOffset(shadow_frame_,
ShadowFrame::DexPCOffset(),
- irb_.getInt32(0),
+ irb_.getInt32(DexFile::kDexNoIndex),
kTBAAShadowFrame);
// Push the shadow frame
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index 754f3ba..eef71db 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -28,7 +28,6 @@
#include "object_utils.h"
#include "runtime_support_func.h"
#include "runtime_support_llvm.h"
-#include "shadow_frame.h"
#include "stl_util.h"
#include "stringprintf.h"
#include "utils_llvm.h"
diff --git a/src/compiler_llvm/runtime_support_builder.cc b/src/compiler_llvm/runtime_support_builder.cc
index 00a8efa..8bbac94 100644
--- a/src/compiler_llvm/runtime_support_builder.cc
+++ b/src/compiler_llvm/runtime_support_builder.cc
@@ -20,7 +20,6 @@
#include "ir_builder.h"
#include "monitor.h"
#include "object.h"
-#include "shadow_frame.h"
#include "thread.h"
#include "utils_llvm.h"
diff --git a/src/compiler_llvm/runtime_support_llvm.cc b/src/compiler_llvm/runtime_support_llvm.cc
index 155d824..04073e0 100644
--- a/src/compiler_llvm/runtime_support_llvm.cc
+++ b/src/compiler_llvm/runtime_support_llvm.cc
@@ -26,7 +26,6 @@
#include "runtime_support_func_list.h"
#include "runtime_support_llvm.h"
#include "ScopedLocalRef.h"
-#include "shadow_frame.h"
#include "thread.h"
#include "thread_list.h"
#include "utils_llvm.h"
@@ -124,9 +123,7 @@
void art_throw_no_such_method_from_code(int32_t method_idx) {
Thread* thread = art_get_current_thread_from_code();
// We need the calling method as context for the method_idx
- Frame frame = thread->GetTopOfStack();
- frame.Next();
- Method* method = frame.GetMethod();
+ Method* method = thread->GetCurrentMethod();
thread->ThrowNewException("Ljava/lang/NoSuchMethodError;",
MethodNameFromIndex(method,
method_idx,
@@ -136,8 +133,8 @@
void art_throw_null_pointer_exception_from_code(uint32_t dex_pc) {
Thread* thread = art_get_current_thread_from_code();
- NthCallerVisitor visitor(0);
- thread->WalkStack(&visitor);
+ NthCallerVisitor visitor(thread->GetManagedStack(), 0);
+ visitor.WalkStack();
Method* throw_method = visitor.caller;
ThrowNullPointerExceptionFromDexPC(thread, throw_method, dex_pc);
}