diff options
author | Simon Marlow <marlowsd@gmail.com> | 2013-02-14 08:46:55 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2013-02-14 10:56:58 +0000 |
commit | 7e7a4e4d7e9e84b2c57d3d55e372e738b5f8dbf5 (patch) | |
tree | b5ab2b56418c09f01275970cc7d4e6629b0e7b43 /rts/Linker.c | |
parent | 65a0e1eb88fb48d085f8da498a7acc2fd345c2a8 (diff) | |
download | haskell-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.c | 8 |
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; |