[svn:parrot] r46347 - trunk/tools/dev

bacek at svn.parrot.org bacek at svn.parrot.org
Thu May 6 12:36:48 UTC 2010


Author: bacek
Date: Thu May  6 12:36:48 2010
New Revision: 46347
URL: https://trac.parrot.org/parrot/changeset/46347

Log:
Migrate pbc_to_exe to StringBuilder.

Modified:
   trunk/tools/dev/pbc_to_exe.pir

Modified: trunk/tools/dev/pbc_to_exe.pir
==============================================================================
--- trunk/tools/dev/pbc_to_exe.pir	Thu May  6 12:30:33 2010	(r46346)
+++ trunk/tools/dev/pbc_to_exe.pir	Thu May  6 12:36:48 2010	(r46347)
@@ -221,7 +221,7 @@
     .local pmc codestring
     .local int size
 
-    codestring = new [ 'ResizableStringArray' ]
+    codestring = new [ 'StringBuilder' ]
     push codestring, "const Parrot_UInt1 program_code[] = {"
     size = 0
 
@@ -248,10 +248,6 @@
     push codestring, "\n"
     goto code_loop
   code_done:
-    # Join current strings to avoid storing too much
-    $S0 = join '', codestring
-    codestring = 0
-    push codestring, $S0
     goto read_loop
 
   read_done:
@@ -268,7 +264,7 @@
         }
 END_OF_FUNCTION
 
-    $S0 = join '', codestring
+    $S0 = codestring
     .return ($S0)
 
   err_infile:
@@ -317,7 +313,7 @@
     .local pmc codestring
     .local int size
 
-    codestring = new ['ResizableStringArray']
+    codestring = new ['StringBuilder']
 
     push codestring, "const char * program_code =\n"
     push codestring, '"'
@@ -347,10 +343,6 @@
     push codestring, '"'
     goto code_loop
   code_done:
-    # Join current strings to avoid storing too much
-    $S0 = join '', codestring
-    codestring = 0
-    push codestring, $S0
     goto read_loop
 
   read_done:
@@ -370,7 +362,7 @@
         }
 END_OF_FUNCTION
 
-    $S0 = join '', codestring
+    $S0 = codestring
     .return ($S0)
 
   err_infile:
@@ -453,7 +445,7 @@
 
 
     .local pmc codestring
-    codestring  = new [ 'ResizableStringArray' ]
+    codestring  = new [ 'StringBuilder' ]
     push codestring, "#include <windows.h>\n"
     push codestring, rc_constant_defines
     push codestring, "const unsigned int bytecode_size = "
@@ -505,7 +497,7 @@
     die "RC command failed"
 
   rc_ok:
-    $S0 = join '', codestring
+    $S0 = codestring
     .return ($S0)
 
   err_h_open:


More information about the parrot-commits mailing list