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

Issue 1257283004: Iasm and obj lowering for advanced switch lowering. (Closed)

Created:
5 years, 4 months ago by ascull
Modified:
5 years, 4 months ago
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

Iasm and obj lowering for advanced switch lowering. Jump table emission is delayed until offsets are known. X86 local jumps can be near or far. Sanboxing is applied to indirect jumps from jump table. BUG= R=stichnot@chromium.org, jvoung Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=86df4e9e6d183f07638440afd2c225b485c03917

Patch Set 1 #

Total comments: 11

Patch Set 2 : Fix sandboxing and linking #

Total comments: 8

Patch Set 3 : #

Total comments: 23

Patch Set 4 : #

Total comments: 4

Patch Set 5 : #

Patch Set 6 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+571 lines, -322 lines) Patch
M Makefile.standalone View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M src/IceAssembler.h View 1 2 3 2 chunks +67 lines, -1 line 0 comments Download
M src/IceAssemblerARM32.h View 1 2 2 chunks +6 lines, -1 line 0 comments Download
M src/IceAssemblerMIPS32.h View 1 2 2 chunks +6 lines, -1 line 0 comments Download
M src/IceAssemblerX8632.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/IceAssemblerX86Base.h View 1 2 3 4 5 4 chunks +25 lines, -72 lines 0 comments Download
M src/IceAssemblerX86BaseImpl.h View 1 2 3 4 5 8 chunks +30 lines, -30 lines 0 comments Download
M src/IceCfg.h View 1 2 3 4 4 chunks +15 lines, -0 lines 0 comments Download
M src/IceCfg.cpp View 1 2 3 4 5 5 chunks +61 lines, -5 lines 0 comments Download
M src/IceCfgNode.h View 2 chunks +4 lines, -0 lines 0 comments Download
M src/IceClFlags.h View 1 2 chunks +0 lines, -8 lines 0 comments Download
M src/IceClFlags.cpp View 1 2 3 4 5 3 chunks +0 lines, -6 lines 0 comments Download
M src/IceCompiler.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M src/IceDefs.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceELFObjectWriter.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/IceELFObjectWriter.cpp View 1 2 chunks +39 lines, -0 lines 0 comments Download
M src/IceGlobalContext.h View 1 2 3 4 5 chunks +16 lines, -0 lines 0 comments Download
M src/IceGlobalContext.cpp View 1 2 3 4 2 chunks +9 lines, -0 lines 0 comments Download
M src/IceInst.h View 1 2 chunks +11 lines, -4 lines 0 comments Download
M src/IceInst.cpp View 3 chunks +1 line, -30 lines 0 comments Download
M src/IceInstX86Base.h View 1 2 3 2 chunks +17 lines, -9 lines 0 comments Download
M src/IceInstX86BaseImpl.h View 1 2 3 4 chunks +14 lines, -17 lines 0 comments Download
M src/IceSwitchLowering.h View 1 2 3 5 chunks +39 lines, -7 lines 0 comments Download
M src/IceSwitchLowering.cpp View 3 chunks +6 lines, -3 lines 0 comments Download
M src/IceTargetLowering.h View 1 2 3 4 5 4 chunks +5 lines, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.h View 1 2 3 4 5 2 chunks +3 lines, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 2 3 4 5 2 chunks +12 lines, -0 lines 0 comments Download
M src/IceTargetLoweringMIPS32.h View 1 2 3 4 5 2 chunks +3 lines, -0 lines 0 comments Download
M src/IceTargetLoweringMIPS32.cpp View 1 2 3 4 5 2 chunks +12 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.h View 2 chunks +4 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 chunks +46 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8664.h View 2 chunks +4 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8664.cpp View 2 chunks +11 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX86Base.h View 1 2 3 4 5 2 chunks +11 lines, -6 lines 0 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 1 2 3 4 5 11 chunks +79 lines, -87 lines 0 comments Download
M tests_lit/llvm2ice_tests/adv-switch-opt.ll View 1 2 chunks +2 lines, -3 lines 0 comments Download
M tests_lit/llvm2ice_tests/switch-opt.ll View 1 2 3 5 chunks +1 line, -31 lines 0 comments Download

Messages

Total messages: 13 (1 generated)
ascull
https://codereview.chromium.org/1257283004/diff/1/src/IceClFlags.cpp File src/IceClFlags.cpp (right): https://codereview.chromium.org/1257283004/diff/1/src/IceClFlags.cpp#newcode426 src/IceClFlags.cpp:426: OutFlags.setUseAdvancedSwitchLowering(::UseAdvancedSwitchLowering); No need for this. Done.
5 years, 4 months ago (2015-07-28 22:30:46 UTC) #1
ascull
Advanced switch lowering works for asm, iasm and obj. It also works in the sandbox. ...
5 years, 4 months ago (2015-07-29 19:46:59 UTC) #3
jvoung (off chromium)
https://codereview.chromium.org/1257283004/diff/1/src/IceAssembler.h File src/IceAssembler.h (right): https://codereview.chromium.org/1257283004/diff/1/src/IceAssembler.h#newcode236 src/IceAssembler.h:236: virtual void alignCfgNode() = 0; You might be able ...
5 years, 4 months ago (2015-07-29 21:31:17 UTC) #4
ascull
https://codereview.chromium.org/1257283004/diff/1/src/IceAssembler.h File src/IceAssembler.h (right): https://codereview.chromium.org/1257283004/diff/1/src/IceAssembler.h#newcode236 src/IceAssembler.h:236: virtual void alignCfgNode() = 0; On 2015/07/29 21:31:16, jvoung ...
5 years, 4 months ago (2015-07-29 22:43:05 UTC) #5
Jim Stichnoth
https://codereview.chromium.org/1257283004/diff/40001/src/IceAssembler.h File src/IceAssembler.h (right): https://codereview.chromium.org/1257283004/diff/40001/src/IceAssembler.h#newcode51 src/IceAssembler.h:51: static const uint32_t kWordSize = sizeof(uint32_t); Make this private ...
5 years, 4 months ago (2015-07-30 15:20:24 UTC) #6
ascull
https://codereview.chromium.org/1257283004/diff/40001/src/IceAssembler.h File src/IceAssembler.h (right): https://codereview.chromium.org/1257283004/diff/40001/src/IceAssembler.h#newcode51 src/IceAssembler.h:51: static const uint32_t kWordSize = sizeof(uint32_t); On 2015/07/30 15:20:23, ...
5 years, 4 months ago (2015-07-30 17:30:00 UTC) #7
Jim Stichnoth
Thanks -- can you upload the latest patchset? https://codereview.chromium.org/1257283004/diff/40001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1257283004/diff/40001/src/IceCfg.cpp#newcode616 src/IceCfg.cpp:616: if ...
5 years, 4 months ago (2015-07-30 17:40:44 UTC) #8
ascull
+patchset
5 years, 4 months ago (2015-07-30 17:42:16 UTC) #9
Jim Stichnoth
https://codereview.chromium.org/1257283004/diff/40001/src/IceCfg.h File src/IceCfg.h (right): https://codereview.chromium.org/1257283004/diff/40001/src/IceCfg.h#newcode27 src/IceCfg.h:27: class InstJumpTable; On 2015/07/30 17:29:59, ascull wrote: > On ...
5 years, 4 months ago (2015-07-30 19:21:23 UTC) #10
ascull
https://codereview.chromium.org/1257283004/diff/40001/src/IceCfg.h File src/IceCfg.h (right): https://codereview.chromium.org/1257283004/diff/40001/src/IceCfg.h#newcode27 src/IceCfg.h:27: class InstJumpTable; On 2015/07/30 19:21:23, stichnot wrote: > On ...
5 years, 4 months ago (2015-07-30 20:39:38 UTC) #11
Jim Stichnoth
lgtm
5 years, 4 months ago (2015-07-30 20:41:41 UTC) #12
ascull
5 years, 4 months ago (2015-07-30 20:54:49 UTC) #13
Message was sent while issue was closed.
Committed patchset #6 (id:100001) manually as
86df4e9e6d183f07638440afd2c225b485c03917 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698