<SNIP>

Jimmy, it's possible to insert free() automatically in jitted code to
reclaim some short-lived objects. This can be a supplementary to the
GC, and probably improve the overall performance. Tingpeng had
previous discussions with me on this topic actually.


Sorry I don't know the context.
So the short-lived objects you mentioned can be invoked both in the
native code and java code? And, should this "free" register to GC to
tell GC the object has been reclaimed? Or the alloc and free process
can be totally un-known to GC?
And do VM offer some API for these functions?
Please tell me if I miss something :)

I'm very interested in this free() as well, I'll follow this thread.

TingPeng, the runtime helper is a way in DRLVM for the VM to provide
JIT certain supports, e.g.,  exception throwing, etc.  One of the
important usages of runtime helper is to provide a way of fast native
method invocation. That is, when you know a native method never causes
GC, you probably can use a runtime helper for JIT to generate code to
invoke this native method directly without going through the JNI
stuff. This makes native call fast.

You can find runtime helper code in jit_runtime_support related files.
Please go search VM_RT_AASTORE in vm source code, you will see in
vmcore/src/util/ia32/base/jit_runtime_support_ia32.cpp how aastore can
implemented in native code to support JIT.    VM_RT_GC_HEAP_WRITE_REF
is an example for write barrier native implementation
gc_heap_slot_write_ref().

Please let me know if you have any further questions.

Thanks. xiaofeng

<SNIP>


--

Best Regards!

Jimmy, Jing Lv
China Software Development Lab, IBM

Reply via email to