public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [REPOST] MT-safe exception diffs for 971207
@ 1997-12-11  8:08 Teemu Torma
  1997-12-17  5:04 ` Andrey Slepuhin
  0 siblings, 1 reply; 12+ messages in thread
From: Teemu Torma @ 1997-12-11  8:08 UTC (permalink / raw)
  To: egcs

[I never received back this message I sent yesterday, so I am sending
 it again.  This time uuencoded.  Sorry if you have already received
 this one.]

Here are my mt-safe exceptions handling diffs against 971207.

The major change since 1.00 is that with sjlj exceptions there will be
only one call to __get_eh_context per real function.  It is
implemented by using a new reg note REG_EH_CONTEXT.  When the eh
context is needed, a USE insn with REG_EH_CONTEXT note is emitted to
the beginning of the function.  After inline calls are expanded, the
real call to __get_eh_context is emitted, and the value is copied to
each REG_EH_CONTEXT register.

This optimization happens only if dynamic handler chain is needed.
References to saved_pc variable emit calls to __get_eh_context
directly, unless we already have REG_EH_CONTEXT register.  But I don't
this combination ever happens.

I think that saved_pc references could be commented out if using
DWARF2 unwind info.

Teemu

1997-12-10  Teemu Torma  <tot@trema.com>

	* integrate.c (expand_inline_function): If the inline fn uses eh
	context, make sure that the current fn has one.

	* toplev.c (rest_of_compilation): Call emit_eh_context.

	* except.c (use_eh_context): New fn.
	(get_eh_context_once): New fn.
	(call_get_eh_context): New fn.
	(emit_eh_context): New fn.
	(get_eh_context): Call either get_eh_context_once or
	call_get_eh_context, depending on what we have.
	(get_dynamic_handler_chain): Call get_eh_context_once.
	* except.h: Prototypes for fns above.

	* optabs.c (get_eh_context_libfunc): Removed.
	(init_optabs): Don't initialize it.
	* expr.h (get_eh_context_libfunc): Removed.
	
	* rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.

1997-12-02  Teemu Torma  <tot@trema.com>

	Thread support for pthreads, DCE threads and Solaris threads.
	
	* config/pa/pa.h (CPP_SPEC): Support for -threads.
	* config/pa/pa-hpux10.h (LIB_SPEC): Ditto.

	* config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
	New multilib for -threads.

	* config/sparc/t-sol2: Added multilibs for -threads and
	made -pthreads alias to it.
		
	* config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
	Added -threads and -pthreads options.

	* libgcc-thr.h: New file.
	
	* libgcc2.c: (__get_cpp_eh_context): Removed.
	(struct cpp_eh_context): Removed.
	(struct eh_context): Replaced cpp_eh_context with generic language
	specific pointer. 
	(__get_eh_info): New function.
	(__throw): Check eh_context::info.
	(__sjthrow): Ditto.

	* libgcc2.c: Include libgcc-thr.h.
	(new_eh_context, __get_eh_context,
	eh_pthread_initialize, eh_context_initialize, eh_context_static,
	eh_context_specific, eh_context_free): New functions.
	(get_eh_context, eh_context_key): New variables.

	(__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
	get_eh_context to get the context.

	(longjmp): Move the declaration inside
	#ifdef DONT_USE_BUILTIN_SETJMP.

	* frame.c: Include libgcc-thr.h.
	(object_mutex): Mutex to protect the object list.
	(find_fde, __register_frame, __register_frame_table,
	__deregister_frame): Hold the lock while accessing objects.

	* except.h (get_eh_context): Declare.
	* except.c (current_function_ehc): Define.
	(current_function_dhc, current_function_dcc): Removed.
	(get_eh_context): New function.
	(get_dynamic_handler_chain): Use get_eh_context.
	(get_saved_pc_ref): Ditto.
	(get_dynamic_cleanup_chain): Removed references to
	current_function_dcc.
	(save_eh_status, restore_eh_status): Save and restore
	current_function_ehc instead.

	* optabs.c (get_eh_context_libfunc): New variable.
	(init_optabs): Initialize it.
	* expr.h: Declare get_eh_context_libfunc.
	
	* function.h (struct function): Replaced dhc and dcc with ehc.

	From Scott Snyder <snyder@d0sgif.fnal.gov>:
	* libgcc2.c (__get_saved_pc): New.
	(__eh_type, __eh_pc): Deleted.
	(__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
	(__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
	this fcn.

	* except.c (get_saved_pc_ref): New functions.
	(eh_saved_pc_rtx, eh_saved_pc): Deleted.
	(expand_internal_throw_indirect): Use get_saved_pc_ref() instead
	of eh_saved_pc.
	(end_eh_unwinder): Likewise.
	(init_eh): Remove initialization of eh_saved_pc.
	* optabs.c (get_saved_pc_libfunc): New variable.
	(init_optabs): Initialize it.
	* expr.h: Declare get_saved_pc_libfunc.
	* except.h (eh_saved_pc_rtx): Deleted.
	(get_saved_pc_ref): Declared.

cp/ChangeLog:

1997-12-01  Teemu Torma  <tot@trema.com>
	
	* decl.c (ptr_ptr_type_node): Define.
	(init_decl_processing): Initialize it.
	* cp-tree.h: Declare it.

	* exception.cc (__cp_exception_info): Use __get_eh_info.
	(__cp_push_exception): Ditto.
	(__cp_pop_exception): Ditto.

	From Scott Snyder <snyder@d0sgif.fnal.gov>:
        * except.c (expand_builtin_throw): Use get_saved_pc_ref instead of
	saved_pc.
	(init_exception_processing): Removed saved_pc initialization.

begin 644 mt-eh.diff.gz
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
&=%/7V```
`
end

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [REPOST] MT-safe exception diffs for 971207
  1997-12-11  8:08 [REPOST] MT-safe exception diffs for 971207 Teemu Torma
@ 1997-12-17  5:04 ` Andrey Slepuhin
  1997-12-17  5:14   ` Teemu Torma
  0 siblings, 1 reply; 12+ messages in thread
From: Andrey Slepuhin @ 1997-12-17  5:04 UTC (permalink / raw)
  To: tot; +Cc: egcs

Hi Teemu,
I don't see AIX-specific part of MT changes in egcs-971215.
What about it?

Andrey.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [REPOST] MT-safe exception diffs for 971207
  1997-12-17  5:04 ` Andrey Slepuhin
@ 1997-12-17  5:14   ` Teemu Torma
  0 siblings, 0 replies; 12+ messages in thread
From: Teemu Torma @ 1997-12-17  5:14 UTC (permalink / raw)
  To: Andrey Slepuhin; +Cc: egcs

    From:  Andrey Slepuhin <pooh@msu.ru>
    Date:  Wed, 17 Dec 1997 16:04:24 +0300

    I don't see AIX-specific part of MT changes in egcs-971215.
    What about it?

It seems that I forgot them out from my patch, even thought I was
sure that they were included.

I think it is better that you post them to the mailing list directly.

Teemu

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [REPOST] MT-safe exception diffs for 971207
  1997-12-12  1:52     ` Teemu Torma
  1997-12-12  1:52       ` Jason Merrill
@ 1997-12-12  8:32       ` David Edelsohn
  1 sibling, 0 replies; 12+ messages in thread
From: David Edelsohn @ 1997-12-12  8:32 UTC (permalink / raw)
  To: egcs

>>>>> Jason Merrill writes:

Jason> I also moved the call to the top of the function,
Jason> since the first use might be in a conditional.

>>>>> Teemu Torma writes:

Teemu> Please note that the USE insn is already at the beginning (after last parm
Teemu> insn), and emit_eh_context emits the call just before the USE insn. When
Teemu> the compiler compiles inline functions as standalone at the end of the
Teemu> compilation, last parm insn is not updated and can not be used.

	Just as an aside, this is why good documentation in comments in
the code is important.  If someone else works on this exception handling
code, he or she should not have to look in the egcs mailinglist for
explanations of subtle design decisions.

David


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [REPOST] MT-safe exception diffs for 971207
  1997-12-11 19:51 ` Jason Merrill
  1997-12-11 19:51   ` Jeffrey A Law
@ 1997-12-12  3:55   ` Teemu Torma
  1 sibling, 0 replies; 12+ messages in thread
From: Teemu Torma @ 1997-12-12  3:55 UTC (permalink / raw)
  To: Jason Merrill; +Cc: egcs, law, wilson

    From:  Jason Merrill <jason@cygnus.com>
    Date:  11 Dec 1997 19:36:28 -0800

    In use_eh_context, why are you using copy_rtx on a REG rtx?  That's a nop.

I have noticed that there are obsolete moves which are left over while I
have changed the code.  I haven't bothered yet to optimize them out.

     I'm not sure why you need five functions to handle eh_context.

Convenience, fewer changes to the other code to help merging.  No need to
do it that way.

    Why do you cast &eh->info and &eh->dynamic_handler_chain to their own
    types?

If I understand you correctly, __get_dynamic_handler_chain is not needed
anymore, so it can be taken away.  __get_eh_info is there so that the
compiler does not need to know that much of the contents of eh_context.

Teemu

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [REPOST] MT-safe exception diffs for 971207
  1997-12-12  0:18   ` Jason Merrill
@ 1997-12-12  1:52     ` Teemu Torma
  1997-12-12  1:52       ` Jason Merrill
  1997-12-12  8:32       ` David Edelsohn
  0 siblings, 2 replies; 12+ messages in thread
From: Teemu Torma @ 1997-12-12  1:52 UTC (permalink / raw)
  To: Jason Merrill; +Cc: egcs

    From:  Jason Merrill <jason@cygnus.com>
    Date:  12 Dec 1997 00:18:07 -0800

    Actually, I got over-eager and fixed these things myself, 
    so you don't need
    to worry about them.  I also moved the call to the top of the function,
    since the first use might be in a conditional.

Please note that the USE insn is already at the beginning (after last parm
insn), and emit_eh_context emits the call just before the USE insn. When
the compiler compiles inline functions as standalone at the end of the
compilation, last parm insn is not updated and can not be used.

Teemu

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [REPOST] MT-safe exception diffs for 971207
  1997-12-12  1:52     ` Teemu Torma
@ 1997-12-12  1:52       ` Jason Merrill
  1997-12-12  1:18         ` Teemu Torma
  1997-12-12  8:32       ` David Edelsohn
  1 sibling, 1 reply; 12+ messages in thread
From: Jason Merrill @ 1997-12-12  1:52 UTC (permalink / raw)
  To: Teemu Torma; +Cc: egcs

>>>>> Teemu Torma <tot@Trema.COM> writes:

> Please note that the USE insn is already at the beginning (after last parm
> insn), and emit_eh_context emits the call just before the USE insn.

But if a function that does not use exceptions inlines one that does in a
conditional context, that will break, no?

> When the compiler compiles inline functions as standalone at the end of
> the compilation, last parm insn is not updated and can not be used.

Ah.  That would be a problem.

Jason

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [REPOST] MT-safe exception diffs for 971207
  1997-12-12  1:18         ` Teemu Torma
@ 1997-12-12  1:18           ` Jason Merrill
  0 siblings, 0 replies; 12+ messages in thread
From: Jason Merrill @ 1997-12-12  1:18 UTC (permalink / raw)
  To: Teemu Torma; +Cc: egcs

>>>>> Teemu Torma <tot@Trema.COM> writes:

> That's why expand_inline_function checks for USE insns, and calls
> use_eh_context to force the current fn to use exceptions.

You're right, sorry.  I forgot about that.

Jason

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [REPOST] MT-safe exception diffs for 971207
  1997-12-12  1:52       ` Jason Merrill
@ 1997-12-12  1:18         ` Teemu Torma
  1997-12-12  1:18           ` Jason Merrill
  0 siblings, 1 reply; 12+ messages in thread
From: Teemu Torma @ 1997-12-12  1:18 UTC (permalink / raw)
  To: Jason Merrill; +Cc: egcs

    From:  Jason Merrill <jason@cygnus.com>
    Date:  12 Dec 1997 01:09:27 -0800

    But if a function that does not use exceptions inlines one that does in a
    conditional context, that will break, no?
    
That's why expand_inline_function checks for USE insns, and calls
use_eh_context to force the current fn to use exceptions.

Teemu


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [REPOST] MT-safe exception diffs for 971207
       [not found] ` <u9d8j32pxf.fsf.cygnus.egcs@yorick.cygnus.com>
@ 1997-12-12  0:18   ` Jason Merrill
  1997-12-12  1:52     ` Teemu Torma
  0 siblings, 1 reply; 12+ messages in thread
From: Jason Merrill @ 1997-12-12  0:18 UTC (permalink / raw)
  To: egcs, tot

>>>>> Jason Merrill <jason@cygnus.com> writes:

> Looks great, thanks a lot!  Some minor comments:

Actually, I got over-eager and fixed these things myself, so you don't need
to worry about them.  I also moved the call to the top of the function,
since the first use might be in a conditional.

Jason

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [REPOST] MT-safe exception diffs for 971207
  1997-12-11 19:51 ` Jason Merrill
@ 1997-12-11 19:51   ` Jeffrey A Law
  1997-12-12  3:55   ` Teemu Torma
  1 sibling, 0 replies; 12+ messages in thread
From: Jeffrey A Law @ 1997-12-11 19:51 UTC (permalink / raw)
  To: Jason Merrill; +Cc: egcs, tot, wilson

  In message < u9d8j32pxf.fsf@yorick.cygnus.com >you write:
  > I'd just as soon put this patch in now and get a second patch for these
  > tweaks; Jeff?
Sounds reasonable to me.
jeff

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [REPOST] MT-safe exception diffs for 971207
       [not found] <199712111608.RAA16152.cygnus.egcs@lev.labs.trema.com>
@ 1997-12-11 19:51 ` Jason Merrill
  1997-12-11 19:51   ` Jeffrey A Law
  1997-12-12  3:55   ` Teemu Torma
       [not found] ` <u9d8j32pxf.fsf.cygnus.egcs@yorick.cygnus.com>
  1 sibling, 2 replies; 12+ messages in thread
From: Jason Merrill @ 1997-12-11 19:51 UTC (permalink / raw)
  To: egcs, tot, law; +Cc: wilson

Looks great, thanks a lot!  Some minor comments:

In use_eh_context, why are you using copy_rtx on a REG rtx?  That's a nop.

I'm not sure why you need five functions to handle eh_context.

Indeed, the saved_pc stuff can be commented out ifdef DWARF2_UNWIND_INFO.
In fact, I'm about to blow away the old unwind code that uses saved_pc, so
you don't need to worry about making it work.  I'll be removing it just
after your patch goes in.

Why do you cast &eh->info and &eh->dynamic_handler_chain to their own
types?

Since you only use ptr_ptr_type_node once, there's no need to save it in a
global variable.

I'd just as soon put this patch in now and get a second patch for these
tweaks; Jeff?

Jason

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~1997-12-17  5:14 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-12-11  8:08 [REPOST] MT-safe exception diffs for 971207 Teemu Torma
1997-12-17  5:04 ` Andrey Slepuhin
1997-12-17  5:14   ` Teemu Torma
     [not found] <199712111608.RAA16152.cygnus.egcs@lev.labs.trema.com>
1997-12-11 19:51 ` Jason Merrill
1997-12-11 19:51   ` Jeffrey A Law
1997-12-12  3:55   ` Teemu Torma
     [not found] ` <u9d8j32pxf.fsf.cygnus.egcs@yorick.cygnus.com>
1997-12-12  0:18   ` Jason Merrill
1997-12-12  1:52     ` Teemu Torma
1997-12-12  1:52       ` Jason Merrill
1997-12-12  1:18         ` Teemu Torma
1997-12-12  1:18           ` Jason Merrill
1997-12-12  8:32       ` David Edelsohn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).