summaryrefslogtreecommitdiff
path: root/rts/Linker.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2013-02-14 08:46:55 +0000
committerSimon Marlow <marlowsd@gmail.com>2013-02-14 10:56:58 +0000
commit7e7a4e4d7e9e84b2c57d3d55e372e738b5f8dbf5 (patch)
treeb5ab2b56418c09f01275970cc7d4e6629b0e7b43 /rts/Linker.c
parent65a0e1eb88fb48d085f8da498a7acc2fd345c2a8 (diff)
downloadhaskell-7e7a4e4d7e9e84b2c57d3d55e372e738b5f8dbf5.tar.gz
Separate StablePtr and StableName tables (#7674)
To improve performance of StablePtr.
Diffstat (limited to 'rts/Linker.c')
-rw-r--r--rts/Linker.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/rts/Linker.c b/rts/Linker.c
index ef4f924bca..cf4f350af1 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -1112,7 +1112,10 @@ typedef struct _RtsSymbolVal {
SymI_HasProto(hs_set_argv) \
SymI_HasProto(hs_add_root) \
SymI_HasProto(hs_perform_gc) \
+ SymI_HasProto(hs_lock_stable_tables) \
+ SymI_HasProto(hs_unlock_stable_tables) \
SymI_HasProto(hs_free_stable_ptr) \
+ SymI_HasProto(hs_free_stable_ptr_unsafe) \
SymI_HasProto(hs_free_fun_ptr) \
SymI_HasProto(hs_hpc_rootModule) \
SymI_HasProto(hs_hpc_module) \
@@ -1213,6 +1216,7 @@ typedef struct _RtsSymbolVal {
SymI_HasProto(startupHaskell) \
SymI_HasProto(shutdownHaskell) \
SymI_HasProto(shutdownHaskellAndExit) \
+ SymI_HasProto(stable_name_table) \
SymI_HasProto(stable_ptr_table) \
SymI_HasProto(stackOverflow) \
SymI_HasProto(stg_CAF_BLACKHOLE_info) \
@@ -4113,7 +4117,7 @@ ocResolve_PEi386 ( ObjectCode* oc )
# define R_X86_64_PC64 24
# endif
-/*
+/*
* Workaround for libc implementations (e.g. eglibc) with incomplete
* relocation lists
*/
@@ -4992,7 +4996,7 @@ do_Elf_Rel_relocations ( ObjectCode* oc, char* ehdrC,
| (offset & 0x01fe);
break;
}
-
+
case R_ARM_THM_JUMP11:
{
StgWord16 *word = (StgWord16 *)P;