Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(9294)

Issue 279260043: i#1114 JIT optimization: replace trace head hashtable

Can't Edit
Can't Publish+Mail
Start Review
Created:
8 years, 4 months ago by Byron
Modified:
8 years, 4 months ago
Reviewers:
bruening
CC:
dynamorio-devs_googlegroups.com
Visibility:
Public.

Description

Commit log for first patchset: --------------- i#1114 JIT optimization: replace trace head hashtable Replaces the custom trace head hashtable with the generic open-address table, eliminating hotspots in runs of Octane that need the hashtable to expand. Also reduces memory usage and improves code sharing. ---------------

Patch Set 1 #

Total comments: 5

Patch Set 2 : Added generic_hash_range_remove() #

Total comments: 3

Patch Set 3 : Added comment #

Patch Set 4 : Simplify range_remove to a simple redirection #

Patch Set 5 : Committed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+80 lines, -147 lines) Patch
M core/arch/x86/clean_call_opt.c View 3 chunks +3 lines, -3 lines 0 comments Download
M core/fragment.c View 2 chunks +2 lines, -2 lines 0 comments Download
M core/hashtable.h View 1 2 chunks +7 lines, -2 lines 0 comments Download
M core/hashtable.c View 1 2 3 4 chunks +10 lines, -3 lines 0 comments Download
M core/monitor.h View 1 2 3 4 2 chunks +25 lines, -39 lines 0 comments Download
M core/monitor.c View 1 4 chunks +29 lines, -94 lines 0 comments Download
M core/unix/signal_linux.c View 1 chunk +1 line, -1 line 0 comments Download
M core/win32/module.c View 1 2 chunks +2 lines, -2 lines 0 comments Download
M core/win32/os.c View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 19
Byron
8 years, 4 months ago (2015-12-03 22:58:59 UTC) #1
Byron
https://codereview.appspot.com/279260043/diff/1/core/monitor.c File core/monitor.c (left): https://codereview.appspot.com/279260043/diff/1/core/monitor.c#oldcode456 core/monitor.c:456: #if 0 /* not used */ I'm removing this ...
8 years, 4 months ago (2015-12-03 23:02:50 UTC) #2
bruening
Re: persistent trace head counters: see my thesis Section 2.3.2 page 49 where it was ...
8 years, 4 months ago (2015-12-04 21:18:49 UTC) #3
bruening
Are you waiting on anything else from me? I assume you'll upload a new patchset ...
8 years, 4 months ago (2015-12-04 21:24:49 UTC) #4
Byron
On 2015/12/04 21:24:49, bruening wrote: > Are you waiting on anything else from me? I ...
8 years, 4 months ago (2015-12-04 21:32:53 UTC) #5
bruening
LGTM https://codereview.appspot.com/279260043/diff/1/core/monitor.c File core/monitor.c (right): https://codereview.appspot.com/279260043/diff/1/core/monitor.c#newcode352 core/monitor.c:352: md = heap_alloc(dcontext, sizeof(monitor_data_t) HEAPACCT(ACCT_TRACE)); I think you ...
8 years, 4 months ago (2015-12-05 02:52:47 UTC) #6
Byron
Commit log for latest patchset: --------------- i#1114 JIT optimization: replace trace head hashtable Replaces the ...
8 years, 4 months ago (2015-12-05 08:51:00 UTC) #7
Byron
Please check the API of the new generic_hash_range_remove(). I tried to match the template's range ...
8 years, 4 months ago (2015-12-05 08:53:26 UTC) #8
bruening
https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c File core/hashtable.c (right): https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c#newcode196 core/hashtable.c:196: int iter = 0; I thought this could just ...
8 years, 4 months ago (2015-12-07 04:35:25 UTC) #9
Byron
Commit log for latest patchset: --------------- i#1114 JIT optimization: replace trace head hashtable Replaces the ...
8 years, 4 months ago (2015-12-07 07:01:40 UTC) #10
Byron
https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c File core/hashtable.c (right): https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c#newcode196 core/hashtable.c:196: int iter = 0; On 2015/12/07 04:35:24, bruening wrote: ...
8 years, 4 months ago (2015-12-07 07:03:34 UTC) #11
bruening
https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c File core/hashtable.c (right): https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c#newcode196 core/hashtable.c:196: int iter = 0; On 2015/12/07 07:03:34, Byron wrote: ...
8 years, 4 months ago (2015-12-07 15:53:31 UTC) #12
Byron
On 2015/12/07 15:53:31, bruening wrote: > https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c > File core/hashtable.c (right): > > https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c#newcode196 > ...
8 years, 4 months ago (2015-12-07 19:03:40 UTC) #13
Byron
On 2015/12/07 19:03:40, Byron wrote: > On 2015/12/07 15:53:31, bruening wrote: > > https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c > ...
8 years, 4 months ago (2015-12-07 23:48:23 UTC) #14
bruening
On 2015/12/07 19:03:40, Byron wrote: > On 2015/12/07 15:53:31, bruening wrote: > > https://codereview.appspot.com/279260043/diff/20001/core/hashtable.c > ...
8 years, 4 months ago (2015-12-08 06:22:03 UTC) #15
Byron
Commit log for latest patchset: --------------- i#1114 JIT optimization: replace trace head hashtable Replaces the ...
8 years, 4 months ago (2015-12-08 07:26:13 UTC) #16
Byron
> > No, hashtable_generic_range_remove() calls hashtable_generic_free_entry() which > frees both the user's payload and the ...
8 years, 4 months ago (2015-12-08 07:30:35 UTC) #17
bruening
On 2015/12/08 07:30:35, Byron wrote: > So why define this new function generic_hash_range_remove(), when it ...
8 years, 4 months ago (2015-12-08 16:40:09 UTC) #18
Byron
8 years, 4 months ago (2015-12-08 20:34:11 UTC) #19
Committed as
https://github.com/DynamoRIO/dynamorio/commit/343b99a0000660836eca400f7ad4975...

Final commit log: 
---------------
i#1114 JIT optimization: replace trace head hashtable

Replaces the custom trace head hashtable with the generic
open-address table, eliminating hotspots in runs of Octane
that need the hashtable to expand. Also reduces memory
usage and improves code sharing.

Review-URL: https://codereview.appspot.com/279260043
---------------
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b