Home
last modified time | relevance | path

Searched refs:dispatch_table (Results 1 – 14 of 14) sorted by relevance

/ark/runtime_core/runtime/interpreter/
Ddispatch_table.h32 ALWAYS_INLINE inline void SetDispatchTable(const std::array<const void *, N> &dispatch_table) in SetDispatchTable() argument
34 arch::regs::SetDispatchTable(dispatch_table.data()); in SetDispatchTable()
39 [maybe_unused]] const std::array<const void *, N> &dispatch_table) in GetDispatchTable() argument
47 …NE inline void SetDispatchTable([[maybe_unused]] const std::array<const void *, N> &dispatch_table)
52 …NLINE inline const void *const *GetDispatchTable(const std::array<const void *, N> &dispatch_table)
54 return dispatch_table.data();
Dstate.h132 ALWAYS_INLINE inline void SetDispatchTable(const void *const *dispatch_table) in SetDispatchTable() argument
134 return arch::regs::SetDispatchTable(dispatch_table); in SetDispatchTable()
225 void SetDispatchTable([[maybe_unused]] const void *const *dispatch_table) {} in SetDispatchTable() argument
Dinstruction_handler_state.h71 ALWAYS_INLINE void SetDispatchTable(const void *const *dispatch_table) in SetDispatchTable() argument
73 return state_.SetDispatchTable(dispatch_table); in SetDispatchTable()
Dinstruction_handler_base.h184 ALWAYS_INLINE void SetDispatchTable(const void *const *dispatch_table) in SetDispatchTable() argument
186 return state_->SetDispatchTable(dispatch_table); in SetDispatchTable()
/ark/runtime_core/verification/gen/templates/
Dcflow_iterate_inl_gen.h.erb112 std::array<const void*, <%= Panda::dispatch_table.handler_names.size %>> dispatch_table{
113 % Panda::dispatch_table.handler_names.each do |name|
123 goto* dispatch_table[handler.GetPrimaryOpcode()];
133 …<< ". Allowed value is in the interval: [0, <%= Panda::dispatch_table.invalid_non_prefixed_interva…
134 …<< "[<%= Panda::dispatch_table.invalid_non_prefixed_interval.max + 1 %>, <%= Panda::dispatch_table
135 … << "[<%= Panda::dispatch_table.invalid_prefixes_interval.max + 1 %>, 255]";
138 goto* dispatch_table[handler.GetPrimaryOpcode()];
143 …<< ". Allowed value is in the interval: [0, <%= Panda::dispatch_table.invalid_non_prefixed_interva…
144 …<< "[<%= Panda::dispatch_table.invalid_non_prefixed_interval.max + 1 %>, <%= Panda::dispatch_table
145 … << "[<%= Panda::dispatch_table.invalid_prefixes_interval.max + 1 %>, 255]";
[all …]
Dabs_int_inl_gen.h.erb27 std::array<const void*, <%= Panda::dispatch_table.handler_names.size %>> dispatch_table{
28 % Panda::dispatch_table.handler_names.each do |name|
40 goto* dispatch_table[handler.GetPrimaryOpcode()];
59 goto* dispatch_table[handler.GetPrimaryOpcode()];
69 if (secondary_opcode > <%= Panda::dispatch_table.secondary_opcode_bound(p) %> ) {
73 … goto *dispatch_table[<%= Panda::dispatch_table.secondary_opcode_offset(p) %> + secondary_opcode];
Djob_fill_gen.h.erb34 std::array<const void*, <%= Panda::dispatch_table.handler_names.size %>> dispatch_table{
35 % Panda::dispatch_table.handler_names.each do |name|
44 goto* dispatch_table[inst.GetPrimaryOpcode()];
159 …<< ". Allowed value is in the interval: [0, <%= Panda::dispatch_table.invalid_non_prefixed_interva…
160 …<< "[<%= Panda::dispatch_table.invalid_non_prefixed_interval.max + 1 %>, <%= Panda::dispatch_table
161 … << "[<%= Panda::dispatch_table.invalid_prefixes_interval.max + 1 %>, 255]";
172 goto* dispatch_table[inst.GetPrimaryOpcode()];
182 if (secondary_opcode > <%= Panda::dispatch_table.secondary_opcode_bound(p) %> ) {
186 … goto *dispatch_table[<%= Panda::dispatch_table.secondary_opcode_offset(p) %> + secondary_opcode];
/ark/runtime_core/runtime/interpreter/templates/
Dinterpreter-inl_gen.h.erb47 static std::array<const void*, 256 + NUM_PREFIXED + 1> dispatch_table{
48 % Panda::dispatch_table.handler_names.each do |name|
54 SetDispatchTable(dispatch_table);
63 DISPATCH(GetDispatchTable(dispatch_table), state.GetPrimaryOpcode(), label);
84 DISPATCH(GetDispatchTable(dispatch_table), handler.GetExceptionOpcode(), label);
91 DISPATCH(GetDispatchTable(dispatch_table), handler.GetExceptionOpcode(), label);
94 DISPATCH(GetDispatchTable(dispatch_table), handler.GetPrimaryOpcode(), label);
111 ASSERT(secondary_opcode <= <%= Panda::dispatch_table.secondary_opcode_bound(p) %>);
112 …const size_t dispatch_idx = <%= Panda::dispatch_table.secondary_opcode_offset(p) %> + secondary_op…
113 ASSERT(dispatch_idx < dispatch_table.size());
[all …]
/ark/runtime_core/runtime/interpreter/arch/aarch64/
Dglobal_regs.h84 ALWAYS_INLINE inline void SetDispatchTable(const void *const *dispatch_table) in SetDispatchTable() argument
86 g_dispatch_table = dispatch_table; in SetDispatchTable()
Dmacros.h32 : [dispatch_table] "r"(DISPATCH_TABLE), [opcode] "r"(OPCODE)); \
/ark/runtime_core/docs/
Dinterpreter-language-extensions.md12 static std::array<const void*, NUM_OPS> dispatch_table{
70 static std::array<const void*, NUM_OPS> dispatch_table{
/ark/runtime_core/isa/
Dasserts.rb72 !Panda.dispatch_table.invalid_non_prefixed_interval.to_a.empty?
76 !Panda.dispatch_table.invalid_prefixes_interval.to_a.empty?
Disapi.rb460 cached def dispatch_table
/ark/runtime_core/libpandafile/templates/
Dbytecode_instruction-inl_gen.h.erb367 if (((opcode >= <%= Panda::dispatch_table.invalid_non_prefixed_interval.min %>) &&
369 (opcode <= <%= Panda::dispatch_table.invalid_non_prefixed_interval.max %>)) ||
371 ((opcode >= <%= Panda::dispatch_table.invalid_prefixes_interval.min %>) &&
373 (opcode <= <%= Panda::dispatch_table.invalid_prefixes_interval.max %>))) {