summaryrefslogtreecommitdiff
path: root/nasm.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-06-11 15:49:41 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-06-11 15:49:41 -0700
commitac8f8fcb27a063fbf7ec3ad3de18f6586e9e95b8 (patch)
treed4315e0d8a8c6d27d0883aa67461251ce4bbc59e /nasm.c
parent7b471fada8697930e4bdaff50fe51caa2798815f (diff)
downloadnasm-ac8f8fcb27a063fbf7ec3ad3de18f6586e9e95b8.tar.gz
nasm-ac8f8fcb27a063fbf7ec3ad3de18f6586e9e95b8.tar.bz2
nasm-ac8f8fcb27a063fbf7ec3ad3de18f6586e9e95b8.zip
Use an explicit table for tolower() to avoid a function call
On some platforms, tolower() is implemented as a function call, in order to handle locale support. We never change locales, so can the result of tolower() into a table, so we don't have to sit through the function call every time. ~1.3% overall performance improvement on a macro-heavy benchmark under Linux x86-64.
Diffstat (limited to 'nasm.c')
-rw-r--r--nasm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/nasm.c b/nasm.c
index a8efbb2..416cee8 100644
--- a/nasm.c
+++ b/nasm.c
@@ -298,6 +298,8 @@ int main(int argc, char **argv)
error_file = stderr;
+ tolower_init();
+
nasm_set_malloc_error(report_error);
offsets = raa_init();
forwrefs = saa_init((int32_t)sizeof(struct forwrefinfo));