5 #ifndef V8_TORQUE_CSA_GENERATOR_H_ 6 #define V8_TORQUE_CSA_GENERATOR_H_ 10 #include "src/torque/cfg.h" 11 #include "src/torque/declarable.h" 21 : cfg_(cfg), out_(out), linkage_(linkage) {}
24 static constexpr
const char* ARGUMENTS_VARIABLE_STRING =
"arguments";
35 std::string PreCallableExceptionPreparation(
37 void PostCallableExceptionPreparation(
const std::string& catch_name,
38 const Type* return_type,
42 std::string FreshNodeName() {
return "tmp" + std::to_string(fresh_id_++); }
43 std::string FreshCatchName() {
return "catch" + std::to_string(fresh_id_++); }
44 std::string BlockName(
const Block* block) {
45 return "block" + std::to_string(block->id());
48 void ProcessArgumentsCommon(
const TypeVector& parameter_types,
49 std::vector<std::string>* args,
50 std::vector<std::string>* constexpr_arguments,
54 void EmitInstruction(
const Instruction& instruction,
56 #define EMIT_INSTRUCTION_DECLARATION(T) \ 57 void EmitInstruction(const T& instruction, Stack<std::string>* stack); 58 TORQUE_INSTRUCTION_LIST(EMIT_INSTRUCTION_DECLARATION)
59 #undef EMIT_INSTRUCTION_DECLARATION 66 #endif // V8_TORQUE_CSA_GENERATOR_H_