| 2138 | } |
| 2139 | |
| 2140 | __forceinline char * das_string_builder_temp ( Context * __context__, const SimNode_AotInteropBase & node ) { |
| 2141 | StringBuilderWriter writer; |
| 2142 | DebugDataWalker<StringBuilderWriter> walker(writer, PrintFlags::string_builder); |
| 2143 | for ( int i=0, is=node.nArguments; i!=is; ++i ) { |
| 2144 | walker.walk(node.argumentValues[i], node.types[i]); |
| 2145 | } |
| 2146 | auto length = writer.tellp(); |
| 2147 | if ( length ) { |
| 2148 | auto str = __context__->allocateTempString(writer.c_str(), uint32_t(length), &node.debugInfo); |
| 2149 | __context__->freeTempString(str, &node.debugInfo); |
| 2150 | return str; |
| 2151 | } else { |
| 2152 | return nullptr; |
| 2153 | } |
| 2154 | } |
| 2155 | |
| 2156 | |
| 2157 | struct das_stack_prologue { |