Revert "Add isInitializing check in nterp header."

This reverts commit 88d81e035cc385f082452a5b7029a48e9c038cf4.

Bug: 162110941

Reason for revert:Failures seen on 084-init.

Change-Id: I202916e9c43141dca66f294ff52a11a6abd60332
diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc
index f4584ad..8735dcf 100644
--- a/runtime/instrumentation.cc
+++ b/runtime/instrumentation.cc
@@ -1308,10 +1308,14 @@
   DCHECK(!method->IsProxyMethod()) << method->PrettyMethod();
   ClassLinker* class_linker = Runtime::Current()->GetClassLinker();
   const void* code = method->GetEntryPointFromQuickCompiledCodePtrSize(kRuntimePointerSize);
-  // If we don't have the instrumentation, the resolution stub, or the
-  // interpreter, just return the current entrypoint,
+  // If we don't have the instrumentation, the resolution stub, the
+  // interpreter, or the nterp with clinit as entrypoint, just return the current entrypoint,
   // assuming it's the most optimized.
+  // We don't want to return the nterp with clinit entrypoint as it calls the
+  // resolution stub, and the resolution stub will call `GetCodeForInvoke` to know the actual
+  // code to invoke.
   if (code != GetQuickInstrumentationEntryPoint() &&
+      code != interpreter::GetNterpWithClinitEntryPoint() &&
       !class_linker->IsQuickResolutionStub(code) &&
       !class_linker->IsQuickToInterpreterBridge(code)) {
     return code;
diff --git a/runtime/interpreter/mterp/arm64ng/main.S b/runtime/interpreter/mterp/arm64ng/main.S
index 66432d1..81d6b7b 100644
--- a/runtime/interpreter/mterp/arm64ng/main.S
+++ b/runtime/interpreter/mterp/arm64ng/main.S
@@ -1591,20 +1591,10 @@
  */
 
 OAT_ENTRY ExecuteNterpWithClinitImpl, EndExecuteNterpWithClinitImpl
-    // For simplicity, we don't do a read barrier here, but instead rely
-    // on art_quick_resolution_trampoline to always have a suspend point before
-    // calling back here.
-    ldr wip, [x0, #ART_METHOD_DECLARING_CLASS_OFFSET]
-    ldrb wip2, [ip, #MIRROR_CLASS_IS_VISIBLY_INITIALIZED_OFFSET]
-    cmp ip2, #MIRROR_CLASS_IS_VISIBLY_INITIALIZED_VALUE
-    b.hs ExecuteNterpImpl
-    cmp ip2, #MIRROR_CLASS_IS_INITIALIZING_VALUE
-    b.lo .Lresolution_trampoline
-    ldr wip2, [ip, #MIRROR_CLASS_CLINIT_THREAD_ID_OFFSET]
-    ldr wip, [xSELF, #THREAD_TID_OFFSET]
-    cmp wip, wip2
-    b.eq ExecuteNterpImpl
-.Lresolution_trampoline:
+    ldr wip, [x0, ART_METHOD_DECLARING_CLASS_OFFSET]
+    ldrb wip, [ip, MIRROR_CLASS_IS_VISIBLY_INITIALIZED_OFFSET]
+    cmp ip, #MIRROR_CLASS_IS_VISIBLY_INITIALIZED_VALUE
+    bcs ExecuteNterpImpl
     b art_quick_resolution_trampoline
 EndExecuteNterpWithClinitImpl:
 
diff --git a/runtime/interpreter/mterp/armng/main.S b/runtime/interpreter/mterp/armng/main.S
index 320a792..f89db40 100644
--- a/runtime/interpreter/mterp/armng/main.S
+++ b/runtime/interpreter/mterp/armng/main.S
@@ -1609,19 +1609,10 @@
  */
 
 OAT_ENTRY ExecuteNterpWithClinitImpl, EndExecuteNterpWithClinitImpl
-    // For simplicity, we don't do a read barrier here, but instead rely
-    // on art_quick_resolution_trampoline to always have a suspend point before
-    // calling back here.
-    ldr r4, [r0, ART_METHOD_DECLARING_CLASS_OFFSET]
-    ldrb ip, [r4, MIRROR_CLASS_IS_VISIBLY_INITIALIZED_OFFSET]
+    ldr ip, [r0, ART_METHOD_DECLARING_CLASS_OFFSET]
+    ldrb ip, [ip, MIRROR_CLASS_IS_VISIBLY_INITIALIZED_OFFSET]
     cmp ip, #MIRROR_CLASS_IS_VISIBLY_INITIALIZED_VALUE
     bcs ExecuteNterpImpl
-    cmp ip, #MIRROR_CLASS_IS_INITIALIZING_VALUE
-    blo art_quick_resolution_trampoline
-    ldr r4, [r4, #MIRROR_CLASS_CLINIT_THREAD_ID_OFFSET]
-    ldr ip, [rSELF, #THREAD_TID_OFFSET]
-    cmp r4, ip
-    beq ExecuteNterpImpl
     b art_quick_resolution_trampoline
 EndExecuteNterpWithClinitImpl:
 
diff --git a/runtime/interpreter/mterp/x86_64ng/main.S b/runtime/interpreter/mterp/x86_64ng/main.S
index 6fc1777..3e476db 100644
--- a/runtime/interpreter/mterp/x86_64ng/main.S
+++ b/runtime/interpreter/mterp/x86_64ng/main.S
@@ -1695,17 +1695,9 @@
  */
 
 OAT_ENTRY ExecuteNterpWithClinitImpl, EndExecuteNterpWithClinitImpl
-    // For simplicity, we don't do a read barrier here, but instead rely
-    // on art_quick_resolution_trampoline to always have a suspend point before
-    // calling back here.
     movl ART_METHOD_DECLARING_CLASS_OFFSET(%rdi), %r10d
     cmpb  $$(MIRROR_CLASS_IS_VISIBLY_INITIALIZED_VALUE), MIRROR_CLASS_IS_VISIBLY_INITIALIZED_OFFSET(%r10d)
     jae ExecuteNterpImpl
-    cmpb  $$(MIRROR_CLASS_IS_INITIALIZING_VALUE), MIRROR_CLASS_IS_VISIBLY_INITIALIZED_OFFSET(%r10d)
-    jb art_quick_resolution_trampoline
-    movl MIRROR_CLASS_CLINIT_THREAD_ID_OFFSET(%r10d), %r10d
-    cmpl %r10d, rSELF:THREAD_TID_OFFSET
-    je ExecuteNterpImpl
     jmp art_quick_resolution_trampoline
 EndExecuteNterpWithClinitImpl:
 
diff --git a/runtime/interpreter/mterp/x86ng/main.S b/runtime/interpreter/mterp/x86ng/main.S
index 42e2d18..7872520 100644
--- a/runtime/interpreter/mterp/x86ng/main.S
+++ b/runtime/interpreter/mterp/x86ng/main.S
@@ -1759,23 +1759,11 @@
 
 OAT_ENTRY ExecuteNterpWithClinitImpl, EndExecuteNterpWithClinitImpl
     push %esi
-    // For simplicity, we don't do a read barrier here, but instead rely
-    // on art_quick_resolution_trampoline to always have a suspend point before
-    // calling back here.
     movl ART_METHOD_DECLARING_CLASS_OFFSET(%eax), %esi
     cmpb $$(MIRROR_CLASS_IS_VISIBLY_INITIALIZED_VALUE), MIRROR_CLASS_IS_VISIBLY_INITIALIZED_OFFSET(%esi)
-    jae .Lcontinue_execute_nterp
-    cmpb  $$(MIRROR_CLASS_IS_INITIALIZING_VALUE), MIRROR_CLASS_IS_VISIBLY_INITIALIZED_OFFSET(%esi)
-    jb .Linvoke_trampoline
-    movl MIRROR_CLASS_CLINIT_THREAD_ID_OFFSET(%esi), %esi
-    cmpl %esi, rSELF:THREAD_TID_OFFSET
-    je .Lcontinue_execute_nterp
-.Linvoke_trampoline:
     pop %esi
+    jae ExecuteNterpImpl
     jmp art_quick_resolution_trampoline
-.Lcontinue_execute_nterp:
-    pop %esi
-    jmp ExecuteNterpImpl
 EndExecuteNterpWithClinitImpl:
 
 OAT_ENTRY ExecuteNterpImpl, EndExecuteNterpImpl