summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--all_pairs/source/anagram/anagram.c10
-rw-r--r--all_pairs/source/anagram/anagram_stdlib.c5
-rw-r--r--all_pairs/source/anagram/anagram_stdlib.h2
-rw-r--r--all_pairs/source/audiobeam/audiobeam.c12
-rw-r--r--all_pairs/source/audiobeam/audiobeamlibmalloc.c7
-rw-r--r--all_pairs/source/audiobeam/audiobeamlibmalloc.h2
-rw-r--r--all_pairs/source/g723_enc/g723_enc.c39
-rw-r--r--all_pairs/source/huff_dec/huff_dec.c12
-rw-r--r--baseline/source/anagram/anagram.c10
-rw-r--r--baseline/source/anagram/anagram_stdlib.c5
-rw-r--r--baseline/source/anagram/anagram_stdlib.h2
-rw-r--r--baseline/source/audiobeam/audiobeam.c12
-rw-r--r--baseline/source/audiobeam/audiobeamlibmalloc.c7
-rw-r--r--baseline/source/audiobeam/audiobeamlibmalloc.h2
-rw-r--r--baseline/source/g723_enc/g723_enc.c39
-rw-r--r--baseline/source/huff_dec/huff_dec.c12
16 files changed, 96 insertions, 82 deletions
diff --git a/all_pairs/source/anagram/anagram.c b/all_pairs/source/anagram/anagram.c
index 5c1f29a..1061470 100644
--- a/all_pairs/source/anagram/anagram.c
+++ b/all_pairs/source/anagram/anagram.c
@@ -337,6 +337,8 @@ void anagram_ReadDict( void )
337 337
338void anagram_init( void ) 338void anagram_init( void )
339{ 339{
340 // Reset heap
341 anagram_free_all();
340 anagram_ReadDict(); 342 anagram_ReadDict();
341} 343}
342 344
@@ -657,14 +659,10 @@ void _Pragma( "entrypoint" ) anagram_main( void )
657int main(int argc, char **argv) 659int main(int argc, char **argv)
658{ 660{
659 SET_UP 661 SET_UP
660 //int jobsComplete; 662 for_each_job {
661 //int maxJobs=100;
662 //for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
663 START_LOOP
664 anagram_init(); 663 anagram_init();
665 anagram_main(); 664 anagram_main();
666 STOP_LOOP 665 }
667 //}
668 WRITE_TO_FILE 666 WRITE_TO_FILE
669 return anagram_return(); 667 return anagram_return();
670} 668}
diff --git a/all_pairs/source/anagram/anagram_stdlib.c b/all_pairs/source/anagram/anagram_stdlib.c
index 994350b..c766a5e 100644
--- a/all_pairs/source/anagram/anagram_stdlib.c
+++ b/all_pairs/source/anagram/anagram_stdlib.c
@@ -142,6 +142,11 @@ void *anagram_malloc( unsigned int numberOfBytes )
142 return currentPos; 142 return currentPos;
143} 143}
144 144
145void anagram_free_all( void )
146{
147 anagram_freeHeapPos = 0;
148}
149
145void anagram_bzero( char *p, unsigned long len ) 150void anagram_bzero( char *p, unsigned long len )
146{ 151{
147 unsigned long i; 152 unsigned long i;
diff --git a/all_pairs/source/anagram/anagram_stdlib.h b/all_pairs/source/anagram/anagram_stdlib.h
index 0e745d5..536fcc3 100644
--- a/all_pairs/source/anagram/anagram_stdlib.h
+++ b/all_pairs/source/anagram/anagram_stdlib.h
@@ -24,6 +24,8 @@
24 24
25void *anagram_malloc( unsigned int numberOfBytes ); 25void *anagram_malloc( unsigned int numberOfBytes );
26 26
27void anagram_free_all( void );
28
27void anagram_qsort( void *va, unsigned long n, unsigned long es ); 29void anagram_qsort( void *va, unsigned long n, unsigned long es );
28 30
29#endif 31#endif
diff --git a/all_pairs/source/audiobeam/audiobeam.c b/all_pairs/source/audiobeam/audiobeam.c
index 50ebfff..7d89f06 100644
--- a/all_pairs/source/audiobeam/audiobeam.c
+++ b/all_pairs/source/audiobeam/audiobeam.c
@@ -104,6 +104,8 @@ void audiobeam_init()
104 unsigned int i; 104 unsigned int i;
105 unsigned char *p; 105 unsigned char *p;
106 volatile char bitmask = 0; 106 volatile char bitmask = 0;
107 // Reset heap
108 audiobeam_free_all();
107 109
108 /* 110 /*
109 Apply volatile XOR-bitmask to entire input array. 111 Apply volatile XOR-bitmask to entire input array.
@@ -578,16 +580,12 @@ void _Pragma( "entrypoint" ) audiobeam_main( void )
578 580
579int main( int argc, char **argv ) 581int main( int argc, char **argv )
580{ 582{
581 //SET_UP 583 SET_UP
582 int jobsComplete; 584 for_each_job {
583 int maxJobs=100;
584 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
585 // START_LOOP
586 audiobeam_init(); 585 audiobeam_init();
587 audiobeam_main(); 586 audiobeam_main();
588 // STOP_LOOP
589 } 587 }
590 //WRITE_TO_FILE 588 WRITE_TO_FILE
591 589
592 return ( audiobeam_return() ); 590 return ( audiobeam_return() );
593} 591}
diff --git a/all_pairs/source/audiobeam/audiobeamlibmalloc.c b/all_pairs/source/audiobeam/audiobeamlibmalloc.c
index 50c3073..a81b634 100644
--- a/all_pairs/source/audiobeam/audiobeamlibmalloc.c
+++ b/all_pairs/source/audiobeam/audiobeamlibmalloc.c
@@ -11,4 +11,9 @@ void *audiobeam_malloc( unsigned int numberOfBytes )
11 /* Get a 4-byte address for alignment purposes */ 11 /* Get a 4-byte address for alignment purposes */
12 audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); 12 audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc );
13 return currentPos; 13 return currentPos;
14} \ No newline at end of file 14}
15
16void audiobeam_free_all( void )
17{
18 audiobeam_freeHeapPos = 0;
19}
diff --git a/all_pairs/source/audiobeam/audiobeamlibmalloc.h b/all_pairs/source/audiobeam/audiobeamlibmalloc.h
index eccbdb9..354bf0e 100644
--- a/all_pairs/source/audiobeam/audiobeamlibmalloc.h
+++ b/all_pairs/source/audiobeam/audiobeamlibmalloc.h
@@ -24,4 +24,6 @@
24 24
25void *audiobeam_malloc( unsigned int numberOfBytes ); 25void *audiobeam_malloc( unsigned int numberOfBytes );
26 26
27void audiobeam_free_all( void );
28
27#endif 29#endif
diff --git a/all_pairs/source/g723_enc/g723_enc.c b/all_pairs/source/g723_enc/g723_enc.c
index 209e3ce..646adcd 100644
--- a/all_pairs/source/g723_enc/g723_enc.c
+++ b/all_pairs/source/g723_enc/g723_enc.c
@@ -172,6 +172,9 @@ short g723_enc_fitab[16] = {0, 0, 0, 0x200, 0x200, 0x200, 0x600, 0xE00,
172 0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0 172 0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0
173 }; 173 };
174 174
175static unsigned int g723_enc_out_buffer = 0;
176static int g723_enc_out_bits = 0;
177static int g723_enc_i = 0;
175 178
176/* 179/*
177 Declaration of macros 180 Declaration of macros
@@ -753,24 +756,21 @@ g723_enc_pack_output(
753 unsigned char code, 756 unsigned char code,
754 int bits ) 757 int bits )
755{ 758{
756 static unsigned int out_buffer = 0;
757 static int out_bits = 0;
758 unsigned char out_byte; 759 unsigned char out_byte;
759 static int i = 0; 760
760 761 g723_enc_out_buffer |= ( code << g723_enc_out_bits );
761 out_buffer |= ( code << out_bits ); 762 g723_enc_out_bits += bits;
762 out_bits += bits; 763 if ( g723_enc_out_bits >= 8 ) {
763 if ( out_bits >= 8 ) { 764 out_byte = g723_enc_out_buffer & 0xff;
764 out_byte = out_buffer & 0xff; 765 g723_enc_out_bits -= 8;
765 out_bits -= 8; 766 g723_enc_out_buffer >>= 8;
766 out_buffer >>= 8;
767 //fwrite(&out_byte, sizeof (char), 1, fp_out); 767 //fwrite(&out_byte, sizeof (char), 1, fp_out);
768 //fwrite(&out_byte, 1, 1, fp_out); 768 //fwrite(&out_byte, 1, 1, fp_out);
769 g723_enc_OUTPUT[i] = out_byte; 769 g723_enc_OUTPUT[g723_enc_i] = out_byte;
770 i = i + 1; 770 g723_enc_i = g723_enc_i + 1;
771 } 771 }
772 772
773 return ( out_bits > 0 ); 773 return ( g723_enc_out_bits > 0 );
774} 774}
775 775
776/* 776/*
@@ -815,6 +815,9 @@ void g723_enc_init()
815{ 815{
816 int i; 816 int i;
817 volatile int x = 0; 817 volatile int x = 0;
818 g723_enc_out_buffer = 0;
819 g723_enc_out_bits = 0;
820 g723_enc_i = 0;
818 g723_enc_init_state( &g723_enc_state ); 821 g723_enc_init_state( &g723_enc_state );
819 822
820 _Pragma( "loopbound min 256 max 256" ) 823 _Pragma( "loopbound min 256 max 256" )
@@ -872,16 +875,12 @@ void _Pragma( "entrypoint" ) g723_enc_main()
872 875
873int main( int argc, char **argv ) 876int main( int argc, char **argv )
874{ 877{
875 //SET_UP 878 SET_UP
876 int jobsComplete; 879 for_each_job {
877 int maxJobs=9;
878 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
879 // START_LOOP
880 g723_enc_init(); 880 g723_enc_init();
881 g723_enc_main(); 881 g723_enc_main();
882 // STOP_LOOP
883 } 882 }
884 //WRITE_TO_FILE 883 WRITE_TO_FILE
885 return ( g723_enc_return() ); 884 return ( g723_enc_return() );
886} 885}
887 886
diff --git a/all_pairs/source/huff_dec/huff_dec.c b/all_pairs/source/huff_dec/huff_dec.c
index 58b40d3..e0ebc19 100644
--- a/all_pairs/source/huff_dec/huff_dec.c
+++ b/all_pairs/source/huff_dec/huff_dec.c
@@ -144,6 +144,8 @@ void huff_dec_init( void )
144{ 144{
145 huff_dec_input_pos = 0; 145 huff_dec_input_pos = 0;
146 huff_dec_output_pos = 0; 146 huff_dec_output_pos = 0;
147 huff_dec_byte_nb_to_read = 0;
148 huff_dec_val_to_read = 0;
147} 149}
148 150
149 151
@@ -379,15 +381,11 @@ void _Pragma( "entrypoint" ) huff_dec_main( void )
379 381
380int main( int argc, char **argv ) 382int main( int argc, char **argv )
381{ 383{
382 //SET_UP 384 SET_UP
383 int jobsComplete; 385 for_each_job {
384 int maxJobs=5;
385 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
386 // START_LOOP
387 huff_dec_init(); 386 huff_dec_init();
388 huff_dec_main(); 387 huff_dec_main();
389 // STOP_LOOP
390 } 388 }
391 //WRITE_TO_FILE 389 WRITE_TO_FILE
392 return ( huff_dec_return() ); 390 return ( huff_dec_return() );
393} 391}
diff --git a/baseline/source/anagram/anagram.c b/baseline/source/anagram/anagram.c
index 5c1f29a..1061470 100644
--- a/baseline/source/anagram/anagram.c
+++ b/baseline/source/anagram/anagram.c
@@ -337,6 +337,8 @@ void anagram_ReadDict( void )
337 337
338void anagram_init( void ) 338void anagram_init( void )
339{ 339{
340 // Reset heap
341 anagram_free_all();
340 anagram_ReadDict(); 342 anagram_ReadDict();
341} 343}
342 344
@@ -657,14 +659,10 @@ void _Pragma( "entrypoint" ) anagram_main( void )
657int main(int argc, char **argv) 659int main(int argc, char **argv)
658{ 660{
659 SET_UP 661 SET_UP
660 //int jobsComplete; 662 for_each_job {
661 //int maxJobs=100;
662 //for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
663 START_LOOP
664 anagram_init(); 663 anagram_init();
665 anagram_main(); 664 anagram_main();
666 STOP_LOOP 665 }
667 //}
668 WRITE_TO_FILE 666 WRITE_TO_FILE
669 return anagram_return(); 667 return anagram_return();
670} 668}
diff --git a/baseline/source/anagram/anagram_stdlib.c b/baseline/source/anagram/anagram_stdlib.c
index 994350b..c766a5e 100644
--- a/baseline/source/anagram/anagram_stdlib.c
+++ b/baseline/source/anagram/anagram_stdlib.c
@@ -142,6 +142,11 @@ void *anagram_malloc( unsigned int numberOfBytes )
142 return currentPos; 142 return currentPos;
143} 143}
144 144
145void anagram_free_all( void )
146{
147 anagram_freeHeapPos = 0;
148}
149
145void anagram_bzero( char *p, unsigned long len ) 150void anagram_bzero( char *p, unsigned long len )
146{ 151{
147 unsigned long i; 152 unsigned long i;
diff --git a/baseline/source/anagram/anagram_stdlib.h b/baseline/source/anagram/anagram_stdlib.h
index 0e745d5..536fcc3 100644
--- a/baseline/source/anagram/anagram_stdlib.h
+++ b/baseline/source/anagram/anagram_stdlib.h
@@ -24,6 +24,8 @@
24 24
25void *anagram_malloc( unsigned int numberOfBytes ); 25void *anagram_malloc( unsigned int numberOfBytes );
26 26
27void anagram_free_all( void );
28
27void anagram_qsort( void *va, unsigned long n, unsigned long es ); 29void anagram_qsort( void *va, unsigned long n, unsigned long es );
28 30
29#endif 31#endif
diff --git a/baseline/source/audiobeam/audiobeam.c b/baseline/source/audiobeam/audiobeam.c
index 50ebfff..7d89f06 100644
--- a/baseline/source/audiobeam/audiobeam.c
+++ b/baseline/source/audiobeam/audiobeam.c
@@ -104,6 +104,8 @@ void audiobeam_init()
104 unsigned int i; 104 unsigned int i;
105 unsigned char *p; 105 unsigned char *p;
106 volatile char bitmask = 0; 106 volatile char bitmask = 0;
107 // Reset heap
108 audiobeam_free_all();
107 109
108 /* 110 /*
109 Apply volatile XOR-bitmask to entire input array. 111 Apply volatile XOR-bitmask to entire input array.
@@ -578,16 +580,12 @@ void _Pragma( "entrypoint" ) audiobeam_main( void )
578 580
579int main( int argc, char **argv ) 581int main( int argc, char **argv )
580{ 582{
581 //SET_UP 583 SET_UP
582 int jobsComplete; 584 for_each_job {
583 int maxJobs=100;
584 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
585 // START_LOOP
586 audiobeam_init(); 585 audiobeam_init();
587 audiobeam_main(); 586 audiobeam_main();
588 // STOP_LOOP
589 } 587 }
590 //WRITE_TO_FILE 588 WRITE_TO_FILE
591 589
592 return ( audiobeam_return() ); 590 return ( audiobeam_return() );
593} 591}
diff --git a/baseline/source/audiobeam/audiobeamlibmalloc.c b/baseline/source/audiobeam/audiobeamlibmalloc.c
index 50c3073..a81b634 100644
--- a/baseline/source/audiobeam/audiobeamlibmalloc.c
+++ b/baseline/source/audiobeam/audiobeamlibmalloc.c
@@ -11,4 +11,9 @@ void *audiobeam_malloc( unsigned int numberOfBytes )
11 /* Get a 4-byte address for alignment purposes */ 11 /* Get a 4-byte address for alignment purposes */
12 audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); 12 audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc );
13 return currentPos; 13 return currentPos;
14} \ No newline at end of file 14}
15
16void audiobeam_free_all( void )
17{
18 audiobeam_freeHeapPos = 0;
19}
diff --git a/baseline/source/audiobeam/audiobeamlibmalloc.h b/baseline/source/audiobeam/audiobeamlibmalloc.h
index eccbdb9..354bf0e 100644
--- a/baseline/source/audiobeam/audiobeamlibmalloc.h
+++ b/baseline/source/audiobeam/audiobeamlibmalloc.h
@@ -24,4 +24,6 @@
24 24
25void *audiobeam_malloc( unsigned int numberOfBytes ); 25void *audiobeam_malloc( unsigned int numberOfBytes );
26 26
27void audiobeam_free_all( void );
28
27#endif 29#endif
diff --git a/baseline/source/g723_enc/g723_enc.c b/baseline/source/g723_enc/g723_enc.c
index 209e3ce..646adcd 100644
--- a/baseline/source/g723_enc/g723_enc.c
+++ b/baseline/source/g723_enc/g723_enc.c
@@ -172,6 +172,9 @@ short g723_enc_fitab[16] = {0, 0, 0, 0x200, 0x200, 0x200, 0x600, 0xE00,
172 0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0 172 0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0
173 }; 173 };
174 174
175static unsigned int g723_enc_out_buffer = 0;
176static int g723_enc_out_bits = 0;
177static int g723_enc_i = 0;
175 178
176/* 179/*
177 Declaration of macros 180 Declaration of macros
@@ -753,24 +756,21 @@ g723_enc_pack_output(
753 unsigned char code, 756 unsigned char code,
754 int bits ) 757 int bits )
755{ 758{
756 static unsigned int out_buffer = 0;
757 static int out_bits = 0;
758 unsigned char out_byte; 759 unsigned char out_byte;
759 static int i = 0; 760
760 761 g723_enc_out_buffer |= ( code << g723_enc_out_bits );
761 out_buffer |= ( code << out_bits ); 762 g723_enc_out_bits += bits;
762 out_bits += bits; 763 if ( g723_enc_out_bits >= 8 ) {
763 if ( out_bits >= 8 ) { 764 out_byte = g723_enc_out_buffer & 0xff;
764 out_byte = out_buffer & 0xff; 765 g723_enc_out_bits -= 8;
765 out_bits -= 8; 766 g723_enc_out_buffer >>= 8;
766 out_buffer >>= 8;
767 //fwrite(&out_byte, sizeof (char), 1, fp_out); 767 //fwrite(&out_byte, sizeof (char), 1, fp_out);
768 //fwrite(&out_byte, 1, 1, fp_out); 768 //fwrite(&out_byte, 1, 1, fp_out);
769 g723_enc_OUTPUT[i] = out_byte; 769 g723_enc_OUTPUT[g723_enc_i] = out_byte;
770 i = i + 1; 770 g723_enc_i = g723_enc_i + 1;
771 } 771 }
772 772
773 return ( out_bits > 0 ); 773 return ( g723_enc_out_bits > 0 );
774} 774}
775 775
776/* 776/*
@@ -815,6 +815,9 @@ void g723_enc_init()
815{ 815{
816 int i; 816 int i;
817 volatile int x = 0; 817 volatile int x = 0;
818 g723_enc_out_buffer = 0;
819 g723_enc_out_bits = 0;
820 g723_enc_i = 0;
818 g723_enc_init_state( &g723_enc_state ); 821 g723_enc_init_state( &g723_enc_state );
819 822
820 _Pragma( "loopbound min 256 max 256" ) 823 _Pragma( "loopbound min 256 max 256" )
@@ -872,16 +875,12 @@ void _Pragma( "entrypoint" ) g723_enc_main()
872 875
873int main( int argc, char **argv ) 876int main( int argc, char **argv )
874{ 877{
875 //SET_UP 878 SET_UP
876 int jobsComplete; 879 for_each_job {
877 int maxJobs=9;
878 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
879 // START_LOOP
880 g723_enc_init(); 880 g723_enc_init();
881 g723_enc_main(); 881 g723_enc_main();
882 // STOP_LOOP
883 } 882 }
884 //WRITE_TO_FILE 883 WRITE_TO_FILE
885 return ( g723_enc_return() ); 884 return ( g723_enc_return() );
886} 885}
887 886
diff --git a/baseline/source/huff_dec/huff_dec.c b/baseline/source/huff_dec/huff_dec.c
index 58b40d3..e0ebc19 100644
--- a/baseline/source/huff_dec/huff_dec.c
+++ b/baseline/source/huff_dec/huff_dec.c
@@ -144,6 +144,8 @@ void huff_dec_init( void )
144{ 144{
145 huff_dec_input_pos = 0; 145 huff_dec_input_pos = 0;
146 huff_dec_output_pos = 0; 146 huff_dec_output_pos = 0;
147 huff_dec_byte_nb_to_read = 0;
148 huff_dec_val_to_read = 0;
147} 149}
148 150
149 151
@@ -379,15 +381,11 @@ void _Pragma( "entrypoint" ) huff_dec_main( void )
379 381
380int main( int argc, char **argv ) 382int main( int argc, char **argv )
381{ 383{
382 //SET_UP 384 SET_UP
383 int jobsComplete; 385 for_each_job {
384 int maxJobs=5;
385 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
386 // START_LOOP
387 huff_dec_init(); 386 huff_dec_init();
388 huff_dec_main(); 387 huff_dec_main();
389 // STOP_LOOP
390 } 388 }
391 //WRITE_TO_FILE 389 WRITE_TO_FILE
392 return ( huff_dec_return() ); 390 return ( huff_dec_return() );
393} 391}