jit

C# application Performance profile shows huge JIT compiler load

I am running performance profile for a C# application on a virtual machine. The results show huge load of "JIT Compiler". When I dig further in, it shows something called "Class Loader" as the only method getting called by JIT compiler. What do I do to bring "JIT compiler" load down? ...

How to write a JIT library?

I've browsed through many JIT libraries. But I'd like to learn how to write one. Softwire looked like nice. Though what the emitter interface should do? Can I do something better than existing libraries? How do I support inline caching? ...

Is the .NET JIT-compiled code cached? Where?

A .NET program is first compiled into MSIL code. When it is executed, the JIT compiler will compile it into native machine code. I am wondering: Where is these JIT-compiled machine code stored? Is it only stored in address space of the process? But since the second startup of the program is much faster than the first time, I think th...

Embeddable formula interpreter

I need something to embed in my C/C++ program to interpret formulas of the like x*log(x) or sin(x). I would like something small and simple, otherwise I can just embed Python, or Ch, or Scheme, or you name it. But all I need is simple formulas. I have searched the web without luck. Although I don't require it, performance (e.g., the use ...

How is JIT compiled code injected in memory and executed?

"Consider a typical Windows x86 or AMD64 architecture, the memory is divided in executable sections that cannot be written to and data sections that can be written to but cannot be executed (think DEP)." "JIT compiles methods in-memory, does (generally) not store anything to disk, instead moves it around where the...

Will the .NET JIT inline a small function that calls another small function?

I would like to know - will the .NET JITter recursively inline small functions called from other small functions? Just for example: public static float Square(float value) { return value * value; } public static float Cube(float value) { return Square(value) * value; } If I call Cube from somewhere, will it inline all the wa...

If I target .NET 2.0, can I still get runtime features from newer versions?

I'm pretty pleased with targeting .NET 2.0 for my XNA games on the basis that it is more widely available (and I can still use nice C# 3.0 language features). But I recently came across an article saying that the .NET 3.5 SP1 JIT added inlining of value-type methods (something that, as a game developer, I use a lot of). So my question ...

Is it better to store value as variable or call method again?

Recently, I started learning some Java. From what I've already learned about JVM it looks like JIT makes it pretty fast on operations requiring CPU cycles (i.e. calling a method) but also makes it hungry for memory. So when I need same output from same method as before, is it generally better approach to store the output from before in v...

Java code and JIT compilation

Hey, Java code is compiled to bytecode which it is portable across many platforms. But Java also is JIT compiled which happens on the fly. Does this mean Java is compile twice? first by us to produce the bytecode and the second by the JVM? Thanks. ...

.NET runtime vs. Java Hotspot: Is .NET one generation behind?

According to the information I could gather on .NET and Java execution environment, the current state of affairs is follows: Modern Java VM are capable of performing continuous recompilation, which combined with profiling can yield great performance improvements. Older JVMs employed JIT. More information in this article: http://www.i...

How can I view the disassembly of optimised jitted .NET code?

For one reason or another, I sometimes find it useful or just interesting to look at the optimised compiler output for a function. For unmanaged C/C++ code, my favourite way to do this has been to compile in Release mode, stick a breakpoint in the function of interest, run, and view the disassembly in Visual Studio when it hits the brea...

How does Hadoop's RunJar method distribute class/jar files across nodes?

I'm trying to use JIT compilation in clojure to generate mapper and reducer classes on the fly. However, these classes aren't being recognized by the JobClient (it's the usual ClassNotFoundException.) If I AOT compile the Mapper,Reducer and Tool, and run the job using RunJar, everything seems fine. After looking through the source, it s...

Java JIT Compiler causing OutOfMemoryError

An application that we have recently started sporadically crashing with a message about "java.lang.OutOfMemoryError: requested 8589934608 bytes for Chunk::new. Out of swap space?". I've looked around on the net, and everywhere suggestions are limited to revert to a previous version of Java fiddle with the memory settings use client in...

what functions are included in a JVM

What are the functions of the JVM? All I know are: JIT compiler GC memory allocator What are the steps it does when you load a Java application? I am wondering because if I compare the loading time of a Java application with these steps: InitializeNativeTarget on LLVM some GC initialization some Qt/GTK/whatever init some JIT/ahead...

LLVM jit and native

I don't understand how LLVM JIT relating to normal no JIT compile and documentation isn't good. I elaborate example suppose using clang front end: Case 1: I compile C file to native with clang/llvm. This flow I understand is like gcc flow - I get my x86 executable and that runs Case 2: I compile into some kind of LLVM IR that runs on...

Registering extern function with clang's JIT?

Im trying to register an extern function with clangs JIT without success. Heres the function im trying to call: extern "C" int myFunction(int val) { fprintf(stderr, "success!"); return 1; } Heres the code im using to register it: llvm::FunctionType* ft = llvm::FunctionType::get(llvm::Type::getInt32Ty(llvm::getGlobalContext()), ...

Why does C# compiler kick in the second time?

I have a WinForm app. I compile it, double-click on it. Predictably, csc.exe kicks in, then goes away, and the application comes up. I am assuming that at this point the application has been jitted, so no reason for csc.exe to kick in ever again. I then quit the app and start it again. I see csc.exe kick in again. What's going on...

Open souce virtual machine

I'm looking for a fast and much lightweight as possible open source virtual machine for implementing my custom programming language. The virtual machine should support some minimal set of bytecode (like LLVM IR), but can easily embedable from a C++ application (which filters out LLVM from the list). It should be wrriten in C/C++. I'm l...

C# - Is "volatile" really needed as a keyword?

As I read deeper and deeper into the meaning of the volatile keyword, I keep saying to myself "this is way into implementation, this should not be a part of a high level programming language". I mean, the fact that CPUs cache the data should be interesting for the JIT compiler, not to the C# programmer. A considerable alternative might ...

Looking for LLVM-based language which allows to reload part of binary on-the-fly

Are the any GIL-less LLVM-based languages, targeted mainly for JIT-execution which allows to reload PART of the code on the fly? Like re-compile 1 class, and reload it without stopping the whole program. Anyone tryed that? Any chance on doing that with clang (surely, with great deal of developers caution, restriction and manual sta...