dotgnu-pnet-commits
[Top][All Lists]
Advanced

[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}.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]