(jit_function_t func, jit_int offset) JIT_NOTHROW;
int jit_insn_mark_breakpoint
(jit_function_t func, jit_nint data1, jit_nint data2) JIT_NOTHROW;
+int jit_insn_mark_breakpoint_variable
+ (jit_function_t func, jit_value_t data1, jit_value_t data2) JIT_NOTHROW;
void jit_insn_iter_init(jit_insn_iter_t *iter, jit_block_t block) JIT_NOTHROW;
void jit_insn_iter_init_last
(func, jit_type_int, offset));
}
-/* Documentation is in jit-debug.c */
-int jit_insn_mark_breakpoint
- (jit_function_t func, jit_nint data1, jit_nint data2)
+/* Documentation is in jit-debugger.c */
+int jit_insn_mark_breakpoint_variable
+ (jit_function_t func, jit_value_t data1, jit_value_t data2)
{
#if defined(JIT_BACKEND_INTERP)
/* Use the "mark_breakpoint" instruction for the interpreter */
{
return 0;
}
- return create_note(func, JIT_OP_MARK_BREAKPOINT,
- jit_value_create_nint_constant
- (func, jit_type_nint, data1),
- jit_value_create_nint_constant
- (func, jit_type_nint, data2));
+ return create_note(func, JIT_OP_MARK_BREAKPOINT, data1, data2);
#else
/* Insert a call to "_jit_debugger_hook" on native platforms */
jit_type_t params[3];
jit_type_free(signature);
return 0;
}
- if((values[1] = jit_value_create_nint_constant
- (func, jit_type_nint, data1)) == 0)
- {
- jit_type_free(signature);
- return 0;
- }
- if((values[2] = jit_value_create_nint_constant
- (func, jit_type_nint, data2)) == 0)
- {
- jit_type_free(signature);
- return 0;
- }
+ values[1] = data1;
+ values[2] = data2;
jit_insn_call_native(func, "_jit_debugger_hook", (void *)_jit_debugger_hook,
signature, values, 3, JIT_CALL_NOTHROW);
jit_type_free(signature);
#endif
}
+/* Documentation is in jit-debugger.c */
+int jit_insn_mark_breakpoint
+ (jit_function_t func, jit_nint data1, jit_nint data2)
+{
+ jit_value_t value1;
+ jit_value_t value2;
+
+ value1 = jit_value_create_nint_constant(func, jit_type_nint, data1);
+ value2 = jit_value_create_nint_constant(func, jit_type_nint, data2);
+
+ if(value1 && value2)
+ {
+ return jit_insn_mark_breakpoint_variable(func, value1, value2);
+ }
+ else
+ {
+ return 0;
+ }
+}
+
/*@
* @deftypefun void jit_insn_iter_init ({jit_insn_iter_t *} iter, jit_block_t block)
* Initialize an iterator to point to the first instruction in @code{block}.