PDA

View Full Version : New SoftWire release


Nick
09-06-2004, 07:55 AM
Download: SoftWire 4.5.0 (https://sourceforge.net/project/showfiles.php?group_id=55307&package_id=50390).

SoftWire is a run-time code generator. It is written in C++ and creates x86 functions. It can be used for a script compiler or to optimize inner loops. An introduction can be found here: Tutorial (http://softwire.sourceforge.net/tutorial.html). It is also the key technology behind swShader (http://sw-shader.sourceforge.net/), my DirectX 9-like software renderer.

The new feature for this release is to allow code to be created from a C++ expression. Operator overloading makes the calls to the SoftWire run-time intrinsics to generate the corresponding code. The optimizer makes sure that most redundant operations are eliminated. For example:

Int emitMul(Int a, Int b)
{
return a * b;
}

This function does not compute a * b, it generates the code for a multiplication. So for a script compiler, you can just write what the code has to do in C++, and SoftWire takes care of all the rest. This new feature also allows to quickly turn static C++ code into dynamically compiled and optimized C++ code. Conditional execution becomes conditional compilation.

Enjoy!

davepermen
09-06-2004, 08:00 AM
heck thats cute! :D you do all the nice work for us :D anubis, we should finally get something real up to plug softwire into !! :D

anubis
09-06-2004, 08:01 AM
be sure to have me as an admirer on this board :)

anubis
09-06-2004, 08:10 AM
dave : yeah... i tried out subversion... maybe that's the version control system we want. our problem is that we never got around to find a way to share source

Mihail121
09-06-2004, 09:37 AM
UhU! New release of SoftWire!! Nick, i'm always filled with joy when you release a new version of that! I've been following this project (swShader and SoftWire) since you've released the first demo with it!

SnprBoB86
09-06-2004, 09:57 AM
I didn't quite follow how subversion got brought up. But if you are looking for a free source control solution, I highly recomend it. Also, TortoiseSVN is extreamly useful for Windows SVN users, although it is not as mature as TortoiseCVS.

anubis
09-06-2004, 09:59 AM
SnprBoB86 : dave and i are planning on co-writing something but never started, mainly because we couldn't decide on how to share the source. did you try the subversion plugin for visual studio ?

davepermen
09-06-2004, 03:16 PM
i've heard good things about subversion. can't wait to connect softwire with .NET 2.0, too ..

the power of lowest level paired with the power of highest level.

SnprBoB86
09-06-2004, 05:25 PM
@anubis:

I did not try any VS plug-in. However, I do not think you really need it if you use Tortoise.

Why?
You do not need to check out files with CVS or SVN. Everyone operates on their own local sandbox and changes it however they like and then merge their changes with the server's copy.

I use TortoiseCVS at work. My solution to not having a plug-in was to pin a shortcut to the root source folder on my start menu. When working collaboratively, before I start I right click the icon and choose "CVS Update" which downloads my teamates changes. I then work until I have completed a feature or bug fix or major change. Then I right click the shortcut and choose "CVS Commit".

The update requires no additional user input.
The commit requires writing a comment and presents a list of changed/added/removed files. You can right click a file and see a change history or launch a comparison between the current server and local versions.

As you can see, they is very limited interaction with the CVS/SVN system. The only benifit to integration is that you can select a file right in the IDE to update individually or commit individually, but I rarely find a need to do that.

One thing I particuarly like in Tortoise is that if you use "Details" view in explorer, you can add columns such as "Status" and choose to "Show in groups". So right in explorer I can seperate out ignored files and easily see a summary of which files I have changed. That would be difficult to do in the IDE.

That all said: If the plug-in works fine, install it and use it! It can't hurt at all and probably can prove useful once in a while.

anubis
09-06-2004, 05:52 PM
i've used Tortoise so far, too and i'm happy with it. i just heard about a surbversion plugin but wanted to spare me the pain of trying it out

Dia Kharrat
09-06-2004, 05:58 PM
I use Perforce, which is commercial quality and very reliable. It's free to use for two accounts or open source projects. Subversion is good as well (much better than CVS).