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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] pnet ChangeLog codegen/cg_misc.tc


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ChangeLog codegen/cg_misc.tc
Date: Fri, 12 Dec 2008 19:38:08 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    pnet
Changes by:     Klaus Treichel <ktreichel>      08/12/12 19:38:08

Modified files:
        .              : ChangeLog 
        codegen        : cg_misc.tc 

Log message:
        Add OffsetToStringData only if the string is not null.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3589&r2=1.3590
http://cvs.savannah.gnu.org/viewcvs/pnet/codegen/cg_misc.tc?cvsroot=dotgnu-pnet&r1=1.51&r2=1.52

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3589
retrieving revision 1.3590
diff -u -b -r1.3589 -r1.3590
--- ChangeLog   9 Dec 2008 21:18:19 -0000       1.3589
+++ ChangeLog   12 Dec 2008 19:38:07 -0000      1.3590
@@ -1,3 +1,8 @@
+2008-12-12  Klaus Treichel  <address@hidden>
+
+       * codegen/cg_misc.tc (ILNode_GenValue(ILNode_CastStringToCharPtr)): Add
+       OffsetToStringData only if the String is nonnull.
+
 2008-12-09  Klaus Treichel  <address@hidden>
 
        * codegen/cg_cast.tc: Replace the code generated for casts to bool with

Index: codegen/cg_misc.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/codegen/cg_misc.tc,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -b -r1.51 -r1.52
--- codegen/cg_misc.tc  9 Dec 2008 21:18:20 -0000       1.51
+++ codegen/cg_misc.tc  12 Dec 2008 19:38:07 -0000      1.52
@@ -679,8 +679,12 @@
 }
 ILNode_GenValue(ILNode_CastStringToCharPtr)
 {
+       ILLabel label = ILLabel_Undefined;
+
        ILNode_GenValue(node->expr, info);
        ILGenSimple(info, IL_OP_CONV_I);
+       ILGenSimple(info, IL_OP_DUP);
+       ILGenJump(info, IL_OP_BRFALSE, &label);
        ILGenCallByName(info, "int32 "
                                        
"[.library]System.Runtime.CompilerServices.RuntimeHelpers"
                                        "::get_OffsetToStringData()");
@@ -688,6 +692,7 @@
        ILGenSimple(info, IL_OP_CONV_I);
        ILGenSimple(info, IL_OP_ADD);
        ILGenAdjust(info, -1);
+       ILGenLabel(info, &label);
        return ILMachineType_UnmanagedPtr;
 }
 




reply via email to

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