[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] nick.lloyd-bytecode-jit 1b8bb2d 8/9: ; Fix a performance r
From: |
Nickolas Lloyd |
Subject: |
[Emacs-diffs] nick.lloyd-bytecode-jit 1b8bb2d 8/9: ; Fix a performance regression in bytecode JIT compiler |
Date: |
Sun, 29 Jan 2017 16:30:46 +0000 (UTC) |
branch: nick.lloyd-bytecode-jit
commit 1b8bb2df51067b2123a92c63bdbed03389c036b8
Author: Nickolas Lloyd <address@hidden>
Commit: Nickolas Lloyd <address@hidden>
; Fix a performance regression in bytecode JIT compiler
; * src/bytecode-jit.c: Make `functions' array static const to allow the
compiler to elide the array accesses. This brings `jit_byte_code__'
performance back in line with the more explicit, repetitive
pre-639dfad3ae2a478652a399986b03e5eec219eab1 version.
---
src/bytecode-jit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bytecode-jit.c b/src/bytecode-jit.c
index 859df8b..6ab7349 100644
--- a/src/bytecode-jit.c
+++ b/src/bytecode-jit.c
@@ -781,7 +781,7 @@ struct {
void * const ptr;
const char * const name;
int n;
-} functions[256] = {
+} static const functions[256] = {
#undef DEFINE_FIXED
#define DEFINE_FIXED(bname, value, fname, num) \
[value] = { .ptr = (void *)(&fname), .name = #fname, .n = num },
- [Emacs-diffs] nick.lloyd-bytecode-jit updated (a35c6fd -> 932eacc), Nickolas Lloyd, 2017/01/29
- [Emacs-diffs] nick.lloyd-bytecode-jit 82f54dd 2/9: ; Fix compiler warnings in src/bytecode-jit.c, Nickolas Lloyd, 2017/01/29
- [Emacs-diffs] nick.lloyd-bytecode-jit fcc76c6 7/9: Free JIT contexts when compiled functions cleaned up, Nickolas Lloyd, 2017/01/29
- [Emacs-diffs] nick.lloyd-bytecode-jit 223bcfe 6/9: ; Store jit_function_t value instead of closure., Nickolas Lloyd, 2017/01/29
- [Emacs-diffs] nick.lloyd-bytecode-jit 1b8bb2d 8/9: ; Fix a performance regression in bytecode JIT compiler,
Nickolas Lloyd <=
- [Emacs-diffs] nick.lloyd-bytecode-jit 86357df 4/9: ; Change JIT_* macros to return a value., Nickolas Lloyd, 2017/01/29
- [Emacs-diffs] nick.lloyd-bytecode-jit 68c56c0 3/9: ; Create a new context for each JIT compilation., Nickolas Lloyd, 2017/01/29
- [Emacs-diffs] nick.lloyd-bytecode-jit 932eacc 9/9: Avoid extra calls to `jit_function_to_closure', Nickolas Lloyd, 2017/01/29
- [Emacs-diffs] nick.lloyd-bytecode-jit f33ff0c 1/9: Use inline functions instead of macros for JIT operations., Nickolas Lloyd, 2017/01/29
- [Emacs-diffs] nick.lloyd-bytecode-jit 639dfad 5/9: ; Make JIT compilation loop more readable., Nickolas Lloyd, 2017/01/29