[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] libjit ./ChangeLog jit/jit-internal.h jit/jit-f...
From: |
Aleksey Demakov |
Subject: |
[dotgnu-pnet-commits] libjit ./ChangeLog jit/jit-internal.h jit/jit-f... |
Date: |
Tue, 10 Jan 2006 21:03:44 +0000 |
CVSROOT: /sources/dotgnu-pnet
Module name: libjit
Branch:
Changes by: Aleksey Demakov <address@hidden> 06/01/10 21:03:44
Modified files:
. : ChangeLog
jit : jit-internal.h jit-function.c jit-rules-x86.c
Log message:
added fixup_absolute_list field to _jit_block struct
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/ChangeLog.diff?tr1=1.188&tr2=1.189&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/jit/jit-internal.h.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/jit/jit-function.c.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/libjit/jit/jit-rules-x86.c.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
Patches:
Index: libjit/ChangeLog
diff -u libjit/ChangeLog:1.188 libjit/ChangeLog:1.189
--- libjit/ChangeLog:1.188 Tue Jan 10 20:48:35 2006
+++ libjit/ChangeLog Tue Jan 10 21:03:44 2006
@@ -2,6 +2,9 @@
* jit/jit-gen-x86.h (x86_jump_memindex): add macro for indirect
jumps.
+ * jit/jit-internal.h, jit/jit-function.c, jiy/jit-rules-x86.c:
+ add fixup_absolute_list field to _jit_block struct for fixing up
+ absolute address references to a block.
2006-01-08 Aleksey Demakov <address@hidden>
Index: libjit/jit/jit-function.c
diff -u libjit/jit/jit-function.c:1.16 libjit/jit/jit-function.c:1.17
--- libjit/jit/jit-function.c:1.16 Sat Dec 24 09:48:42 2005
+++ libjit/jit/jit-function.c Tue Jan 10 21:03:44 2006
@@ -710,6 +710,7 @@
{
block->address = 0;
block->fixup_list = 0;
+ block->fixup_absolute_list = 0;
}
}
Index: libjit/jit/jit-internal.h
diff -u libjit/jit/jit-internal.h:1.19 libjit/jit/jit-internal.h:1.20
--- libjit/jit/jit-internal.h:1.19 Sat Dec 24 06:55:13 2005
+++ libjit/jit/jit-internal.h Tue Jan 10 21:03:44 2006
@@ -184,8 +184,9 @@
int entered_via_top : 1;
int entered_via_branch : 1;
int ends_in_dead : 1;
- void *address;
- void *fixup_list;
+ void *address;
+ void *fixup_list;
+ void *fixup_absolute_list;
};
/*
Index: libjit/jit/jit-rules-x86.c
diff -u libjit/jit/jit-rules-x86.c:1.26 libjit/jit/jit-rules-x86.c:1.27
--- libjit/jit/jit-rules-x86.c:1.26 Tue Oct 12 01:19:24 2004
+++ libjit/jit/jit-rules-x86.c Tue Jan 10 21:03:44 2006
@@ -1397,6 +1397,15 @@
fixup = next;
}
block->fixup_list = 0;
+
+ fixup = (void**)(block->fixup_absolute_list);
+ while(fixup != 0)
+ {
+ next = (void **)(fixup[0]);
+ fixup[0] = (void *)((jit_nint)(block->address));
+ fixup = next;
+ }
+ block->fixup_absolute_list = 0;
}
void _jit_gen_end_block(jit_gencode_t gen, jit_block_t block)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] libjit ./ChangeLog jit/jit-internal.h jit/jit-f...,
Aleksey Demakov <=