diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-11-08 16:58:55 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-11-08 16:58:55 -0500 |
commit | 61ddb1b9e10518fe3e5c66a255119de92b48f2a0 (patch) | |
tree | d67696d476ffcc35ade15fa8fa3050b7e47e88e5 /src/profiler.c | |
parent | 04a2d0d38a2835db6c2e5a74cd7701555a7eb826 (diff) | |
download | emacs-61ddb1b9e10518fe3e5c66a255119de92b48f2a0.tar.gz |
* src/lisp.h (XHASH): Redefine to be imperfect and fit in a Lisp int.
* src/fns.c (hashfn_eq, hashfn_eql, sxhash):
* src/profiler.c (hashfn_profiler): Don't use XUINT on non-integers.
* src/buffer.c (compare_overlays): Use XLI rather than XHASH.
Diffstat (limited to 'src/profiler.c')
-rw-r--r-- | src/profiler.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/profiler.c b/src/profiler.c index 365d834b9e1..3d8f7243d2f 100644 --- a/src/profiler.c +++ b/src/profiler.c @@ -555,15 +555,15 @@ hashfn_profiler (struct hash_table_test *ht, Lisp_Object bt) { Lisp_Object f = AREF (bt, i); EMACS_UINT hash1 - = (COMPILEDP (f) ? XUINT (AREF (f, COMPILED_BYTECODE)) + = (COMPILEDP (f) ? XHASH (AREF (f, COMPILED_BYTECODE)) : (CONSP (f) && CONSP (XCDR (f)) && EQ (Qclosure, XCAR (f))) - ? XUINT (XCDR (XCDR (f))) : XUINT (f)); + ? XHASH (XCDR (XCDR (f))) : XHASH (f)); hash = sxhash_combine (hash, hash1); } return (hash & INTMASK); } else - return XUINT (bt); + return XHASH (bt); } void |