[m-rev.] for tryout and/or review: removing globals from the I/O state

Peter Wang novalazy at gmail.com
Wed Oct 14 15:40:58 AEDT 2009


On 2009-10-14, Zoltan Somogyi <zs at csse.unimelb.edu.au> wrote:
> compiler/mercury_compile_front_end.m:
> compiler/mercury_compile_middle_passes.m:
> compiler/mercury_compile_llds_back_end.m:
> compiler/mercury_compile_mlds_back_end.m:
> compiler/mercury_compile_erl_back_end.m:
> 	New modules carved out of the old mercury_compile.m. They each cover
> 	exactly the areas suggested by their names.
> 
> 	Each of the modules is more cohesive than the old mercury_compile.m.
> 	Their code is also arranged in a more logical order, with predicates
> 	representing compiler passes being defined in the order of their
> 	invocation.
> 
> 	Some of these modules export predicates for use by their siblings,

... ?

> compiler/string.m:
> 	Add a det version of remove_suffix, for use by new code above.

Update NEWS.

--- compiler/make.m     14 Aug 2009 20:37:46 -0000      1.60
+++ compiler/make.m     12 Oct 2009 06:01:38 -0000
@@ -609,8 +608,9 @@                                                                      
     io::di, io::uo) is det.                                                             
                                                                                         
 option_table_hash(AllOptionArgs, Hash, !IO) :-                                          
-    globals.io_get_globals(Globals, !IO),                                               
-    handle_options(AllOptionArgs, OptionsErrors, _, _, _, !IO),                         
+    handle_given_options(AllOptionArgs, _, _, _,                                        
+        OptionsErrors, UpdatedGlobals, !IO),                                            
+    % XXX We throw away UpdatedGlobals after computing its hash. Why? -zs               
                                                                                         
We have no other use for the updated globals here.

--- compiler/mercury_compile.m  25 Sep 2009 05:13:02 -0000      1.505
+++ compiler/mercury_compile.m  12 Oct 2009 06:23:54 -0000
...
+        % (make.module_target does this to overcome limits on the lengths
+        % of command lines on Windows.) The environment is ignored, unlike
+        % with @file syntax.
+
+        % XXX I think the presence of this assignment here means that
+        % `mmc --mmake' does not use this mechanism for linking, but I am
+        % not sure. -zs
+        Link = no,

That's right.

Peter
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list