473,698 Members | 2,171 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Implementing Just-In-Time Compilation

[I am writing this in the hope of finding an answer - where google
fails, surely Usenet can help?]

Hello,

I am in the planning process for developing a VM (Virtual Machine). I
have been researching various aspects for developing a VM in C++ for a
(semi?-)dynamic language, and am looking at the possibility of
implementing JIT for the VM. How would one go about an implementation?
Is the bytecode translated into native instructions similar to ASM, and
then assembled completely into processor-specific instructions? It
seems so, but are there any pointers available in the right direction
in the form of papers, tutorials and the like?

Regards,
Vladimir Lushnikov

Feb 19 '06 #1
5 1989
TB
Vladimir Lushnikov skrev:
[I am writing this in the hope of finding an answer - where google
fails, surely Usenet can help?]

Hello,

I am in the planning process for developing a VM (Virtual Machine). I
have been researching various aspects for developing a VM in C++ for a
(semi?-)dynamic language, and am looking at the possibility of
implementing JIT for the VM. How would one go about an implementation?
Is the bytecode translated into native instructions similar to ASM, and
then assembled completely into processor-specific instructions? It
seems so, but are there any pointers available in the right direction
in the form of papers, tutorials and the like?


Try

comp.compilers

The people there most likely knows.

--
TB @ SWEDEN
Feb 19 '06 #2

Vladimir Lushnikov wrote:
[I am writing this in the hope of finding an answer - where google
fails, surely Usenet can help?]

Hello,

I am in the planning process for developing a VM (Virtual Machine). I
have been researching various aspects for developing a VM in C++ for a
(semi?-)dynamic language, and am looking at the possibility of
implementing JIT for the VM. How would one go about an implementation?
Is the bytecode translated into native instructions similar to ASM, and
then assembled completely into processor-specific instructions? It
seems so, but are there any pointers available in the right direction
in the form of papers, tutorials and the like?


I would have to say that if you need to ask these questions perhapse
you should start with a smaller project. What you are talking about
doing takes years of research and a level of understanding of compiler
design and machine architecture that surpasses most expert programmers.

Feb 19 '06 #3
I was hoping that I was wrong and you didn't have to say that...

My plans for starting such a project is to start with either an
interpreter or a very simple virtual machine that can run some basic
Ruby, and work out the next step then. I am currently reading "Virtual
Machine Design and Implementation in C/C++" by Bill Blunden.

Any other reading starter suggestions?

Feb 19 '06 #4
Vladimir Lushnikov wrote:
I was hoping that I was wrong and you didn't have to say that...
That shouldn't stop you. I remember a time much people were laughing
about a nobody creating his own UNIX-like system for a PC...
My plans for starting such a project is to start with either an
interpreter or a very simple virtual machine that can run some
basic Ruby, and work out the next step then. I am currently reading
"Virtual Machine Design and Implementation in C/C++" by Bill
Blunden.

Any other reading starter suggestions?


You should have a look at java, I'd assume its the VM with the most
experience regarding just-in-time compilation. There are also groups
(or mailing lists) which discuss different aspects of this topic,
I'm fairly sure the java community can help you finding it.

And now - what was your C++ question? ;)

Mathias
Feb 19 '06 #5
Vladimir Lushnikov wrote:
I am in the planning process for developing a VM (Virtual Machine). I
have been researching various aspects for developing a VM in C++ for a
(semi?-)dynamic language, and am looking at the possibility of
implementing JIT for the VM. How would one go about an implementation?


You can join the parrot community. They use C, not C++, but they have a
bunch of work in parsing, VM design and implementation, JIT, and all of
those things.

--
Salu2
Feb 19 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
1892
by: Troels F. Smit | last post by:
Where can I find information on implementing a search function on my site ? -- Mvh. Troels F. Smit
1
14934
by: MKoleoso | last post by:
Problem: C#- Unable to create instance of a class implementing from an interface I have: namespace someNamespace { public __gc class SomeClass1 { }
0
1162
by: Andy | last post by:
Could you tell my about the main stages of implementing XML/EDI? Thank you.
2
398
by: Paul | last post by:
Have a problem/Question - I have created a C# class that inherits from MarshalByRefObject as well as implements a custom Interface that I have created. The thing that is not working is that when I try to use this class in a different assembly I cannot reference it even when using it's namespace qualifier. It has been refereced in my project. I even put the namespace in the Imports/using statements in the top of the class file (I've...
6
5654
by: Kerry Sanders | last post by:
I am working on a project for work where I need a specialized type converter to convert the value of a string which is edited in a grid back to the underlying object type from the cell. The value in the cell is displayed as a string from the ToString() method in the class. Anyway, I am trying to implement my converter, but I am having a little trouble understanding it fully and how exactly to implement some of the methods, especially...
0
846
by: MarkoH | last post by:
I have a function which generates code and compiles assembly for an abstract web service class based on given WSDL. The same as wsdl.exe does, just that I do it from code through usage of CodeDom and Microsoft.CSharp namespaces. What I want to do is to provide implementation to this class either by changing the generated code or constructing new class based on abstrat one. It would be enough just to have empty implementation { }, I just...
11
1732
by: David Thielen | last post by:
Hi; I am writing a class that implements IDbConnection. The i/f defines a method BeginTransaction() that returns an IDbTransaction. I want to define this as returning a DbTransaction (as DbConnection does). It makes sense to me that this is legal as DbTransaction implements IDbTransaction so it does meet the contract of returning an IDbTransaction. But it won't compile - how do I get this to work? There must be a way as DbConnection...
7
2512
by: Edward Diener | last post by:
Since implement the assign operator for reference types eliminates the ability to assign a reference object to a reference variable of the same type or base class of that type, I assume that implementing the assign operator ( = ), to assign the value of a type from one object to another rather than the reference, should only be done for value types. Is there any other reason for implementing the assign operator for a type ?
1
2132
by: Marko Vuksanovic | last post by:
I used the following code for implementing a file upload progress indicator, using UpdateProgress Panel, though I have a problem that FileUpload.Has File always returns false. Any suggestions what might be wrong? FileUpload2.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="FileUpload2.aspx.cs" Inherits="FileUpload2" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
6
5862
by: csharpula csharp | last post by:
Hello , I would like to build a tree structure in c# using the arraylist or hash table. what is the best way to implement it if I want to add children and to print my tree. Thank you! *** Sent via Developersdex http://www.developersdex.com ***
0
9157
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8893
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8861
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7721
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6518
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5860
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4615
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3045
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2327
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.