Commit Graph

40 Commits

Author SHA1 Message Date
Bryce Denney 13bb61838e - add comments describing how blur-translate works 2002-04-17 22:51:58 +00:00
Bryce Denney 8dbf420ac5 - move common definitions into blur-translate.h, which is included by
both blur-translate.c and all translated code when it is compiled.
- use DO_*() macros in blur-translate.h to implement the switch() statement
  in the emulate function, so that the same code is really used for both
  emulation and translation.
2002-04-17 21:53:33 +00:00
Bryce Denney 05d6a719b9 - print checksum after running each one
- minor fix
2002-04-17 21:30:15 +00:00
Bryce Denney 59572dcbcf - add command line args to let you choose reference implementation,
emulation, or translation.
- allow multiple timers
- report time required to translate and compile
2002-04-17 19:34:57 +00:00
Bryce Denney 16ec33a673 - add blur-translate, which has a somewhat cleaned-up interface to the
dynamic translation.  I added a structure called a CodeBlock that
  points to the instruction list, the dynamic library handle, and the
  function pointer.  To translate a CodeBlock, just call
  translate_block (block).
2002-04-17 08:12:49 +00:00
Bryce Denney 5fd7c60491 - add BLUR_DYNAMIC_TRANSLATE3 which generates C code, compiles it into
a dynamic library, loads it, and runs it.  Requires libtool.
2002-04-17 07:15:02 +00:00
Bryce Denney 8ad83d2588 - add -DBLUR_DYNAMIC_TRANSLATE3 which generates code, compiles it into
a shared library, and then dlopens it!
2002-04-17 07:13:55 +00:00
Bryce Denney 2c23c66580 - little script to make it easy to compile a .c file into a shared library 2002-04-17 07:07:57 +00:00
Bryce Denney 80e8d62be6 - add definitions for a new type of dyn translation 2002-04-17 05:17:14 +00:00
Bryce Denney f33ab1728b - rename symbol TOP_OF_TRANSLATED_FUNCTION to BEGIN_TRANSLATED_FUNCTION 2002-04-17 05:16:47 +00:00
Bryce Denney 2d87c60a34 - add BLUR_DYNAMIC_TRANSLATE2, which produces code that inserts the
loop updates into the translated function so that the loop can be
  optimized.
2002-04-17 05:15:37 +00:00
Bryce Denney da49759323 - add another dynamic translation test (#2) 2002-04-17 05:14:01 +00:00
Bryce Denney ec70461406 - finally clean up Makefile, add dynamic translation code 2002-04-17 04:21:15 +00:00
Bryce Denney 75af26d25f - auxilliary file included by translate1.c 2002-04-17 04:19:03 +00:00
Bryce Denney ac8a29fb3d - use local variable for load_ptr,store_ptr, now that they exist.
- add BLUR_DYNAMIC_TRANSLATE1, a simple code generator that writes to
  translate1.c
- add BLUR_DYNAMIC_TRANSLATE1_TEST that is (statically) linked with
  translate1.c
2002-04-17 04:18:34 +00:00
Bryce Denney 2a3524e2d2 - all target was causing blur-opcode to be compiled, when it shouldn't.
I know, the makefile is a total mess but it works for now.
2002-04-17 02:40:40 +00:00
Bryce Denney 5605922ddc - add blur-opcode and all its variations into the Makefile 2002-04-17 02:31:58 +00:00
Bryce Denney 0995c43dd6 - make the blur look a lot more like an instruction emulator. I defined
a tiny instruction set that can be used to implement a blur filter.
  Experiment with switch, function pointer, and a few different
  forms of "translated" code.
2002-04-17 02:31:36 +00:00
Bryce Denney 50231039fc - add blur_unroll_inner, which unrolls the x2 and y2 loops into
one long statement.
- add nice comment on endifs that says what this is the end of
2002-04-17 02:28:33 +00:00
Bryce Denney 63da4808e5 - fix bug in call to blur_func, causing us to get wrong answer
- dump_array was dumping the input array instead of the output array.
  That didn't make for a very good regression test.
- add warning in BLUR_USE_SWITCH code since it doesn't do the same operation
  as the others.
2002-04-16 22:40:30 +00:00
Bryce Denney c39bd9d302 - provide speed & model of the ultrasparc 2002-04-16 20:08:32 +00:00
Bryce Denney b8cd08ac06 - rename blur-1.2-performance.gnumeric to blur-how-many-instructions.gnumeric
- add spreadsheets for performance summary on several machines,
  analysis of cost of a function call, cost of a switch statement
2002-04-16 19:51:09 +00:00
Bryce Denney 45a03bf2d5 - add performance numbers for all variations of blur on my home machine 2002-04-16 18:16:58 +00:00
Bryce Denney 90af02f43a - add several more implementations of the blur function to measure
the cost of function calls, switch statements, and function pointers.
2002-04-16 18:16:01 +00:00
Bryce Denney cb7f9d9c37 - add several more variations on blur.c 2002-04-16 18:15:03 +00:00
Bryce Denney 03febb4e7c - correct order of magnitude error in the function call overhead, measured
as number of instructions.  Oops.
- add info about cost of switch statements
2002-04-16 17:32:55 +00:00
Bryce Denney bb0b22dca1 - gnumeric spreadsheet in which I calculated performance of native machine
versus bochs
2002-04-16 16:48:58 +00:00
Bryce Denney a02fe540cb - add performance measurements on different machines, and some data on
how much a function call costs.
2002-04-16 16:47:17 +00:00
Bryce Denney 7cd78c3427 - compile blur.c in a few more configurations: with profiling and
code coverage, and with a new switch called BLUR_USE_FUNCTION_CALL
2002-04-16 16:46:46 +00:00
Bryce Denney b6c94bebdb - add compile option to change innermost loop into a function call
to measure function call overhead.
- always call dump fn so I can do regression test
2002-04-16 16:08:18 +00:00
Bryce Denney 8d53729ed3 - add rcs version 2002-04-16 14:30:47 +00:00
Bryce Denney 8dec872375 - check in a performance test case, blur.c. See README for what I hope
to do with it.
2002-04-16 14:28:29 +00:00
Bryce Denney 815a86e06b - in compile-all script, allow multiple patches to be applied
- in NOTES, added more results from Alpha-Linux
2001-06-07 01:33:56 +00:00
Bryce Denney d8b68dc2d4 - checked in version should run workload.img, not normal.img 2001-06-06 19:36:41 +00:00
Bryce Denney 9bbdf84fd4 - add bochs092, no-cpu-array-for-1proc 2001-06-06 17:06:16 +00:00
Bryce Denney 1c9d3f877f - added linux-alpha results from a longer run 2001-06-06 17:05:47 +00:00
Bryce Denney 9e548fdddf - uncomment everything by default so that you can build them all 2001-06-05 17:48:49 +00:00
Bryce Denney 4f92caf7c6 - add last-minute performance numbers 2001-06-05 17:48:24 +00:00
Bryce Denney 59321a9cc2 - default should be all existing ../bochs* files 2001-06-05 17:47:59 +00:00
Bryce Denney d9f83730c5 - initial checkin of bochs benchmarking stuff 2001-06-05 17:41:23 +00:00