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

Issue 144074: [PATCH] Make the lazy/eager decision explicit instead of defaulted (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 6 months ago by Jeffrey Yasskin
Modified:
14 years ago
Reviewers:
Base URL:
https://llvm.org/svn/llvm-project/llvm/trunk/
Visibility:
Public.

Description

This patch adds a CompilationTiming enum {Undefined, Lazy, Eager} and requires users to pass a value from it to every function that may cause the JIT to generate code. I do NOT think we should accept this patch: It changes a lot of APIs and makes users specify the choice in many places, while I think most users really just want one choice for their whole app. There's a good argument to be made that users may want to decide certain calls should be lazily-compiled, but those are boundaries _within_ a transitive call tree, not the whole-tree choice this change allows. I'd be happy with a forced choice when creating the JIT, or with an optional choice defaulted to the safer option, but this patch seems like the wrong thing to do.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+264 lines, -169 lines) Patch
M docs/ProgrammersManual.html View 2 chunks +28 lines, -0 lines 0 comments Download
M examples/BrainF/BrainFDriver.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M examples/Fibonacci/fibonacci.cpp View 1 chunk +1 line, -1 line 0 comments Download
M examples/HowToUseJIT/HowToUseJIT.cpp View 1 chunk +1 line, -1 line 0 comments Download
M examples/Kaleidoscope/Chapter4/toy.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M examples/Kaleidoscope/Chapter5/toy.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M examples/Kaleidoscope/Chapter6/toy.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M examples/Kaleidoscope/Chapter7/toy.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M examples/ParallelJIT/ParallelJIT.cpp View 1 chunk +1 line, -1 line 0 comments Download
M include/llvm/ExecutionEngine/ExecutionEngine.h View 11 chunks +45 lines, -41 lines 0 comments Download
M lib/ExecutionEngine/ExecutionEngine.cpp View 24 chunks +61 lines, -39 lines 0 comments Download
M lib/ExecutionEngine/ExecutionEngineBindings.cpp View 4 chunks +8 lines, -5 lines 0 comments Download
M lib/ExecutionEngine/Interpreter/Execution.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M lib/ExecutionEngine/Interpreter/Interpreter.h View 2 chunks +8 lines, -4 lines 0 comments Download
M lib/ExecutionEngine/Interpreter/Interpreter.cpp View 2 chunks +3 lines, -2 lines 0 comments Download
M lib/ExecutionEngine/JIT/JIT.h View 6 chunks +21 lines, -6 lines 0 comments Download
M lib/ExecutionEngine/JIT/JIT.cpp View 10 chunks +28 lines, -15 lines 0 comments Download
M lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp View 2 chunks +8 lines, -4 lines 0 comments Download
M lib/ExecutionEngine/JIT/JITEmitter.cpp View 7 chunks +14 lines, -17 lines 0 comments Download
M tools/lli/lli.cpp View 3 chunks +8 lines, -7 lines 0 comments Download
M unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp View 3 chunks +7 lines, -7 lines 0 comments Download
M unittests/ExecutionEngine/JIT/JITTest.cpp View 9 chunks +10 lines, -12 lines 0 comments Download

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