Commit ef8d8b89 by Richard Henderson

crtbegin.asm (__JCR_LIST__): New.

        * config/alpha/crtbegin.asm (__JCR_LIST__): New.
        (__do_global_dtors_aux): Use gp-relative static data to avoid
        one dynamic relocation.
        (__do_frame_setup): Register Java classes.
        * config/alpha/crtend.asm (__JCR_END__): New.

From-SVN: r44746
parent 3b87de3d
2001-08-09 Richard Henderson <rth@redhat.com>
* config/alpha/crtbegin.asm (__JCR_LIST__): New.
(__do_global_dtors_aux): Use gp-relative static data to avoid
one dynamic relocation.
(__do_frame_setup): Register Java classes.
* config/alpha/crtend.asm (__JCR_END__): New.
2001-08-09 Zack Weinberg <zackw@stanford.edu>
* Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
(CONFIG_H, TCONFIG_H, TM_P_H): Update.
(GEN, STAGESTUFF): Add new files.
(insn-constants.h, s-constants, tm-preds.h, s-preds,
genconstants, genpreds, genconstants.o, genpreds.o): New rules.
(hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
* mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
as well as insn-codes.h and insn-flags.h in config.h; and no
extra headers in tconfig.h and hconfig.h.
* gencodes.c: Eliminate code to generate predicate declarations
or #defines for md-file constants.
* genconstants.c, genpreds.c: New files.
* i386.md: Re-order guard expressions such that TARGET_64BIT
comes first, when this permits better optimization. Add
TARGET_64BIT to more x86-64 patterns. Add comment explaining
why this is desirable.
* Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
(CONFIG_H, TCONFIG_H, TM_P_H): Update.
(GEN, STAGESTUFF): Add new files.
(insn-constants.h, s-constants, tm-preds.h, s-preds,
genconstants, genpreds, genconstants.o, genpreds.o): New rules.
(hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
* mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
as well as insn-codes.h and insn-flags.h in config.h; and no
extra headers in tconfig.h and hconfig.h.
* gencodes.c: Eliminate code to generate predicate declarations
or #defines for md-file constants.
* genconstants.c, genpreds.c: New files.
* i386.md: Re-order guard expressions such that TARGET_64BIT
comes first, when this permits better optimization. Add
TARGET_64BIT to more x86-64 patterns. Add comment explaining
why this is desirable.
2001-08-09 Jakub Jelinek <jakub@redhat.com>
......
......@@ -44,16 +44,18 @@
application's lists. */
.section .ctors,"aw"
.align 3
__CTOR_LIST__:
.quad -1
.quad -1
.section .dtors,"aw"
.align 3
__DTOR_LIST__:
.quad -1
.quad -1
.section .jcr,"aw"
.align 3
__JCR_LIST__:
.section .eh_frame,"aw"
__EH_FRAME_BEGIN__:
......@@ -96,9 +98,9 @@ __EH_FRAME_BEGIN__:
/* Support recursive calls to exit. */
.type dtor_ptr,@object
.size dtor_ptr,8
.size dtor_ptr,4
dtor_ptr:
.quad __DTOR_LIST__ + 8
.gprel32 __DTOR_LIST__ + 8
/* A globally unique widget for c++ local destructors to hang off.
......@@ -150,12 +152,13 @@ __do_global_dtors_aux:
0: lda $9,dtor_ptr
br 2f
1: stq $1,0($9)
1: stl $1,0($9)
jsr $26,($27)
ldgp $29,0($26)
2: ldq $1,0($9)
ldq $27,0($1)
addq $1,8,$1
2: ldl $1,0($9)
addq $1,$29,$2
ldq $27,0($2)
addl $1,8,$1
bne $27,1b
/* Remove our frame info. */
......@@ -173,11 +176,9 @@ __do_global_dtors_aux:
.end __do_global_dtors_aux
/*
* Install our frame info.
* Install our frame info; register java classes, if any.
*/
/* ??? How can we rationally keep this size correct? */
.section .bss
.type frame_object,@object
.size frame_object, 48
......@@ -205,8 +206,16 @@ __do_frame_setup:
jsr $26,__register_frame_info
ldgp $29,0($26)
ldq $26,0($30)
0: lda $30,16($30)
0: lda $1,_Jv_RegisterClasses
lda $16,__JCR_LIST__
beq $1,0f
ldq $2,8($16)
beq $2,0f
jsr $26,_Jv_RegisterClasses
ldgp $29,0($26)
0: ldq $26,0($30)
lda $30,16($30)
ret
.end __do_frame_setup
......@@ -216,3 +225,4 @@ __do_frame_setup:
#ifdef SHARED
.weak __cxa_finalize
#endif
.weak _Jv_RegisterClasses
......@@ -41,17 +41,20 @@
application's lists. */
.section .ctors,"aw"
.align 3
__CTOR_END__:
.quad 0
.section .dtors,"aw"
.align 3
__DTOR_END__:
.quad 0
.section .jcr,"aw"
.align 3
__JCR_END__:
.quad 0
.section .eh_frame,"aw"
__FRAME_END__:
.quad 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment