diff --git a/src/dom/js/jsdhash.h b/src/dom/js/jsdhash.h
index 39982ce05eab4cc494827831e486a787c9d800b9..6beecadd120cd7e65f59fefb219f37fe0a797258 100644 (file)
--- a/src/dom/js/jsdhash.h
+++ b/src/dom/js/jsdhash.h
JS_BEGIN_EXTERN_C
+#if defined(__GNUC__) && defined(__i386__) && (__GNUC__ >= 3) && !defined(XP_OS2)
+#define JS_DHASH_FASTCALL __attribute__ ((regparm (3),stdcall))
+#else
+#define JS_DHASH_FASTCALL
+#endif
+
#ifdef DEBUG_XXXbrendan
#define JS_DHASHMETER 1
#endif
* we don't shrink on the very next remove after growing a table upon adding
* an entry that brings entryCount past maxAlpha * tableSize.
*/
-JS_PUBLIC_API(void)
+extern JS_PUBLIC_API(void)
JS_DHashTableSetAlphaBounds(JSDHashTable *table,
float maxAlpha,
float minAlpha);
* the entry is marked so that JS_DHASH_ENTRY_IS_FREE(entry). This operation
* returns null unconditionally; you should ignore its return value.
*/
-extern JS_PUBLIC_API(JSDHashEntryHdr *)
+extern JS_PUBLIC_API(JSDHashEntryHdr *) JS_DHASH_FASTCALL
JS_DHashTableOperate(JSDHashTable *table, const void *key, JSDHashOperator op);
/*