Implement most of VMStack and some of Zygote.

Change-Id: I07e18259a0452a2a9b077148f4f1ca67d3f63427
diff --git a/src/exception_test.cc b/src/exception_test.cc
index 6c48f5f..ee6c1a0d 100644
--- a/src/exception_test.cc
+++ b/src/exception_test.cc
@@ -160,13 +160,11 @@
   Thread* thread = Thread::Current();
   thread->SetTopOfStack(fake_stack, reinterpret_cast<uintptr_t>(method_g_->GetCode()) + 3);
 
-  jobject internal = thread->CreateInternalStackTrace();
-  jobjectArray ste_array =
-      Thread::InternalStackTraceToStackTraceElementArray(internal,
-                                                         thread->GetJniEnv());
+  JNIEnv* env = thread->GetJniEnv();
+  jobject internal = thread->CreateInternalStackTrace(env);
+  jobjectArray ste_array = Thread::InternalStackTraceToStackTraceElementArray(env, internal);
   ObjectArray<StackTraceElement>* trace_array =
-      Decode<ObjectArray<StackTraceElement>*>(thread->GetJniEnv(), ste_array);
-
+      Decode<ObjectArray<StackTraceElement>*>(env, ste_array);
 
   ASSERT_TRUE(trace_array->Get(0) != NULL);
   EXPECT_STREQ("java.lang.MyClass",