Dynamic memory allocation in Intel Assembly on Linux

For the version 0.6.0 of the EDDI Compiler, I have written a simple dynamic memory allocation function in assembly. I did that to avoid using malloc in my assembly code. As this is not an easy subject, this article will explain the main parts of writing this function.
As the EDDI Compiler creates program for Linux platform, this article will focus on writing a little …

EDDI Compiler 0.6.1 : Function return types

eddic Logo

I just released a new version of the EDDI Compiler : eddic 0.6.1
This is a minor update with only one change on the language: the functions can now return something. The return values are returned in registers (%eax for int and %eax:%ebx for strings). At this time, it is not possible to return an array from a function.
The other changes of this version are …

Linux Mint 12 (Lisa) released!

Linux Mint Logo

Linux Mint 12 has just been released!
This new version includes a Gnome 3 using a specific extension MGSE (Mint Gnome Sheel Extensions) and a Gnome 2 UI (MATE). You will find also a lot of other improvements.
From several months, Linux Mint is the most used Linux distribution.
For more informations, you can read the official announcement

How to print strings and integers in Intel Assembly on Linux ?

In this post, we’ll learn how to print strings and integers to the console on Linux using Intel Assembly. In this post, I’ll use the AT&T notation, because it’s the notation used in EDDI.
In EDDI, I have to print strings and numbers to the console, as this is not an easy exercise, I wanted to share my experience here.
On Linux, the only …

EDDI Compiler 0.6.0 : Arrays

eddic Logo

This new version of the EDDI Compiler was faster to finalize than the previous.
The main feature of this release is the use of arrays. You can now use arrays in the EDDI code. You can declare global or local arrays and pass them as parameters to the function. In the assembly, there is certainly still some optimization to perform, but the code works well …

New WordPress theme for the site

Wordpress Logo

After a long time with the old F2 theme, I decided to choose a more modern design. I chose the WP Plus design which is based on the Google Plus Design.
I think that this design is more practical and cleaner for the users and more comfortable.
Moreover, I also took some time to change some of my addons. I replaced All In One …

Boost 1.48.0 has been released

Boost Logo

A new version of Boost is available : Boost 1.48.0
This release includes three new libraries : Locale, Container and Move.
A lot of bug have been fixed and there are also some changes in the existing libraries.

Boost intrusive_ptr : faster shared pointer

Boost Logo

This post will present the Boost intrusive_ptr and its usage in C++ programming.
Recently, I took some time to optimize the parsing performances of the EDDI Compiler. The parsing phase creates a lot of nodes to fill the Abstract Syntax Tree.
One of the way I found was to replace some shared_ptr by some intrusive_ptr of the Boost library.
It’s a faster alternative of …

eddic 0.5.1 : Better assembly generation and faster parsing

I’m very pleased to release the version 0.5.1 of the EDDI Compiler.
It makes now a long time since the last version of eddic, but I started again working frequently on it. This version doesn’t add any new feature to the language, but there are a lot of improvements in the compiler itself.
First of all, the generated assembly has been improved a lot. I …

Effective STL Book Review

Cover

I finished reading the last Effective C++ volume : Effective STL, Scott Meyers.
Again, this book follows the same model as the two others, providing several rules aiming at making you a better (more effective) STL programmer. All the items of this book are centered on the usage of the Standard Template Library (STL).
The first chapters (Containers) gives you several advices for using STL Containers. …