Jump to content


New SoftWire release


10 replies to this topic

#1 Nick

    Senior Member

  • Members
  • PipPipPipPip
  • 1227 posts
  • LocationOttawa, Ontario, Canada

Posted 06 September 2004 - 01:55 PM

Download: SoftWire 4.5.0.

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. It is also the key technology behind swShader, 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!

#2 davepermen

    Senior Member

  • Members
  • PipPipPipPip
  • 1306 posts

Posted 06 September 2004 - 02:00 PM

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
davepermen.net
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....

#3 anubis

    Senior Member

  • Members
  • PipPipPipPip
  • 2225 posts

Posted 06 September 2004 - 02:01 PM

be sure to have me as an admirer on this board :)
If Prolog is the answer, what is the question ?

#4 anubis

    Senior Member

  • Members
  • PipPipPipPip
  • 2225 posts

Posted 06 September 2004 - 02:10 PM

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
If Prolog is the answer, what is the question ?

#5 Mihail121

    Senior Member

  • Members
  • PipPipPipPip
  • 1059 posts

Posted 06 September 2004 - 03:37 PM

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!

#6 SnprBoB86

    Valued Member

  • Members
  • PipPipPip
  • 112 posts

Posted 06 September 2004 - 03:57 PM

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.
Brandon Bloom
http://brandonbloom.name

#7 anubis

    Senior Member

  • Members
  • PipPipPipPip
  • 2225 posts

Posted 06 September 2004 - 03:59 PM

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 ?
If Prolog is the answer, what is the question ?

#8 davepermen

    Senior Member

  • Members
  • PipPipPipPip
  • 1306 posts

Posted 06 September 2004 - 09: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.
davepermen.net
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....

#9 SnprBoB86

    Valued Member

  • Members
  • PipPipPip
  • 112 posts

Posted 06 September 2004 - 11: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.
Brandon Bloom
http://brandonbloom.name

#10 anubis

    Senior Member

  • Members
  • PipPipPipPip
  • 2225 posts

Posted 06 September 2004 - 11: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
If Prolog is the answer, what is the question ?

#11 Dia

    DevMaster Staff

  • Administrators
  • 1121 posts

Posted 06 September 2004 - 11: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).





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users