svn commit: r1530 - in trunk/yasm: libyasm modules/dbgfmts/codeview modules/dbgfmts/dwarf2 modules/parsers/gas modules/parsers/nasm
peter at tortall.net
peter at tortall.net
Mon May 8 01:08:18 PDT 2006
Author: peter
Date: Mon May 8 01:08:15 2006
New Revision: 1530
Modified:
trunk/yasm/libyasm/bytecode.c
trunk/yasm/libyasm/bytecode.h
trunk/yasm/modules/dbgfmts/codeview/cv-symline.c
trunk/yasm/modules/dbgfmts/dwarf2/dwarf2-aranges.c
trunk/yasm/modules/dbgfmts/dwarf2/dwarf2-info.c
trunk/yasm/modules/objfmts/coff/coff-objfmt.c
trunk/yasm/modules/parsers/gas/gas-bison.y
trunk/yasm/modules/parsers/nasm/nasm-bison.y
Changeset:
http://www.tortall.net/projects/yasm/changeset/1530
Log:
Try to combine as much data as possible into single raw (used to be string)
dataval data bytecode blocks. This drastically cuts down on dataval
overhead for large sets of constant data (savings of 30% or more on peak
memory usage in some cases). We may try to improve this even more down the
road by doing things like combining across multiple data bytecodes and
converting constant instructions into raw bytes.
* bytecode.c (yasm_bc_create_data): Add (optional) yasm_arch operand so that
bytes can be generated from constant values of >1 byte size. Do as much
simplification to constant raw bytes here as possible.
(bytecode_data): No longer a need to remember append_zero.
(bc_data_resolve, bc_data_output): Update to not handle append_zero.
(yasm_dataval): Rename string to raw.
(yasm_dv_create_string): Rename to:
(yasm_dv_create_raw): Here.
* bytecode.h (yasm_dv_create_string): Change into macro that casts parameters
into yasm_dv_create_raw().
(yasm_dv_create_raw): New.
modules: Update for new yasm_bc_create_data() parameter.
More information about the yasm-cvs
mailing list