Hi!!
Trying to understand cti functions on the example of emit_op_new_array
functions.

Here is the code of  emit_op_new_array

void JIT::emit_op_new_array(Instruction* currentInstruction)
{
    JITStubCall stubCall(this, cti_op_new_array);
    stubCall.addArgument(Imm32(currentInstruction[2].u.operand));
    stubCall.addArgument(Imm32(currentInstruction[3].u.operand));
    stubCall.call(currentInstruction[1].u.operand);
}

As I understand   stubCall.call(currentInstruction[1].u.operand)  calls
function DEFINE_STUB_FUNCTION(JSObject*, op_new_array) from JITStubs.cpp.
And at this point execution of our JS programm is "interputing" and here C
functions starting  to work to "create array".

The question is how can I get reference to the craeted array to manipulate
it in future?

And in general, can anyone please explain in detail how this scheme of cti
functions works?

Thanks!
_______________________________________________
squirrelfish-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/squirrelfish-dev

Reply via email to