Hi!
What percentage of applications use different dispatch
tables among its threads? How often do dispatch table changes
occur? If both of these are fairly low, computing a dispatch table
in an awx section at dispatch table switch time might be fastest
(ie. prepare something like:
.section dispatch, "awx"
.align 8
.globl glFoobar
glFooBar:
jmp something
nop; nop; nop
and <something> would be changed whenever a dispatch table switch happens
for all dispatch table members).
BTW: Last time I looked at libGL (in March), these were things which I
came over:
1) libGL should IMHO use a version script (at least an anonymous one
if you want to avoid assigning a specific GL_x.y symbol version to it),
that way you get rid of thousands of expensive run-time relocations
2) last time I looked, libGL.so was linked unconditionally against
libpthread. This is punnishing all non-threaded apps, weak undefined
symbols work very well
3) I don't think building without -fpic is a good idea, 1) together with
other tricks might speed things up while avoiding DT_TEXTREL
overhead
There were some other things, but I don't remember it very well. If I find
time I'll build libGL again and check the disassembly.
Jakub
_______________________________________________________________
Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel