[m-rev.] for review: add maybe_thread_safe attribute

Julien Fischer juliensf at cs.mu.OZ.AU
Thu Feb 24 14:34:38 AEDT 2005


On Thu, 24 Feb 2005, Ian MacLarty wrote:

> On Mon, Feb 21, 2005 at 05:29:05PM +1100, Julien Fischer wrote:
> >
> > compiler/make_hlds.m:
> > 	Convert a any `maybe_thread_safe' attributes into `thread_safe'
>
> Should that `a' be there?
>
No.  I've removed it.

> > Index: compiler/globals.m
> > ===================================================================
> > RCS file: /home/mercury1/repository/mercury/compiler/globals.m,v
> > retrieving revision 1.64
> > diff -u -r1.64 globals.m
> > --- compiler/globals.m	27 Jan 2005 03:38:06 -0000	1.64
> > +++ compiler/globals.m	19 Feb 2005 17:00:57 -0000
> > @@ -100,11 +100,15 @@
> >  	% Map from module name to file name.
> >  :- type source_file_map == map(module_name, string).
> >
> > +:- type maybe_thread_safe == bool.
> > +
> >  :- pred convert_target(string::in, compilation_target::out) is semidet.
> >  :- pred convert_foreign_language(string::in, foreign_language::out) is semidet.
> >  :- pred convert_gc_method(string::in, gc_method::out) is semidet.
> >  :- pred convert_tags_method(string::in, tags_method::out) is semidet.
> >  :- pred convert_termination_norm(string::in, termination_norm::out) is semidet.
> > +:- pred convert_maybe_thread_safe(string::in, maybe_thread_safe::out)
> > +	is semidet.
> >
>
> This new predicate doesn't appear to be used anywhere in this diff.
>
> > Index: compiler/handle_options.m
> > ===================================================================
> > @@ -263,6 +264,16 @@
> >  		add_error("Invalid argument to option `--suppress-trace'.",
> >  			!Errors)
> >  	),
> > +	map__lookup(OptionTable0, maybe_thread_safe, MaybeThreadSafeOption),
> > +	( MaybeThreadSafeOption = string("yes") ->
> > +		MaybeThreadSafe = yes
> > +	; MaybeThreadSafeOption = string("no") ->
> > +		MaybeThreadSafe = no
>
> Perhaps you should use convert_maybe_thread_safe here?
>
Yes, that was the intention but I accidently ended up writing
the thing inlining anyway.  I've fixed it now.


> > +	;
> > +		MaybeThreadSafe = no, % dummy
> > +		add_error("Invalid argument to option `--maybe-thread-safe'.",
> > +			!Errors)
> > +	),
>
> > Index: doc/user_guide.texi
> > ===================================================================
> > RCS file: /home/mercury1/repository/mercury/doc/user_guide.texi,v
> > retrieving revision 1.421
> > diff -u -r1.421 user_guide.texi
> > --- doc/user_guide.texi	18 Feb 2005 04:05:33 -0000	1.421
> > +++ doc/user_guide.texi	21 Feb 2005 06:24:57 -0000
> > @@ -6256,6 +6256,16 @@
> >  or for backtrackable destructive update.
> >  This option is not yet supported for the IL or Java back-ends.
> >
> > + at sp 1
> > + at item @code{--maybe-thread-safe @{yes, no@}}
> > + at findex --maybe-thread-safe
> > +Specify how to treate the @samp{maybe_thread_safe} foreign code
> > +attribute.  @samp{yes} means that a foreign procedure with the
> > + at samp{maybe_thread_safe} option is treated as thought is has a
>
> s/thought/though/
>
Fixed.

Cheers,
Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list