- if (cfg->compile_aot) {
- MonoInst *var = cfg->arch.ss_tramp_var;
- guint8 *label;
-
- /* Load ss_tramp_var */
- amd64_mov_reg_membase (code, AMD64_R11, var->inst_basereg, var->inst_offset, 8);
- /* Load the trampoline address */
- amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11, 0, 8);
- /* Call it if it is non-null */
- amd64_test_reg_reg (code, AMD64_R11, AMD64_R11);
- label = code;
- amd64_branch8 (code, X86_CC_Z, 0, FALSE);
- amd64_call_reg (code, AMD64_R11);
- amd64_patch (label, code);
- } else {
- /*
- * Read from the single stepping trigger page. This will cause a
- * SIGSEGV when single stepping is enabled.
- * We do this _before_ the breakpoint, so single stepping after
- * a breakpoint is hit will step to the next IL offset.
- */
- MonoInst *var = cfg->arch.ss_trigger_page_var;