| /arkcompiler/runtime_core/runtime/entrypoints/ |
| D | entrypoints.yaml | 18 # - external: don't generate entrypoint and bridge declarations, initialize table's element by n… 20 # - intrinsic: this is call of intrinsic wrapped in entrypoint bridge 27 bridge: entrypoint 35 bridge: entrypoint 43 bridge: entrypoint 52 bridge: none 61 bridge: entrypoint 70 bridge: none 79 bridge: entrypoint 88 bridge: entrypoint [all …]
|
| D | entrypoints.rb | 24 …abort "ERROR: 'bridge' field must be specified for #{self.entrypoint}" unless dscr['bridge'] # !se… 33 "#{self.name}Bridge" 37 return !self.bridge.nil? && self.bridge != 'none'
|
| D | entrypoints_gen.S.erb | 22 % if entrypoint.bridge == 'slow_path' 24 % elsif entrypoint.bridge == 'entrypoint' 27 % raise "Unsupported bridge: #{entrypoint.bridge}"
|
| /arkcompiler/runtime_core/docs/ |
| D | deoptimization.md | 65 If the deoptimized method was called from interpreter, `Deoptimize` calls the bridge `DeoptimizeAft… 80 …bridge/arch/aarch64/deoptimization_aarch64.S), [deoptimization_arm.S](../runtime/bridge/arch/arm/d… 84 … current CFrame to I2C(Interpreter To Compile) bridge, set last IFrame's previous frame to this C2… 86 …bridge/arch/aarch64/deoptimization_aarch64.S), [deoptimization_arm.S](../runtime/bridge/arch/arm/d… 131 Details in [bridge.cpp](runtime/bridge/bridge.cpp)
|
| D | runtime-compiled_code-interaction.md | 88 …ld `panda::Frame::prev_` contains a pointer to the previous interpreter (or compiled bridge) frame. 171 ## Calling a function from compiled code: Bridge function 172 The Compiler have an entrypoints table. Each entrypoint contains a link to the Bridge Function. 173 The Bridge Functions are auto-generated for each runtime function to be called using the macro asse… 174 The Bridge Function sets up the Boundary Frame and performs the call to the actual runtime function. 178 * (callee saved regisers goes to Bridge Function stack frame, caller saved registers goes to the cu… 180 * Bridge Function address load and branch intruction 183 The bridge function does: 184 * setup the Bridge Function stack frame 189 Bridge Function stack frame: [all …]
|
| D | on-stack-replacement.md | 152 New cframe is created in the current stack position. But before it we need to insert i2c bridge. 160 c2i - compiled to interpreter code bridge 162 i2c - interpreter to compiled code bridge
|
| /arkcompiler/runtime_core/runtime/ |
| D | BUILD.gn | 164 "bridge/bridge.cpp", 276 "bridge/arch/arm/compiled_code_to_interpreter_bridge_dyn_arm.S", 277 "bridge/arch/arm/compiled_code_to_runtime_bridge_arm.S", 278 "bridge/arch/arm/deoptimization_arm.S", 279 "bridge/arch/arm/interpreter_to_compiled_code_bridge_dyn_arm.S", 283 "bridge/arch/arm/compiled_code_to_interpreter_bridge_arm.S", 284 "bridge/arch/arm/interpreter_to_compiled_code_bridge_arm.S", 288 "bridge/arch/arm/compiled_code_to_interpreter_bridge_armhf.S", 289 "bridge/arch/arm/interpreter_to_compiled_code_bridge_armhf.S", 294 "bridge/arch/arm/compiled_code_to_interpreter_bridge_armsf.S", [all …]
|
| D | CMakeLists.txt | 25 bridge/bridge.cpp 128 bridge/arch/arm/interpreter_to_compiled_code_bridge_arm.S 129 bridge/arch/arm/compiled_code_to_interpreter_bridge_arm.S 130 bridge/arch/arm/compiled_code_to_interpreter_bridge_dyn_arm.S 131 bridge/arch/arm/interpreter_to_compiled_code_bridge_dyn_arm.S 132 bridge/arch/arm/compiled_code_to_runtime_bridge_arm.S 133 bridge/arch/arm/deoptimization_arm.S 138 bridge/arch/arm/interpreter_to_compiled_code_bridge_armhf.S 139 bridge/arch/arm/compiled_code_to_interpreter_bridge_armhf.S 140 bridge/arch/arm/compiled_code_to_interpreter_bridge_dyn_arm.S [all …]
|
| /arkcompiler/runtime_core/runtime/bridge/ |
| D | bridge.cpp | 16 #include "runtime/bridge/bridge.h" 36 const void *bridge = nullptr; in GetCompiledCodeToInterpreterBridge() local 39 bridge = reinterpret_cast<const void *>(CompiledCodeToInterpreterBridgeDyn); in GetCompiledCodeToInterpreterBridge() 42 bridge = reinterpret_cast<const void *>(CompiledCodeToInterpreterBridgeDyn); in GetCompiledCodeToInterpreterBridge() 44 bridge = reinterpret_cast<const void *>(CompiledCodeToInterpreterBridge); in GetCompiledCodeToInterpreterBridge() 47 return bridge; in GetCompiledCodeToInterpreterBridge()
|
| /arkcompiler/runtime_core/compiler/optimizer/templates/intrinsics/ |
| D | get_intrinsics.inl.erb | 25 extern "C" void <%= intrinsic.impl.rpartition('::').last %>Bridge(); 32 extern "C" void <%= impl.rpartition('::').last %>Bridge(); 82 % bridge = intrinsic.respond_to?(:fast_path) ? intrinsic.fast_path : "#{intrinsic.impl.rpartition… 88 …untime_call ? reinterpret_cast<uintptr_t>(<%= "#{intrinsic.impl.rpartition('::').last}Bridge" %>) : 96 return runtime_call ? reinterpret_cast<uintptr_t>(<%= bridge %>) :
|
| D | entrypoints_bridge_asm_macro.inl.erb | 16 // Generate macro for each intrinsic - bridge name, function name, parameters count: 26 ENTRYPOINT <%= implementation %>Bridge, <%= implementation %>, <%= intrn.impl_signature.args.count.…
|
| /arkcompiler/runtime_core/runtime/bridge/arch/amd64/ |
| D | compiled_code_to_runtime_bridge_amd64.S | 159 // Bridge frame: 164 // Bridge frame, slot 1 = npc = retaddr (StackMap stays just after the bridge call) 169 // Bridge frame, slot 2 = COMPILED_CODE_TO_INTERPRETER_BRIDGE flag 171 // Bridge frame, slot 3 = parent frame pointer 190 // call to BoundaryFrame bridge
|
| /arkcompiler/runtime_core/runtime/bridge/arch/arm/ |
| D | compiled_code_to_runtime_bridge_arm.S | 180 …p, #(BRIDGE_FRAME_SIZE - 1 * 4)] // Bridge frame, slot 1 = npc = LR (the StackMap stays just a… 184 …str lr, [sp, #(BRIDGE_FRAME_SIZE - 2 * 4)] // Bridge frame, slot 2 = COMPILED_CODE_TO_INTERPRE… 185 str fp, [sp, #(BRIDGE_FRAME_SIZE - 3 * 4)] // Bridge frame, slot 3 = parent frame pointer 192 …// StackWalker requires callee-saved FP registers to be saved unconditionally in the runtime bridge
|
| /arkcompiler/runtime_core/runtime/templates/ |
| D | intrinsics.h.erb | 21 #include "bridge/bridge.h"
|
| D | bridge_helpers_x86.rb | 23 return "bridge/arch/x86/handle_#{type}_#{name}_x86.S"
|
| D | bridge_helpers_amd64.rb | 31 return "bridge/arch/amd64/handle_#{name}_amd64.S"
|
| D | bridge_helpers_armhf.rb | 31 return "bridge/arch/arm/handle_#{name}_armhf.S"
|
| D | bridge_helpers_arm.rb | 37 return "bridge/arch/arm/handle_#{name}_arm.S"
|
| D | bridge_helpers_aarch64.rb | 37 return "bridge/arch/aarch64/handle_#{name}_aarch64.S"
|
| /arkcompiler/runtime_core/runtime/arch/aarch64/ |
| D | call_runtime.S | 194 …lr, [sp, #(BRIDGE_FRAME_SIZE - 8)] // Bridge frame, slot 1 = npc = LR (the StackMap is just aft… 198 str lr, [sp, #(BRIDGE_FRAME_SIZE - 16)] // Bridge frame, slot 2 = COMPILED_CODE_TO_INTERPRETER 199 str fp, [sp, #(BRIDGE_FRAME_SIZE - 24)] // Bridge frame, slot 3 = parent frame pointer 205 …// StackWalker requires callee-saved FP registers to be saved unconditionally in the runtime bridge
|
| /arkcompiler/runtime_core/irtoc/backend/compiler/ |
| D | codegen_fastpath.h | 32 …* Slow path is invoked via code-to-runtime bridge, which forms boundary frame and saves callee reg… 35 …* To call C-implemented entrypoint (slow path) we need a separate bridge, because it shouldn't sav…
|
| /arkcompiler/runtime_core/runtime/include/ |
| D | value.h | 24 #include "runtime/bridge/bridge.h"
|
| D | method-inl.h | 27 #include "runtime/bridge/bridge.h" 238 … // Create C2I bridge frame in case of previous frame is a native frame or other compiler frame. in InvokeInterpretedCode() 239 // But create only if the previous frame is not a C2I bridge already. in InvokeInterpretedCode() 241 C2IBridge bridge; in InvokeInterpretedCode() local 243 bridge = {0, reinterpret_cast<uintptr_t>(current_frame), COMPILED_CODE_TO_INTERPRETER, in InvokeInterpretedCode() 246 frame->SetPrevFrame(reinterpret_cast<Frame *>(&bridge.v_[1])); in InvokeInterpretedCode() 251 …// 1. If caller is native method, then C2I bridge, created above, is not complete. It can be fixed… in InvokeInterpretedCode()
|
| /arkcompiler/runtime_core/runtime/tests/ |
| D | interpreter_test_resolve_ctor_class.cpp | 36 #include "runtime/bridge/bridge.h"
|
| D | interpreter_test_resolve_field.cpp | 36 #include "runtime/bridge/bridge.h"
|