[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] pnet ./ChangeLog engine/jitc_setup.c engine/jit...
From: |
Klaus Treichel |
Subject: |
[dotgnu-pnet-commits] pnet ./ChangeLog engine/jitc_setup.c engine/jit... |
Date: |
Sat, 31 Dec 2005 14:09:19 +0000 |
CVSROOT: /cvsroot/dotgnu-pnet
Module name: pnet
Branch:
Changes by: Klaus Treichel <address@hidden> 05/12/31 14:09:19
Modified files:
. : ChangeLog
engine : jitc_setup.c jitc_var.c
Log message:
Reset labellist in jitcoder_finish and add the rest of the opcodes in
jitc_var.c
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnet/ChangeLog.diff?tr1=1.3264&tr2=1.3265&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnet/engine/jitc_setup.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnet/engine/jitc_var.c.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: pnet/ChangeLog
diff -u pnet/ChangeLog:1.3264 pnet/ChangeLog:1.3265
--- pnet/ChangeLog:1.3264 Sat Dec 31 10:25:39 2005
+++ pnet/ChangeLog Sat Dec 31 14:09:19 2005
@@ -1,3 +1,9 @@
+2005-12-31 Klaus Treichel <address@hidden>
+
+ * engine/jitc_setup.c: Reset the labellist in ILJITCoder_Finish.
+
+ * engine/jitc_var.c: Implement the rest of the instructions.
+
2005-12-31 Kirill Kononenko <address@hidden>
* engine/jitc_arith.c: Implement first version of the arithmetic
functions.
Index: pnet/engine/jitc_setup.c
diff -u pnet/engine/jitc_setup.c:1.3 pnet/engine/jitc_setup.c:1.4
--- pnet/engine/jitc_setup.c:1.3 Thu Dec 29 15:56:52 2005
+++ pnet/engine/jitc_setup.c Sat Dec 31 14:09:19 2005
@@ -152,6 +152,20 @@
*/
static int JITCoder_Finish(ILCoder *_coder)
{
+ ILJITCoder *jitCoder = ((ILJITCoder *)_coder);
+
+ /* Clear the label pool */
+ ILMemPoolClear(&(jitCoder->labelPool));
+ jitCoder->labelList = 0;
+ if(jitCoder->labelOutOfMemory)
+ {
+ /* We ran out of memory trying to allocate labels */
+ jitCoder->labelOutOfMemory = 0;
+
+ return IL_CODER_END_TOO_BIG;
+ }
+ jitCoder->labelOutOfMemory = 0;
+
return IL_CODER_END_OK;
}
Index: pnet/engine/jitc_var.c
diff -u pnet/engine/jitc_var.c:1.2 pnet/engine/jitc_var.c:1.3
--- pnet/engine/jitc_var.c:1.2 Fri Dec 30 20:06:58 2005
+++ pnet/engine/jitc_var.c Sat Dec 31 14:09:19 2005
@@ -103,9 +103,12 @@
static void JITCoder_AddrOfArg(ILCoder *coder, ILUInt32 argNum)
{
ILJITCoder *jitCoder = _ILCoderToILJITCoder(coder);
+ /* We need argNum + 1 because the ILExecThread is added as param 0 */
+ ILJitValue argValue = jit_value_get_param(jitCoder->jitFunction, argNum
+ 1);
-
-
+ jitCoder->jitStack[jitCoder->stackTop] =
+
jit_insn_address_of(jitCoder->jitFunction, argValue);
+ JITC_ADJUST(jitCoder, 1);
}
/*
@@ -114,7 +117,11 @@
static void JITCoder_AddrOfLocal(ILCoder *coder, ILUInt32 localNum)
{
ILJITCoder *jitCoder = _ILCoderToILJITCoder(coder);
+ ILJitValue localValue = jitCoder->jitLocals[localNum];
+ jitCoder->jitStack[jitCoder->stackTop] =
+
jit_insn_address_of(jitCoder->jitFunction, localValue);
+ JITC_ADJUST(jitCoder, 1);
}
/*
@@ -124,6 +131,9 @@
{
ILJITCoder *jitCoder = _ILCoderToILJITCoder(coder);
+ jitCoder->jitStack[jitCoder->stackTop - 1] =
+ jit_insn_alloca(jitCoder->jitFunction,
+
jitCoder->jitStack[jitCoder->stackTop - 1]);
}
#endif /* IL_JITC_CODE */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] pnet ./ChangeLog engine/jitc_setup.c engine/jit...,
Klaus Treichel <=