Skip to content

Commit 1f2e103

Browse files
DinoVmeta-codesync[bot]
authored andcommitted
Make prologue generation match order that it's emitted
Summary: After all of the other diffs have landed this is just some cleanup to make things a little more understandable. Currently we're using cursors and doing a bunch of out of order code generation and things are kind of scattered around haphazardly. This gives us a "simple" generatePrologueBlocks which handles all of the prologue generation in the order it shows up in the final generated code. Reviewed By: alexmalyshev Differential Revision: D102081402 fbshipit-source-id: 863015605bc97dd11e5991249a0dddcb840b7b8b
1 parent bbf0398 commit 1f2e103

5 files changed

Lines changed: 190 additions & 220 deletions

File tree

cinderx/Jit/codegen/environ.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ struct Environ {
4242
asmjit::Label hard_exit_label;
4343
asmjit::Label exit_label;
4444
asmjit::Label gen_resume_entry_label;
45+
asmjit::Label finish_frame_setup;
46+
asmjit::Label correct_arg_count;
47+
asmjit::Label prologue_exit;
48+
asmjit::Label wrapper_exit;
49+
50+
// Static type check jump table, resolved after code generation.
51+
void** static_typecheck_table{nullptr};
52+
std::vector<std::pair<int, jit::lir::BasicBlock*>>
53+
static_typecheck_jt_entries;
4554

4655
// Resume label shared between StoreGenYieldPoint/YieldInitial and
4756
// ResumeGenYield. Created by translateStoreGenYieldPoint or

0 commit comments

Comments
 (0)