* [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
M'XL("+8.D#0``VUT+65H+F1I9F8`[#S]4]O(DC^;NC]B-EN5-8DP_L08-JE'
MP,GZB@`%SFWNKJYT0AIC);*D)\D0WE;^]^ON^=#HR\#;W>SNJV.S8&MFNF?Z
M:[I[>O3?5]&*L]C)W"5/V=*YY>R:\Y!QS\^XQU9.N':"X)YE$;OA&4M\CT4+
MEN*@('*=8(LY'G3UHS"UX#'+EM#@AYR%Z]4U3U*`<,_"*(._@.)_MK9ZD\EX
MI]??Z749FW.^6K-YE*P<QG[,HNQO6<)73L>-5J^WMEHOF!]F_"9Q,MYQ69M_
MB9W0L_T0X=N+=>@BVNT#-EL06M'`%B%;I[`6OMQJN1$`^))9@/TS9^DZX=#3
MR:B[NTX2'F;8?^FD+`IYAW!F41SP6T28\#2SHX4-TXG]P)'8CH$>C*_\S.9+
M6R(0(_D7E\<9CH0)&*TPZ(S?`:+.5JL-5#2:["AT>:$=:!K8Q4Z%]A+F#;#U
M7'U8;L)J$+,H`1I5$5K,XS$//3^\`;JP.R39'2?I4&B\^]!9^:Z]!)8$/+'=
MI>-KZM2@ZA@$6AZPBR0"=M_'P*=%E,#T4^9<1[>2!5&<.=<I$K($*?"OD>^`
MYY*OH+N'T_%#H(@8`@TG4?A#QO"9[P3^/T`L,HD[3CK+1T'$[DD6=)86_7$%
MB1-^8X,@<W8Y?6=/?[*/S\_FTX_S3B[2W?Z#(CU?)MSQ0!+C.$HR6GN<T3-0
MGY/C*9-?&)"5746!D_BI>B9G!C-?^#>[L0/_<$''%Q?VU<7T&)9P98#=R4<5
MQ^PLX_677A>'GL[>J*$G?I9%@OIYYVPG=EC[_8?3^0R[GE_,9^=G5Q;33TYF
MEV='[Z=7VP=;+:31:AUD/I"T-`,#:AH[B0N`TRCH'[`CST,C(T>EA6%(@JW6
MRO$XVXGUL\`'705C1%QM50`C6),H%LO7N-42Z$P$!FB0(+1B8K8PFQO7Q9XH
MK:1A?L`E!T1C'P6C;9/JN'%<5#Q#/-,L6;L9>T274G,<."Y,MSB0W8$V@X*%
M//%=%CCAS=JYX5NM-.:NOX!'<81&,^DP@&LKO?;#1:0LA;2;'6J'!49WJ+9+
M[GXV)G!P@$-$G_23ZF4(B4>@&:X\7:(8C0WY7L"EVV<ILM>"+I+^=:ZQE
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
&=%/7V```
`
end
^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <199712111608.RAA16152.cygnus.egcs@lev.labs.trema.com>]
* 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
* 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
* [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
[parent not found: <u9d8j32pxf.fsf.cygnus.egcs@yorick.cygnus.com>]
* 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
* [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: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
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).