* src/vm/jit/patcher-common.cpp: Conditionally restored NOP-insertion at
[cacao.git] / src / vm / jit / patcher-common.cpp
index 216b4fc856f6cb3e7acef6d458c5703146ca262f..57c6fdb39005537ba738f0c2e160324d418083d1 100644 (file)
@@ -213,24 +213,24 @@ void patcher_list_show(codeinfo *code)
 
 void patcher_add_patch_ref(jitdata *jd, functionptr patcher, void* ref, s4 disp)
 {
-       codegendata *cd;
-       codeinfo    *code;
-       s4           patchmpc;
-
-       cd       = jd->cd;
-       code     = jd->code;
-       patchmpc = cd->mcodeptr - cd->mcodebase;
+       codegendata *cd   = jd->cd;
+       codeinfo    *code = jd->code;
 
 #if defined(ALIGN_PATCHER_TRAP)
        emit_patcher_alignment(cd);
-       patchmpc = cd->mcodeptr - cd->mcodebase;
 #endif
 
+       int32_t patchmpc = cd->mcodeptr - cd->mcodebase;
+
 #if !defined(NDEBUG)
        if (patcher_list_find(code, (void*) (intptr_t) patchmpc) != NULL)
                os::abort("patcher_add_patch_ref: different patchers at same position.");
 #endif
 
+#if defined(USES_PATCHABLE_MEMORY_BARRIER)
+       PATCHER_NOPS;
+#endif
+
        // Set patcher information (mpc is resolved later).
        patchref_t pr;