@@ -325,6 +325,24 @@ int CisaBinary::finalizeCisaBinary()
325325 return CM_SUCCESS;
326326}
327327
328+ int CisaBinary::dumpToStream (std::ostream * os)
329+ {
330+ os->write (this ->m_header_buffer , this ->m_header_size );
331+
332+ for (int i = 0 ; i < m_header.num_kernels ; i++)
333+ {
334+ os->write (m_header.kernels [i].cisa_binary_buffer , m_header.kernels [i].size );
335+ os->write (m_header.kernels [i].genx_binary_buffer , m_header.kernels [i].binary_size );
336+ }
337+
338+ for (int i = 0 ; i < m_header.num_functions ; i++)
339+ {
340+ os->write (m_header.functions [i].cisa_binary_buffer , m_header.functions [i].size );
341+ os->write (m_header.functions [i].genx_binary_buffer , m_header.functions [i].binary_size );
342+ }
343+ return CM_SUCCESS;
344+ }
345+
328346int CisaBinary::dumpToFile (std::string binFileName)
329347{
330348 if ( binFileName == " " )
@@ -338,21 +356,9 @@ int CisaBinary::dumpToFile(std::string binFileName)
338356 std::cerr<<" Could not open %s" << binFileName.c_str ()<<std::endl;
339357 return CM_FAILURE;
340358 }
341- os.write (this ->m_header_buffer , this ->m_header_size );
342-
343- for (int i = 0 ; i< m_header.num_kernels ; i++)
344- {
345- os.write (m_header.kernels [i].cisa_binary_buffer , m_header.kernels [i].size );
346- os.write (m_header.kernels [i].genx_binary_buffer , m_header.kernels [i].binary_size );
347- }
348-
349- for (int i = 0 ; i < m_header.num_functions ; i++)
350- {
351- os.write (m_header.functions [i].cisa_binary_buffer , m_header.functions [i].size );
352- os.write (m_header.functions [i].genx_binary_buffer , m_header.functions [i].binary_size );
353- }
359+ int result = dumpToStream (&os);
354360 os.close ();
355- return CM_SUCCESS ;
361+ return result ;
356362}
357363
358364void CisaBinary::writeIsaAsmFile (string filename, string isaasmStr) const
0 commit comments