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_decls.tc dumpasm/dump...


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] pnet ChangeLog codegen/cg_decls.tc dumpasm/dump...
Date: Mon, 16 Mar 2009 19:50:31 +0000

CVSROOT:        /cvsroot/dotgnu-pnet
Module name:    pnet
Changes by:     Klaus Treichel <ktreichel>      09/03/16 19:50:31

Modified files:
        .              : ChangeLog 
        codegen        : cg_decls.tc 
        dumpasm        : dump_flags.c dump_type.c 
        ilalink        : link_image.c 
        ilasm          : ilasm_grammar.y ilasm_scanner.l 
        include        : il_meta.h il_program.h 

Log message:
        Add support for the assembly flag retargetable and constants attached to
        properties.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3606&r2=1.3607
http://cvs.savannah.gnu.org/viewcvs/pnet/codegen/cg_decls.tc?cvsroot=dotgnu-pnet&r1=1.61&r2=1.62
http://cvs.savannah.gnu.org/viewcvs/pnet/dumpasm/dump_flags.c?cvsroot=dotgnu-pnet&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/pnet/dumpasm/dump_type.c?cvsroot=dotgnu-pnet&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/pnet/ilalink/link_image.c?cvsroot=dotgnu-pnet&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/pnet/ilasm/ilasm_grammar.y?cvsroot=dotgnu-pnet&r1=1.53&r2=1.54
http://cvs.savannah.gnu.org/viewcvs/pnet/ilasm/ilasm_scanner.l?cvsroot=dotgnu-pnet&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/pnet/include/il_meta.h?cvsroot=dotgnu-pnet&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/pnet/include/il_program.h?cvsroot=dotgnu-pnet&r1=1.65&r2=1.66

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3606
retrieving revision 1.3607
diff -u -b -r1.3606 -r1.3607
--- ChangeLog   22 Feb 2009 15:06:49 -0000      1.3606
+++ ChangeLog   16 Mar 2009 19:50:18 -0000      1.3607
@@ -1,4 +1,26 @@
-2009-02-22  Klaus Treichek  <address@hidden>
+2009-03-16  Klaus Treichel  <address@hidden>
+
+       * codegen/cg_decls.tc (ILNode_GenDiscard(ILNode_PropertyDeclaration)):
+       Dump attached constant if present.
+
+       * dumpasm/dump_flags.c (ILAssemblyFlags): Add the 2.0 ECMA flag
+       retargetable.
+
+       * dumpasm/dump_type.c (DumpNativeType): Dump a native array in the
+       format type[int32 + int32] now instead of the old format.
+
+       * ilalink/link_image.c (ProcessImage): Handle the 2.0 assembly flag
+       retargetable.
+
+       * ilasm/ilasm_grammar.y: Handle constants attached to properties.
+
+       * ilasm/ilasm_scanner.l: Add the 2.0 keyword retargetable.
+
+       * include/il_meta.h: Define IL_META_ASSEM_RETARGETABLE.
+
+       * include/il_program.h: Add macro ILAssembly_Retargetable.
+
+2009-02-22  Klaus Treichel  <address@hidden>
 
        * configure.in: Add checking for x86_64-*-linux* when checking which
        thread library to use if not specified.

Index: codegen/cg_decls.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/codegen/cg_decls.tc,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -b -r1.61 -r1.62
--- codegen/cg_decls.tc 23 Dec 2008 13:31:14 -0000      1.61
+++ codegen/cg_decls.tc 16 Mar 2009 19:50:25 -0000      1.62
@@ -1005,6 +1005,7 @@
                                             
ILProperty_Signature(node->propertyInfo),
                                             IL_DUMP_QUOTE_NAMES, 0,
                                                 
ILProperty_Name(node->propertyInfo), 0);
+               ILDumpConstant(outstream, (ILProgramItem *)node->propertyInfo, 
1);
                fputs("\n{\n", outstream);
                if(info->debugFlag && info->asmOutput)
                {

Index: dumpasm/dump_flags.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/dumpasm/dump_flags.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- dumpasm/dump_flags.c        6 May 2003 09:53:20 -0000       1.12
+++ dumpasm/dump_flags.c        16 Mar 2009 19:50:27 -0000      1.13
@@ -189,7 +189,8 @@
 ILFlagInfo const ILPropertyDefinitionFlags[] = {
        {"specialname", IL_META_PROPDEF_SPECIAL_NAME, 0},
        {"rtspecialname", IL_META_PROPDEF_RT_SPECIAL_NAME, 0},
-       {0, IL_META_PROPDEF_RT_SPECIAL_NAME, 0xFFFFFDFF},
+       {0, IL_META_PROPDEF_RT_SPECIAL_NAME |
+               IL_META_PROPDEF_HAS_DEFAULT, 0xFFFFFDFF},
 };
 
 /*
@@ -349,9 +350,10 @@
                                IL_META_ASSEM_COMPATIBILITY_MASK},
        {"nomachine", IL_META_ASSEM_NON_SIDE_BY_SIDE_MACHINE,
                                IL_META_ASSEM_COMPATIBILITY_MASK},
+       {"retargetable", IL_META_ASSEM_RETARGETABLE, 0},
        {"enablejittracking", IL_META_ASSEM_ENABLE_JIT_TRACKING, 0},
        {"disablejitoptimizer", IL_META_ASSEM_DISABLE_JIT_OPTIMIZER, 0},
-       {0, 0, 0xFFFF3F8E},
+       {0, 0, 0xFFFF3E8E},
 };
 
 /*

Index: dumpasm/dump_type.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/dumpasm/dump_type.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- dumpasm/dump_type.c 12 Nov 2007 19:06:47 -0000      1.18
+++ dumpasm/dump_type.c 16 Mar 2009 19:50:30 -0000      1.19
@@ -1350,33 +1350,18 @@
                        DumpNativeType(stream, reader, flags);
                        putc('[', stream);
                        value = ILMetaUncompressData(reader);
-                       if(value)
-                       {
-                               fprintf(stream, ".size .param = %lu", value);
-                               value = ILMetaUncompressData(reader);
+                       /* Skip the multiplier as it's not available in the 
grammar */
                                value2 = ILMetaUncompressData(reader);
-                               if(value != 1)
-                               {
-                                       fprintf(stream, " * %lu]", value);
-                               }
-                               else
-                               {
-                                       putc(']', stream);
-                               }
-                       }
-                       else
-                       {
-                               value = ILMetaUncompressData(reader);
                                value2 = ILMetaUncompressData(reader);
                                if(value2 != 0)
                                {
-                                       fprintf(stream, "%lu]", value2);
+                               fprintf(stream, "%lu", value2);
                                }
-                               else
+                       if(value)
                                {
-                                       putc(']', stream);
-                               }
+                               fprintf(stream, " + %lu", value);
                        }
+                       putc(']', stream);
                }
                break;
 

Index: ilalink/link_image.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilalink/link_image.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- ilalink/link_image.c        8 Jul 2004 00:44:48 -0000       1.14
+++ ilalink/link_image.c        16 Mar 2009 19:50:30 -0000      1.15
@@ -163,6 +163,13 @@
                                                           compat);
                }
 
+               /* Copy the retargetable flag */
+               if(ILAssembly_Retargetable(assem))
+               {
+                       ILAssemblySetAttrs(thisAssem, 
IL_META_ASSEM_RETARGETABLE,
+                                                          
IL_META_ASSEM_RETARGETABLE);
+               }
+
                /* Copy the JIT flags */
                if(ILAssembly_EnableJITTracking(assem))
                {

Index: ilasm/ilasm_grammar.y
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilasm/ilasm_grammar.y,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -b -r1.53 -r1.54
--- ilasm/ilasm_grammar.y       22 Feb 2009 15:06:51 -0000      1.53
+++ ilasm/ilasm_grammar.y       16 Mar 2009 19:50:30 -0000      1.54
@@ -982,6 +982,7 @@
 %token K_REQREFUSE                     "`reqrefuse'"
 %token K_REQSECOBJ                     "`reqsecobj'"
 %token K_REQUEST                       "`request'"
+%token K_RETARGETABLE          "`retargetable'"
 %token K_RETVAL                                "`retval'"
 %token K_RTSPECIALNAME         "`rtspecialname'"
 %token K_RUNTIME                       "`runtime'"
@@ -2870,7 +2871,7 @@
 
 PropertyHeading
        : D_PROPERTY PropertyAttributes CallingConventions Type Identifier
-                       '(' OptSignatureArguments ')'   {
+                       '(' OptSignatureArguments ')' InitOption        {
                                ILType *sig = CreatePropertySig($3, $4, 
$7.paramFirst);
                                ILProperty *property;
                                property = ILPropertyCreate(ILAsmClass, 0, 
$5.string,
@@ -2879,6 +2880,24 @@
                                {
                                        ILAsmOutOfMemory();
                                }
+                               if($9.type != IL_META_ELEMTYPE_VOID)
+                               {
+                                       /* Attach a constant to the property */
+                                       ILConstant *constant;
+
+                                       constant = ILConstantCreate(ILAsmImage, 
0,
+                                                                               
                ILToProgramItem(property),
+                                                                               
                $9.type);
+                                       if(!constant)
+                                       {
+                                               ILAsmOutOfMemory();
+                                       }
+                                       if(!ILConstantSetValue(constant, 
$9.valueBlob.string,
+                                                                               
   $9.valueBlob.len))
+                                       {
+                                               ILAsmOutOfMemory();
+                                       }
+                               }
                                ILAsmBuildPushScope(property);
                        }
        ;
@@ -3728,6 +3747,7 @@
        | K_NOAPPDOMAIN                 { $$ = 
IL_META_ASSEM_NON_SIDE_BY_SIDE_APP_DOMAIN; }
        | K_NOPROCESS                   { $$ = 
IL_META_ASSEM_NON_SIDE_BY_SIDE_PROCESS; }
        | K_NOMACHINE                   { $$ = 
IL_META_ASSEM_NON_SIDE_BY_SIDE_MACHINE; }
+       | K_RETARGETABLE                { $$ = IL_META_ASSEM_RETARGETABLE; }
        | K_ENABLEJITTRACKING   { $$ = IL_META_ASSEM_ENABLE_JIT_TRACKING; }
        | K_DISABLEJITOPTIMIZER { $$ = IL_META_ASSEM_DISABLE_JIT_OPTIMIZER; }
        ;

Index: ilasm/ilasm_scanner.l
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ilasm/ilasm_scanner.l,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- ilasm/ilasm_scanner.l       26 Jul 2007 19:46:57 -0000      1.18
+++ ilasm/ilasm_scanner.l       16 Mar 2009 19:50:30 -0000      1.19
@@ -258,6 +258,7 @@
 <INITIAL,JAVAMODE>"noappdomain"                        { return K_NOAPPDOMAIN; 
}
 <INITIAL,JAVAMODE>"noprocess"                  { return K_NOPROCESS; }
 <INITIAL,JAVAMODE>"nomachine"                  { return K_NOMACHINE; }
+<INITIAL,JAVAMODE>"retargetable"               { return K_RETARGETABLE; }
 <INITIAL,JAVAMODE>"extern"                             { return K_EXTERN; }
 <INITIAL,JAVAMODE>"instance"                   { return K_INSTANCE; }
 <INITIAL,JAVAMODE>"explicit"                   { return K_EXPLICIT; }

Index: include/il_meta.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/include/il_meta.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- include/il_meta.h   9 Nov 2008 15:56:26 -0000       1.14
+++ include/il_meta.h   16 Mar 2009 19:50:30 -0000      1.15
@@ -278,6 +278,7 @@
 #define        IL_META_ASSEM_NON_SIDE_BY_SIDE_APP_DOMAIN 0x0010
 #define        IL_META_ASSEM_NON_SIDE_BY_SIDE_PROCESS  0x0020
 #define        IL_META_ASSEM_NON_SIDE_BY_SIDE_MACHINE  0x0030
+#define        IL_META_ASSEM_RETARGETABLE                              0x0100
 #define        IL_META_ASSEM_ENABLE_JIT_TRACKING               0x8000
 #define        IL_META_ASSEM_DISABLE_JIT_OPTIMIZER             0x4000
 

Index: include/il_program.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/include/il_program.h,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- include/il_program.h        26 Nov 2008 20:15:28 -0000      1.65
+++ include/il_program.h        16 Mar 2009 19:50:30 -0000      1.66
@@ -489,6 +489,8 @@
 #define        ILAssembly_IsNotMachineCompatible(assem)        \
        ((ILAssemblyGetAttrs((assem)) & IL_META_ASSEM_COMPATIBILITY_MASK) \
                                == IL_META_ASSEM_NON_SIDE_BY_SIDE_MACHINE)
+#define        ILAssembly_Retargetable(assem)  \
+       ((ILAssemblyGetAttrs((assem)) & IL_META_ASSEM_RETARGETABLE) != 0)
 #define        ILAssembly_EnableJITTracking(assem)     \
        ((ILAssemblyGetAttrs((assem)) & IL_META_ASSEM_ENABLE_JIT_TRACKING) != 0)
 #define        ILAssembly_DisableJITOptimizer(assem)   \




reply via email to

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