[m-rev.] for review: a pass for computing type representations

Julien Fischer jfischer at opturion.com
Wed Jan 31 22:51:55 AEDT 2018



On Wed, 31 Jan 2018, Zoltan Somogyi wrote:

>
> On Wed, 31 Jan 2018 05:54:45 -0500 (EST), Julien Fischer <jfischer at opturion.com> wrote:
>> FWIW, the attached diff shows the difference in the code generated by
>> rotd-2081-01-28 and rotd-2018-01-31 for the affected module.
>
> Thanks. I just started what would have been (on my laptop) a long process
> to find that information.
>
> Can you give me the diff for all the generated .cs files? It may give me
> ideas of where to look for the bug.

Attached for the mdbcomp directory; I'll send the stdlib ones along
shortly.  (I'll send you the diff for the library directory shortly,
since the one I just did contains my int64 changes -- so it's obviously
different.)

Julien.
-------------- next part --------------
--- mdbcomp.builtin_modules.cs	2018-01-31 05:47:29.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.builtin_modules.cs	2018-01-31 05:07:12.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from builtin_modules.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.cs	2018-01-31 05:47:29.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.cs	2018-01-31 05:07:12.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from mdbcomp.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.feedback.automatic_parallelism.cs	2018-01-31 05:47:32.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.feedback.automatic_parallelism.cs	2018-01-31 05:07:15.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from feedback.automatic_parallelism.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
@@ -58,7 +58,6 @@
   private static readonly runtime.DuFunctorDesc[] mdbcomp__feedback__automatic_parallelism__du_name_ordered_candidate_par_conjunctions_params_0 = new runtime.DuFunctorDesc[1];
   private static readonly int[] mdbcomp__feedback__automatic_parallelism__functor_number_map_candidate_par_conjunctions_params_0 = new int[1];
   public static readonly runtime.TypeCtorInfo_Struct mdbcomp__feedback__automatic_parallelism__type_ctor_info_candidate_par_conjunctions_params_0 = new runtime.TypeCtorInfo_Struct();
-  private static readonly runtime.TypeInfo_Struct tree234__ti_tree234_2builtin__type_ctor_info_int_0builtin__type_ctor_info_string_0 = new runtime.TypeInfo_Struct();
   private static readonly runtime.TypeInfo_Struct list__ti_list_1mdbcomp__feedback__automatic_parallelism__type_ctor_info_push_goal_0 = new runtime.TypeInfo_Struct();
   private static readonly runtime.TypeInfo_Struct list__pti_list_1__pseudo_mdbcomp__feedback__automatic_parallelism__pti_candidate_par_conjunction_1__pseudo_1 = new runtime.TypeInfo_Struct();
   private static readonly runtime.PseudoTypeInfo[] mdbcomp__feedback__automatic_parallelism__field_types_candidate_par_conjunctions_proc_1_0 = new runtime.PseudoTypeInfo[3];
@@ -511,12 +510,6 @@
 		4,
 		mdbcomp__feedback__automatic_parallelism.mdbcomp__feedback__automatic_parallelism__functor_number_map_candidate_par_conjunctions_params_0);
     //
-    //
-    tree234__ti_tree234_2builtin__type_ctor_info_int_0builtin__type_ctor_info_string_0.init(tree234.tree234__type_ctor_info_tree234_2,
-		new /* XXX init_array */ object[] {
-		runtime.TypeInfo_Struct.maybe_new(builtin.builtin__type_ctor_info_int_0),
-		runtime.TypeInfo_Struct.maybe_new(builtin.builtin__type_ctor_info_string_0)});
-    //
     list__ti_list_1mdbcomp__feedback__automatic_parallelism__type_ctor_info_push_goal_0.init(list.list__type_ctor_info_list_1,
 		new /* XXX init_array */ object[] {
 		runtime.TypeInfo_Struct.maybe_new(mdbcomp__feedback__automatic_parallelism.mdbcomp__feedback__automatic_parallelism__type_ctor_info_push_goal_0)});
@@ -525,7 +518,8 @@
 		new /* XXX init_array */ object[] {
 		(runtime.PseudoTypeInfo) mdbcomp__feedback__automatic_parallelism.mdbcomp__feedback__automatic_parallelism__pti_candidate_par_conjunction_1__pseudo_1});
     //
-    mdbcomp__feedback__automatic_parallelism__field_types_candidate_par_conjunctions_proc_1_0[0] = (runtime.PseudoTypeInfo) mdbcomp__feedback__automatic_parallelism.tree234__ti_tree234_2builtin__type_ctor_info_int_0builtin__type_ctor_info_string_0;
+    //
+    mdbcomp__feedback__automatic_parallelism__field_types_candidate_par_conjunctions_proc_1_0[0] = (runtime.PseudoTypeInfo) mdbcomp__program_representation.mdbcomp__program_representation__type_ctor_info_var_name_table_0;
     mdbcomp__feedback__automatic_parallelism__field_types_candidate_par_conjunctions_proc_1_0[1] = (runtime.PseudoTypeInfo) mdbcomp__feedback__automatic_parallelism.list__ti_list_1mdbcomp__feedback__automatic_parallelism__type_ctor_info_push_goal_0;
     mdbcomp__feedback__automatic_parallelism__field_types_candidate_par_conjunctions_proc_1_0[2] = (runtime.PseudoTypeInfo) mdbcomp__feedback__automatic_parallelism.list__pti_list_1__pseudo_mdbcomp__feedback__automatic_parallelism__pti_candidate_par_conjunction_1__pseudo_1;
     //
@@ -1184,7 +1178,7 @@
       runtime.TypeInfo_Struct TypeCtorInfo_16_16 = null;
       runtime.TypeInfo_Struct TypeInfo_17_17 = null;
       runtime.TypeInfo_Struct TypeInfo_18_18 = null;
-      tree234.Tree234_2 VarTable_7 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) CPCProcA_5).cpcp_var_table;
+      tree234.Tree234_2 VarTable_7 = (tree234.Tree234_2) ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) CPCProcA_5).cpcp_var_table;
       list.List_1 PushGoals_8 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) CPCProcA_5).cpcp_push_goals;
       list.List_1 CPCA_9 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) CPCProcA_5).cpcp_par_conjs;
       list.List_1 CPCB_10 = default(list.List_1);
@@ -1206,7 +1200,7 @@
       }
       CPCB_10 = (list.List_1) conv1_CPCB_10;
       {
-        CPCProcB_6 = new mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1(VarTable_7, PushGoals_8, CPCB_10);
+        CPCProcB_6 = new mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1((mdbcomp__program_representation.Var_name_table_0) VarTable_7, PushGoals_8, CPCB_10);
       }
       return CPCProcB_6;
     }
@@ -1951,8 +1945,8 @@
         HeadVar__1_1 = (builtin.Comparison_result_0) 0;
       else
       {
-        tree234.Tree234_2 ArgX1_4 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__2_2).cpcp_var_table;
-        tree234.Tree234_2 ArgY1_5 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__3_3).cpcp_var_table;
+        tree234.Tree234_2 ArgX1_4 = (tree234.Tree234_2) ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__2_2).cpcp_var_table;
+        tree234.Tree234_2 ArgY1_5 = (tree234.Tree234_2) ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__3_3).cpcp_var_table;
         list.List_1 ArgX2_6 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__2_2).cpcp_push_goals;
         list.List_1 ArgY2_7 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__3_3).cpcp_push_goals;
         list.List_1 ArgX3_8 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__2_2).cpcp_par_conjs;
@@ -2987,8 +2981,8 @@
         runtime.TypeInfo_Struct TypeCtorInfo_13_13 = null;
         runtime.TypeInfo_Struct TypeCtorInfo_16_16 = null;
         runtime.TypeInfo_Struct TypeInfo_17_17 = null;
-        tree234.Tree234_2 ArgX1_3 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__1_1).cpcp_var_table;
-        tree234.Tree234_2 ArgY1_4 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__2_2).cpcp_var_table;
+        tree234.Tree234_2 ArgX1_3 = (tree234.Tree234_2) ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__1_1).cpcp_var_table;
+        tree234.Tree234_2 ArgY1_4 = (tree234.Tree234_2) ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__2_2).cpcp_var_table;
         list.List_1 ArgX2_5 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__1_1).cpcp_push_goals;
         list.List_1 ArgY2_6 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__2_2).cpcp_push_goals;
         list.List_1 ArgX3_7 = ((mdbcomp__feedback__automatic_parallelism.Candidate_par_conjunctions_proc_1) HeadVar__1_1).cpcp_par_conjs;
@@ -3660,12 +3654,12 @@
   [System.Serializable]
   public class Candidate_par_conjunctions_proc_1
   {
-    public tree234.Tree234_2 cpcp_var_table;
+    public mdbcomp__program_representation.Var_name_table_0 cpcp_var_table;
     public list.List_1 cpcp_push_goals;
     public list.List_1 cpcp_par_conjs;
 
     public Candidate_par_conjunctions_proc_1(
-      tree234.Tree234_2 cpcp_var_table,
+      mdbcomp__program_representation.Var_name_table_0 cpcp_var_table,
       list.List_1 cpcp_push_goals,
       list.List_1 cpcp_par_conjs)
     {
--- mdbcomp.feedback.cs	2018-01-31 05:47:30.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.feedback.cs	2018-01-31 05:07:12.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from feedback.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.goal_path.cs	2018-01-31 05:47:30.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.goal_path.cs	2018-01-31 05:07:13.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from mdbcomp.goal_path.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.prim_data.cs	2018-01-31 05:47:30.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.prim_data.cs	2018-01-31 05:07:13.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from prim_data.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.program_representation.cs	2018-01-31 05:47:31.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.program_representation.cs	2018-01-31 05:07:13.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from program_representation.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.rtti_access.cs	2018-01-31 05:47:31.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.rtti_access.cs	2018-01-31 05:07:14.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from rtti_access.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.shared_utilities.cs	2018-01-31 05:47:31.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.shared_utilities.cs	2018-01-31 05:07:14.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from shared_utilities.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.slice_and_dice.cs	2018-01-31 05:47:31.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.slice_and_dice.cs	2018-01-31 05:07:14.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from slice_and_dice.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.sym_name.cs	2018-01-31 05:47:31.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.sym_name.cs	2018-01-31 05:07:14.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from sym_name.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mdbcomp.trace_counts.cs	2018-01-31 05:47:32.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mdbcomp.trace_counts.cs	2018-01-31 05:07:15.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from trace_counts.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //
--- mer_mdbcomp.cs	2018-01-31 05:47:29.000000000 -0500
+++ /home/jfischer/work/mercury-2.git/stage2/install_grade_dir.csharp/mdbcomp/Mercury/css/mer_mdbcomp.cs	2018-01-31 05:07:12.000000000 -0500
@@ -1,7 +1,7 @@
 //
 //
 // Automatically generated from mer_mdbcomp.m by the Mercury Compiler,
-// version rotd-2018-01-28
+// version rotd-2018-01-31
 // configured for x86_64-pc-linux-gnu
 //
 //


More information about the reviews mailing list