Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(522)

Issue 837553009: Make fixups reference any constant (allow const float/double pool literals). (Closed)

Created:
5 years, 11 months ago by jvoung (off chromium)
Modified:
5 years, 11 months ago
Reviewers:
Jim Stichnoth
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Make fixups reference any constant (allow const float/double pool literals). This avoids doing getConstantSym to avoid hitting the global context's getConstantSym during emitIAS(), which may be desirable for multi-threading, since each function's emitIAS() should be able to happen on a separate thread. The stringification is moved till later, so it still happens, just without creating a constant relocatable w/ offset of 0. This ends up tickling an issue where -O0 on 252.eon now gets 2x as many page faults, and I'm not sure exactly why. This makes the overall time higher, though emit time is lower. When translating with -O2 # of page faults is about the same before/after, so that oddness is restricted to O0. Before this change, tweaking the slab size at O0 doesn't seem to affect as drastically as 2x swings either. To work around this, I turned the slab size of the assembler down to 32KB. === Move all the .L$type$poolid into a function (replacing getPoolEntryID). BUG=none R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=1d62cf08a2968f09e2844c74d877e16a1858fa56

Patch Set 1 #

Patch Set 2 : formatting #

Patch Set 3 : tweak allocator to appease #

Total comments: 4

Patch Set 4 : go back to one arenaallocator type alias #

Unified diffs Side-by-side diffs Delta from patch set Stats (+77 lines, -58 lines) Patch
M src/IceCfg.h View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/IceCfg.cpp View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/IceDefs.h View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M src/IceELFObjectWriter.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/IceGlobalContext.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/IceInstX8632.cpp View 1 6 chunks +8 lines, -8 lines 0 comments Download
M src/IceOperand.h View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 2 chunks +4 lines, -4 lines 0 comments Download
M src/assembler.h View 1 2 3 2 chunks +8 lines, -4 lines 0 comments Download
M src/assembler.cpp View 1 2 2 chunks +31 lines, -8 lines 0 comments Download
M src/assembler_ia32.h View 3 chunks +7 lines, -8 lines 0 comments Download
M src/assembler_ia32.cpp View 1 1 chunk +6 lines, -16 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
jvoung (off chromium)
5 years, 11 months ago (2015-01-09 21:57:17 UTC) #2
Jim Stichnoth
lgtm https://codereview.chromium.org/837553009/diff/40001/src/IceDefs.h File src/IceDefs.h (right): https://codereview.chromium.org/837553009/diff/40001/src/IceDefs.h#newcode64 src/IceDefs.h:64: template <size_t SlabSize> I was wondering if you ...
5 years, 11 months ago (2015-01-09 22:30:35 UTC) #3
jvoung (off chromium)
Thanks https://codereview.chromium.org/837553009/diff/40001/src/IceDefs.h File src/IceDefs.h (right): https://codereview.chromium.org/837553009/diff/40001/src/IceDefs.h#newcode64 src/IceDefs.h:64: template <size_t SlabSize> On 2015/01/09 22:30:35, stichnot wrote: ...
5 years, 11 months ago (2015-01-09 22:50:19 UTC) #4
jvoung (off chromium)
5 years, 11 months ago (2015-01-09 22:57:38 UTC) #5
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
1d62cf08a2968f09e2844c74d877e16a1858fa56 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698