jit

How to find native instructions generated from class file

I would like to learn what native instructions Java's JIT compiler generates when it loads a class file. Is there any way of knowing it? I am working in Linux on a 586 processor. And I am using Sun's JDK 1.6 update 21. Is there any tool that I can use to find out what I am looking for? ...

Where did int 3 go?

Hi, In 32 bits mode programming I used to employ int 3 in my programs a lot for stopping at a given location with the debugger (embedding the instruction in the source). Now in 64 bits it seems to not be working, producing a very ordinary SIGSEGV under gdb and destroying the program beyond hope ("Program terminated with signal SIGSEGV,...

Is the SPARC architecture still relevant as a JIT compiler target on high-end servers?

X86 and AMD64 are the most important architectures for many computing environments (desktop, servers, and supercomputers). Obviously a JIT compiler should support both of them to gain acceptance. Until recently, the SPARC architecture was the logical next step for a compiler, specially on high-end servers markets. But now that Sun is de...

Would the CLR optimize and inline this GetHashCode()?

Let's say we have a value type like this, where the fields are readonly and initialized during construction: public struct SomeValue { private readonly Int32 field1; private readonly Int32 field2; ... } Also, let's say we have a helper class that lets us implement GetHashCode() for composite types in a reusable manner: p...

Conditional JIT-compilation

In Java we can do conditional compilation like so private static final boolean DO_CHECK = false; ... if (DO_CHECK) { // code here } The compiler will see that DO_CHECK is always false and remove the entire if-statement. However, sometimes, especially in library code, we can't use conditional compilation, but I'm wondering, can we...

How long does a 500k line .net app take to load?

Suppose I have an application written in native C++ (over 500k lines of code) and I want to port it to .NET (C#). One thing I'm worried about is the JIT compiler. It takes my native code compiler over 30 seconds to compile. Does that mean that each time the user starts my C# app, it's going to take that long just to load it (since the JI...

Java/JVM (HotSpot): Is there a way to save JIT performance gains at compile time?

When I measure the throughput of my Java application, I see a 50% performance increase over time: For the first 100K messages, I get ~3,000 messages per second For the second 100K messages, I get ~4,500 messages per second. I believe the performance improves as JIT optimizes the execution path. The reason given for not saving the JI...

Linux equivalent for VirtualProtectEx?

I am doing some simple JITing, and use VirtualProtectEx under Windows to mark pages as executable. What would be the equivalent of that under Linux, and preferably, other POSIX/Unix-like OSes too? ...

Is the Main method JIT'd?

As far I recall the function is JIT'd when it is called second time. What about the Main method? Would the code inside be JIT'd? If I mesure some chunk of code, should I wrapped it in a function? ...

Why does .net use a JIT compiler instead of just compiling the code once on the target machine?

The title pretty much sums it up but I was wondering why systems like .net compile code every time it is run instead of just compiling it once on the target machine? ...

Runtime or compile time for platform-specific libraries?

I'm creating a library in C++. It links against Windows libraries on Windows and Linux libraries on Linux. It's abstracted, all is well. However, is it feasible to dynamically detect, load and use libraries (and copying header files for use) so it could be used on any platform if it was running under LLVM JIT? ...

C# based Windows Service - Tries to do JIT Debugging in production

I am getting this error in my event logs for a service I put into production: An unhandled win32 exception occurred in RivWorks.FeedHandler.exe [5496]. Just-In-Time debugging this exception failed with the following error: Debugger could not be started because no user is logged on. I have it installed and running under a ...

Do OS X applications written in Mono have the same features as MonoTouch?

What I mean by this is: MonoTouch integrates and binds to Interface Builder and the full Cocoa Framework. MonoTouch applications compile with the runtime, so there is no JIT, and no runtime needs to be present on the host OS. Can OS X applications written in Mono take advantage of these MonoTouch features? ...

Disable Java JIT for a specific method/class?

I'm having an issue in my Java application where the JIT breaks the code. If I disable the JIT, everything works fine, but runs 10-20x slower. Is there any way to disable the JIT for a specific method or class? Edit: I'm using Ubuntu 10.10, getting the same results both with: OpenJDK Runtime Environment (IcedTea6 1.9) (6b20-1.9-0ubun...

JIT compilers for math

I am looking for a JIT compiler or a small compiler library that can be embedded in my program. I indent to use it to compile dynamically generated code that perform complex number arithmetics. The generated code are very simple in structure: no loops, no conditionals, but they can be quite long (a few MB when compiled by GCC). The pe...

What are the downsides of JIT compilation?

Just In Time Compilation has a number of theoretical advantages: it has more information about the machine, the state of flags, and how the code is used. It allows you to avoid time-consuming compilation before running, speeding up the development cycle. Simplistically, JIT compilation seems superior as an approach; there is some overhe...

llvm/tools: lli REPL

Hi. I was wondering if someone has had experience with the llvm/tools - lli interpreter/JIT-compiler (cf. http://llvm.org/docs/GettingStarted.html#tools). I am interested in any information that you can provide (speed, complexity, implementations, etc.). Thanks. UPDATE: Okay how would bitcode execution be compared to LuaJIT VM execut...