[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] pnet ChangeLog engine/jitc_except.c engine/lib_...
From: |
Klaus Treichel |
Subject: |
[dotgnu-pnet-commits] pnet ChangeLog engine/jitc_except.c engine/lib_... |
Date: |
Wed, 24 Dec 2008 11:29:33 +0000 |
CVSROOT: /cvsroot/dotgnu-pnet
Module name: pnet
Changes by: Klaus Treichel <ktreichel> 08/12/24 11:29:33
Modified files:
. : ChangeLog
engine : jitc_except.c lib_helpers.c verify.c
verify_call.c
include : il_coder.h
Log message:
Fix a compiler warning in enngine/lib_helpers.c.
Fix a segfault with jit if built without thread as first argument to
function calls.
Add inlining of
System.Runtime.CompilerServices.RuntimeHelpers.OffsetToStringData.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3594&r2=1.3595
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/jitc_except.c?cvsroot=dotgnu-pnet&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/lib_helpers.c?cvsroot=dotgnu-pnet&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/verify.c?cvsroot=dotgnu-pnet&r1=1.55&r2=1.56
http://cvs.savannah.gnu.org/viewcvs/pnet/engine/verify_call.c?cvsroot=dotgnu-pnet&r1=1.61&r2=1.62
http://cvs.savannah.gnu.org/viewcvs/pnet/include/il_coder.h?cvsroot=dotgnu-pnet&r1=1.59&r2=1.60
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3594
retrieving revision 1.3595
diff -u -b -r1.3594 -r1.3595
--- ChangeLog 23 Dec 2008 13:31:14 -0000 1.3594
+++ ChangeLog 24 Dec 2008 11:29:32 -0000 1.3595
@@ -1,3 +1,17 @@
+2008-12-24 Klaus Treichel <address@hidden>
+
+ * engine/lib_helpers.c (_IL_RuntimeHelpers_InternalOffsetToStringData):
+ Fix compiler warning on 64bit archs.
+
+ * engine/jitc_except.c (JITCoder_TryHandlerStart): Make sure the current
+ ILExecThread is available on entry of a catch block if built without
+ the thread in the signature.
+
+ * engine/verify.c: include lib_defs.h
+
+ * engine/verify_call.c, include/il_coder.h: Add support for inlining of
+ OffsetToStringData in System.Runtime.CompilerServices.RuntimeHelpers.
+
2008-12-23 Klaus Treichel <address@hidden>
* codegen/cg_cast.tc: Allow cast from managed pointer to unmanaged
Index: engine/jitc_except.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/jitc_except.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- engine/jitc_except.c 11 Feb 2007 14:34:32 -0000 1.16
+++ engine/jitc_except.c 24 Dec 2008 11:29:32 -0000 1.17
@@ -464,10 +464,24 @@
if(!(jitCoder->isInCatcher))
{
+#ifndef IL_JIT_THREAD_IN_SIGNATURE
+ ILJitValue thread;
+#endif
+
/* Tell libjit that we are in the catcher. */
jit_insn_start_catcher(jitCoder->jitFunction);
jitCoder->isInCatcher = 1;
+
+#ifndef IL_JIT_THREAD_IN_SIGNATURE
+ /*
+ * We have to make sure the current thread is available at the
start
+ * of a catch block.
+ * This is a NOP if the thread was loaded during execution of
+ * 'normal' code.
+ */
+ thread = _ILJitCoderGetThread(jitCoder);
+#endif
}
else
{
Index: engine/lib_helpers.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_helpers.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- engine/lib_helpers.c 16 Jan 2007 06:46:08 -0000 1.14
+++ engine/lib_helpers.c 24 Dec 2008 11:29:32 -0000 1.15
@@ -277,7 +277,7 @@
ILInt32 _IL_RuntimeHelpers_InternalOffsetToStringData(ILExecThread *thread)
{
- return (ILInt32)(StringToBuffer(0));
+ return (ILInt32)(ILNativeInt)(StringToBuffer(0));
}
ILObject *_IL_RuntimeHelpers_GetObjectValue(ILExecThread *_thread,
Index: engine/verify.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/verify.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -b -r1.55 -r1.56
--- engine/verify.c 24 Aug 2008 17:45:32 -0000 1.55
+++ engine/verify.c 24 Dec 2008 11:29:32 -0000 1.56
@@ -19,6 +19,7 @@
*/
#include "engine.h"
+#include "lib_defs.h"
#include "il_coder.h"
#include "il_opcodes.h"
#include "il_align.h"
Index: engine/verify_call.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/verify_call.c,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -b -r1.61 -r1.62
--- engine/verify_call.c 24 Aug 2008 17:45:33 -0000 1.61
+++ engine/verify_call.c 24 Dec 2008 11:29:32 -0000 1.62
@@ -1297,6 +1297,9 @@
{"Array", "System", "Clear", "(oSystem.Array;ii)V",
IL_INLINEMETHOD_ARRAY_CLEAR_AI4I4},
+ {"RuntimeHelpers", "System.Runtime.CompilerServices",
+ "get_OffsetToStringData", "()i", IL_INLINEMETHOD_OFFSETTOSTRINGDATA},
+
{"Math", "System", "Abs", "(i)i", IL_INLINEMETHOD_ABS_I4},
{"Math", "System", "Max", "(ii)i", IL_INLINEMETHOD_MAX_I4},
{"Math", "System", "Min", "(ii)i", IL_INLINEMETHOD_MIN_I4},
@@ -1748,7 +1751,29 @@
break;
}
- if (inlineType != -1
+ if (inlineType ==
IL_INLINEMETHOD_OFFSETTOSTRINGDATA)
+ {
+ ILInt32 offset =
(ILInt32)(ILNativeInt)(StringToBuffer(0));
+
+ ILCoderConstant(coder,
IL_OP_LDC_I4, (unsigned char *)&offset);
+ stack[stackSize].engineType =
ILEngineType_I4;
+ stack[stackSize].typeInfo = 0;
+
+#if !defined(IL_CONFIG_REDUCE_CODE) && !defined(IL_WITHOUT_TOOLS)
+ if (coderFlags &
IL_CODER_FLAG_STATS)
+ {
+
ILMutexLock(globalTraceMutex);
+ fprintf(stdout,
+ "Inlining:
%s.%s at %s.%s\n",
+
ILClass_Name(ILMethod_Owner(methodInfo)),
+
ILMethod_Name(methodInfo),
+
ILClass_Name(ILMethod_Owner(method)),
+
ILMethod_Name(method));
+
ILMutexUnlock(globalTraceMutex);
+ }
+#endif
+ }
+ else if (inlineType != -1
&& ILCoderCallInlineable(coder,
inlineType,
methodInfo, elementSize))
{
Index: include/il_coder.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/include/il_coder.h,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -b -r1.59 -r1.60
--- include/il_coder.h 24 Aug 2008 17:45:33 -0000 1.59
+++ include/il_coder.h 24 Dec 2008 11:29:33 -0000 1.60
@@ -150,6 +150,7 @@
#define IL_INLINEMETHOD_ARRAY_COPY_AAI4 49
#define IL_INLINEMETHOD_ARRAY_COPY_AI4AI4I4 50
#define IL_INLINEMETHOD_ARRAY_CLEAR_AI4I4 51
+#define IL_INLINEMETHOD_OFFSETTOSTRINGDATA 52
/*
* Return values for "ILCoderFinish".
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] pnet ChangeLog engine/jitc_except.c engine/lib_...,
Klaus Treichel <=