Author Topic: HJWasm 2.31 release  (Read 2571 times)

mineiro

  • Member
  • ***
  • Posts: 365
Re: HJWasm 2.31 release
« Reply #60 on: May 19, 2017, 04:38:56 AM »
thank you johnsa;
just to feedback you, I have tested hasm with agner fog file PMCTestB64.asm to measure code and works fine.
I'd rather be this ambulant metamorphosis than to have that old opinion about everything

johnsa

  • Member
  • ****
  • Posts: 554
    • Uasm
Re: HJWasm 2.31 release
« Reply #61 on: May 19, 2017, 06:00:13 AM »
Excellent! glad to hear it  :t

GoneFishing

  • Member
  • ****
  • Posts: 958
  • Gone fishing
Re: HJWasm 2.31 release
« Reply #62 on: May 30, 2017, 02:51:07 AM »
Hi JOHNSA,

Back to your test  case from Reply #54 .
Does nix1 test app exit normally for you ? No SEGFAULT ?


 

johnsa

  • Member
  • ****
  • Posts: 554
    • Uasm
Re: HJWasm 2.31 release
« Reply #63 on: May 31, 2017, 10:00:18 AM »
No it doesn't run properly, there is some nonsense code in there reading from bad memory like [rax], it was just an example of the types of invoke/parameter combinations that i was using to verify the invoke generation.
I've put Lin64_2 and Lin64_3 in the package as samples and there are 1 or 2 system v fixes ready too for 2.35 which will be out very shortly (like in a day or so).

GoneFishing

  • Member
  • ****
  • Posts: 958
  • Gone fishing
Re: HJWasm 2.31 release
« Reply #64 on: May 31, 2017, 07:00:18 PM »
Thanks,  JOHNSA

It makes sense now. Anyway your UASM is far far ahead of my expectations and needs .

nidud

  • Member
  • *****
  • Posts: 1386
    • https://github.com/nidud/asmc
Re: HJWasm 2.31 release
« Reply #65 on: June 21, 2017, 12:13:14 AM »
I was interested in measure the UTF-BOM test.

Code: [Select]
6396 ClockTicks: \hjwasm\hjwasm32 -q @ml.rsp
4789 ClockTicks: \hjwasm\hjwasm64 -q @ml.rsp
6646 ClockTicks: \hasm\hasm32 -q @ml.rsp
4961 ClockTicks: \hasm\hasm64 -q @ml.rsp
4976 ClockTicks: \uasm\uasm64 -q @ml.rsp

The point of the test was to measure the implementation using rewind() in the UTF-BOM test, hence the reason to add more (small) files to the test. The result above shows a minor change (6396/6646 and 4789/4961) with less files tested.

Moving the test to ProcessFile() in parser.c may be better.
Code: [Select]
void ProcessFile( struct asm_tok tokenarray[] )
{
    if ( ModuleInfo.EndDirFound == FALSE && GetTextLine( CurrSource ) ) {

if ( CurrSource[0] == 0xEF && CurrSource[1] == 0xBB && CurrSource[2] == 0xBF )
    strcpy( CurrSource, &CurrSource[3] );
do {
    if ( PreprocessLine( CurrSource, tokenarray ) ) {
ParseLine( tokenarray );
if ( Options.preprocessor_stdout == TRUE && Parse_Pass == PASS_1 )
    WritePreprocessedLine( CurrSource );
    }
} while ( ModuleInfo.EndDirFound == FALSE && GetTextLine( CurrSource ) );
    }
    return;
}

johnsa

  • Member
  • ****
  • Posts: 554
    • Uasm
Re: HJWasm 2.31 release
« Reply #66 on: June 22, 2017, 06:24:25 PM »
Good find,

It sounds like a fair 5% gain when running across a set of files! I'll move the check into ProcessFile then.