AsmJit moving to github + new version

92 views
Skip to first unread message

Petr Kobalíček

unread,
Feb 2, 2014, 6:40:42 AM2/2/14
to asmjit-dev
Hi list,

AsmJit is moving to github:

  https://github.com/kobalicekp/asmjit

Since there is no way how to add downloads to google-code project anymore it's probably the best solution. I think github would also enable more contributions from AsmJit users and faster bug fixing both by using pull request feature of github.

AsmJit will use github issue tracker from now, but this group will probably remain, at least some time.

There is an updated version of AsmJit on github that contains completely new codebase. Everything has been refactored and cleaned-up, new features were added and public API has no dramatic changes.

Enjoy!

Best regards
Petr

Ryan Gonzalez

unread,
Feb 2, 2014, 4:33:54 PM2/2/14
to asmji...@googlegroups.com
*watching*



--
 
---
You received this message because you are subscribed to the Google Groups "asmjit-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to asmjit-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
Ryan
If anybody ever asks me why I prefer C++ to C, my answer will be simple: "It's becauseslejfp23(@#Q*(E*EIdc-SEGFAULT. Wait, I don't think that was nul-terminated."

Palo Marton

unread,
Feb 3, 2014, 9:41:40 AM2/3/14
to asmjit-dev
Few questions:

- is this the version with the new register allocator?
- does it contains also support for immediates in function call?
- how fast it is compared to previous version? I mean speed of code generation. In our app we generate sometimes more than 100MB of compiled code, so speed of compilation is very important for us.

Palo


--

Petr Kobalíček

unread,
Feb 3, 2014, 10:09:32 AM2/3/14
to asmjit-dev
Hi Palo,

1. Yes, this version uses the new register allocator that uses liveness analysis information. It should handle jumps/loops much better than previous one, but there are still areas for improvements, especially when it comes to 'modified'/'unmodified' state changes.

2. Yes, currently you can assign immediates to gp arguments (probably the most used), but I will extend for sure to allow float/mm/xmm arguments as well.

3. Well, from my private tests, Assembler speed doubled and Compiler speed is similar to the old asmjit, but in some cases it can be a bit slower if it uses look ahead extensively (there is look-ahead feature that looks if a variable will be allocated to a specific register at deciding step. I plan to put this to API so you can control it).

Hope that helps.

If you have a framework to test the performance and also the validity of the code generated I would be glad to see some real numbers. My benchmarks were mostly synthetic.

Cheers,
Petr

Palo Marton

unread,
Feb 5, 2014, 3:29:39 AM2/5/14
to asmjit-dev
Thanks for the info. Unfortunately at the moment I am busy with some other work, so I can not test it.

We have done extensive tests with the last version and fixed it to usable state for us. (I have also added support for immediates in function calls). We have also profiled it with Intel VTune - from there I remember that most time was spent in some "saveState" function in compiler, where it looped over many variables (we generate big functions with hundreds of GPVars). At the moment it is in "release ready" state for us.

When I will have some time, I will check this new version of asmjit and let you know how it performs in our app.

Palo

Petr Kobalíček

unread,
Feb 5, 2014, 6:18:11 AM2/5/14
to asmjit-dev
Hi Palo,

That would be amazing. I'm interested in performance regression an as well in stability issues. The new version is basically completely rewritten so there can be issues I didn't catch; however, I think that the new register allocator is pretty stable and there are a lot of pedantic assertions in Compiler implementation.

I'm also interested in improving performance. I think that asmjit compiler is pretty good, but what is not really good is the guessing which register to alloc/spill - the look ahead can be costly.

Cheers,
Petr
Reply all
Reply to author
Forward
0 new messages