[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