News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

HJWasm 2.25 release

Started by johnsa, April 06, 2017, 01:34:51 AM

Previous topic - Next topic

johnsa

Ok,

Grab 2.25 from the site or Github.

New features and updates:

1) Fixed another 16byte alignment issue for stackbase RSP.
2) Optimised some internal hashing, character validation and file buffering in the assembler, has reduced assembly times by about 5%
3) Added OPTION REDZONE:{yes/no} support for SystemV ABI to enable or disable this optimisation.
4) Added a full OO system and language extension set through the new macro engine. (This will be documented shortly).

jj2007

Fine for my 32-bit sources, but with my 64-bit code templates I get a namespace conflict:
Error A2143: Symbol redefinition: INTERFACE

The offending line is from WinExtra.inc: INTERFACE equ IDirectDraw

See http://www.masmforum.com/board/index.php?topic=1647.msg12669#msg12669 for its usage.

That must have been introduced with version 2.25, because 2.24 of 4 April works fine.

johnsa

Run it with -nomlib

INTERFACE has become a reserved word.
-nomlib will disable that, if you don't need it.

Or you could rename INTERFACE equ IDirectDraw to DDINTERFACE equ IDirectDraw ?

Also how is the speed now? It should be even a touch better than before.

jj2007

Speed is fine, although my timings are not very exact. About 5%, as you wrote above.

aw27

Quote from: johnsa on April 06, 2017, 01:34:51 AM
Grab 2.25 from the site or Github.
It works now for what I got here.

powershadow

If include file not found, I get "Error A2168: General Failure", without any explanation.
Previous (2.24) version shows "Error A2106" for all not found files and even try's to compile the source.

Update: Even after correcting the path i got the same error, 2.24 compile this source fine.
Tested on Hjwasm32.


johnsa

powershadow, please try the version on the site (package) now. Still 2.25 dated 6th of April.

powershadow

Quote from: johnsa on April 06, 2017, 08:21:35 PM
powershadow, please try the version on the site (package) now. Still 2.25 dated 6th of April.
Error A2168: General Failure - fixed. But i can't compile all this new oop stuff. I get "Error A2209:Syntax error: CLASS" The same error for all new reserved words: "CLASS","CMETHOD","CSTATIC"... Maybe need some additional options for compile?
Would be great if in 'Samples' directory was samples for all new features since 2.22. :t

johnsa

It looks like it needs some solid examples, noted from the other thread too.

I'm going to make a quick example of the OO stuff in action and add it to the samples, I will also supply it separately.

You're right too, we need to update the samples to include some examples of all the new features, I'm on it! :)

johnsa

There was a small bug in the $DELETE implementation which I've fixed. The new packages are up on the site and Git, dated 7th April.
The packages now include a new sample oo1.asm which demonstrates a few of the new features and using the OO layer.

powershadow

OO stuff only for x64? Because x32 totally don't understand it.

johnsa

Correct. The whole macro lib feature is only for 64bit. We didn't look to implement anything for 32bit, a) because there is such a wealth of existing 32bit stuff to use in various includes and libraries and b)
64bit isn't just the future .. it's the present so why go back to 32bit :)

coder

Quote from: johnsa on April 08, 2017, 03:57:41 AM
64bit isn't just the future .. it's the present so why go back to 32bit :)

Yeah! That's the spirit bro!  :greenclp:

Adamanteus

 Nice and unique, but a little unfixing consistency, so till it is not new keywords - maybe better to have abilities to turn them off by macro-order number ?!