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

Julien Fischer jfischer at opturion.com
Wed Jan 31 21:54:45 AEDT 2018




On Wed, 31 Jan 2018, Zoltan Somogyi wrote:

> On Wed, 31 Jan 2018 05:20:39 -0500 (EST), Julien Fischer <jfischer at opturion.com> wrote:
>> From the looks of it, this change has broken something since the mdbcomp
>> library no longer builds in the csharp grade.
>
> I will have a look.

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.

Julien.
-------------- next part --------------
--- 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)
     {


More information about the reviews mailing list