Gilles Duboscq gilwooden at
Thu Feb 14 14:37:48 PST 2013


You are comparing it to right?
Maybe our assembler is more comparable to assembler_x86.cpp which is about
5500 lines.
The ad files describe the architecture and a way to match C2 Nodes to C2
MachNodes while the assemblers in assembler_x86.cpp or
are more simple, they are just a sequence of function that can emit the
code corresponding to the x86 mnemonics.
I'm also not sure if those implement all of x86's instructions.
For example in the Graal ones, we probably only have subset we need, which
is the one needed to emit x86_64 code, sse2 for floating point arithmetic
and a handful of x87 function for Math intrinsics.

Also, no we do not use Hotspot's C++ assemblers (assembler_x86.cpp, mainly
used for C1, stubs, templates... I suppose) or the architecture
descriptions ( used by C2)

- Gilles

On Thu, Feb 14, 2013 at 11:22 PM, Vasanth Venkatachalam <
Vasanth.Venkatachalam at> wrote:

> Hi,
> I had a cursory glance at and noticed that its only
> around 3000 lines long, whereas Hotspot's assembler_x86.cpp is around 10000
> lines.
> Are all the x86 instructions encoded in If not, how
> does Graal process the remaining instructions? Does it piggyback on
> Hotspot's assembler?
> Vasanth

More information about the graal-dev mailing list