Please do not reply to this email: if you want to comment on the bug, go to
the URL shown below and enter yourcomments there.
https://freedesktop.org/bugzilla/show_bug.cgi?id=1822
------- Additional Comments From [EMAIL PROTECTED] 2004-11-10 23:48 -------
I just realized why the TLS version is likely slower. In Jakub's original TLS
patch, he modified the dispatch stubs to call a local function to get the
dispatch pointer. In TLS mode, this means a function that does something like:
get_dispatch:
movl %gs:[EMAIL PROTECTED], %eax
ret
I seem to recall that this was done to eliminate a bunch of relocs. Perhaps
something related to prelink? Dunno. The code that calls it is actually a
'call get_dispatch; nop'. The intention was the other code in libGL could copy
the get_dispatch function "inline". This is what my patch also does.
The overhead of the CALL / RET pair is likely higher than the MOV / TEST / JNE
in the non-TLS dispatch stubs. On my box, "inlinging" get_dispatch reduces
glColor3fv from ~107 cycles to ~61 cycles.
--
Configure bugmail: https://freedesktop.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel