[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] libjit ChangeLog include/jit/jit-insn.h jit/jit...
From: |
Aleksey Demakov |
Subject: |
[dotgnu-pnet-commits] libjit ChangeLog include/jit/jit-insn.h jit/jit... |
Date: |
Fri, 15 Sep 2006 16:17:21 +0000 |
CVSROOT: /sources/dotgnu-pnet
Module name: libjit
Changes by: Aleksey Demakov <avd> 06/09/15 16:17:21
Modified files:
. : ChangeLog
include/jit : jit-insn.h
jit : jit-debugger.c jit-insn.c
Log message:
add jit_insn_mark_breakpoint_variable() function.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.269&r2=1.270
http://cvs.savannah.gnu.org/viewcvs/libjit/include/jit/jit-insn.h?cvsroot=dotgnu-pnet&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-debugger.c?cvsroot=dotgnu-pnet&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-insn.c?cvsroot=dotgnu-pnet&r1=1.49&r2=1.50
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.269
retrieving revision 1.270
diff -u -b -r1.269 -r1.270
--- ChangeLog 14 Sep 2006 06:27:08 -0000 1.269
+++ ChangeLog 15 Sep 2006 16:17:20 -0000 1.270
@@ -1,3 +1,8 @@
+2006-09-15 Radek Polak <address@hidden>
+
+ * include/jit/jit-insn.h, jit/jit-insn.c, jit/jit-debugger.c: new
+ instruction jit_insn_mark_breakpoint_variable.
+
2006-09-14 Aleksey Demakov <address@hidden>
* jit/jit-reg-alloc.h, jit/jit-reg-alloc.c: remove "old" register
Index: include/jit/jit-insn.h
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/include/jit/jit-insn.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- include/jit/jit-insn.h 10 Jan 2006 21:24:42 -0000 1.15
+++ include/jit/jit-insn.h 15 Sep 2006 16:17:21 -0000 1.16
@@ -317,6 +317,8 @@
(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
Index: jit/jit-debugger.c
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-debugger.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- jit/jit-debugger.c 28 Oct 2004 01:23:09 -0000 1.2
+++ jit/jit-debugger.c 15 Sep 2006 16:17:21 -0000 1.3
@@ -125,6 +125,12 @@
A thread called @code{jit_debugger_detach_self}.
@end table
address@hidden int jit_insn_mark_breakpoint_variable (jit_function_t func,
jit_value_t data1, jit_value_t data2)
+This function is similar to @code{jit_insn_mark_breakpoint} except that values
+in @code{data1} and @code{data2} can be computed at runtime. You can use this
+function for example to get address of local variable.
address@hidden deftypefun
+
@*/
/*
Index: jit/jit-insn.c
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-insn.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- jit/jit-insn.c 29 Aug 2006 13:29:35 -0000 1.49
+++ jit/jit-insn.c 15 Sep 2006 16:17:21 -0000 1.50
@@ -8024,9 +8024,9 @@
(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 */
@@ -8034,11 +8034,7 @@
{
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];
@@ -8059,18 +8055,8 @@
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);
@@ -8078,6 +8064,26 @@
#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}.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] libjit ChangeLog include/jit/jit-insn.h jit/jit...,
Aleksey Demakov <=