Regarding JIT becoming slower,we are using the
default c helpers (in ccm_runtime.c) for object
allocation. So it's not using the fastlock at all I
Object allocation does not use fastlocking, but it does use what we call a microlock, which accomplishes something similar in the contended case. The assembler code in ccmallocate_cpu.c does attempt to grab the microlock with just a swap instruction. If successful, it can then allocate the object inline if there is room in the youngen for it. If you've changed it to instead just call out to the C helper in ccm_runtime.c, this will make it slower, but it should not make the JIT slower than the interpreter.
BTW, why are you changing how object allocation is done? If you are using something than the ARM port, or have done your own port, you really need to let us know when you ask these types of questions.
[Message sent by forum member 'cjplummer' (cjplummer)]