Chromium Code Reviews| Index: src/ia32/macro-assembler-ia32.cc |
| =================================================================== |
| --- src/ia32/macro-assembler-ia32.cc (revision 7748) |
| +++ src/ia32/macro-assembler-ia32.cc (working copy) |
| @@ -1435,7 +1435,7 @@ |
| const Operand& code_operand, |
| NearLabel* done, |
| InvokeFlag flag, |
| - PostCallGenerator* post_call_generator) { |
| + CallWrapper* call_wrapper) { |
| bool definitely_matches = false; |
| Label invoke; |
| if (expected.is_immediate()) { |
| @@ -1485,8 +1485,11 @@ |
| } |
| if (flag == CALL_FUNCTION) { |
| + if (call_wrapper != NULL) { |
| + call_wrapper->BeforeCall(CallSize(adaptor, RelocInfo::CODE_TARGET)); |
| + } |
| call(adaptor, RelocInfo::CODE_TARGET); |
| - if (post_call_generator != NULL) post_call_generator->Generate(); |
| + if (call_wrapper != NULL) call_wrapper->AfterCall(); |
| jmp(done); |
| } else { |
| jmp(adaptor, RelocInfo::CODE_TARGET); |
| @@ -1500,13 +1503,14 @@ |
| const ParameterCount& expected, |
| const ParameterCount& actual, |
| InvokeFlag flag, |
| - PostCallGenerator* post_call_generator) { |
| + CallWrapper* call_wrapper) { |
| NearLabel done; |
| InvokePrologue(expected, actual, Handle<Code>::null(), code, |
| - &done, flag, post_call_generator); |
| + &done, flag, call_wrapper); |
| if (flag == CALL_FUNCTION) { |
| + if (call_wrapper != NULL) call_wrapper->BeforeCall(CallSize(code)); |
| call(code); |
| - if (post_call_generator != NULL) post_call_generator->Generate(); |
| + if (call_wrapper != NULL) call_wrapper->AfterCall(); |
| } else { |
| ASSERT(flag == JUMP_FUNCTION); |
| jmp(code); |
| @@ -1520,14 +1524,15 @@ |
| const ParameterCount& actual, |
| RelocInfo::Mode rmode, |
| InvokeFlag flag, |
| - PostCallGenerator* post_call_generator) { |
| + CallWrapper* call_wrapper) { |
| NearLabel done; |
| Operand dummy(eax); |
| InvokePrologue(expected, actual, code, dummy, &done, |
| - flag, post_call_generator); |
| + flag, call_wrapper); |
|
Kevin Millikin (Chromium)
2011/05/03 08:43:19
This line may fit on the line before.
Sven Panne
2011/05/03 09:09:54
Done.
|
| if (flag == CALL_FUNCTION) { |
| + if (call_wrapper != NULL) call_wrapper->BeforeCall(CallSize(code, rmode)); |
| call(code, rmode); |
| - if (post_call_generator != NULL) post_call_generator->Generate(); |
| + if (call_wrapper != NULL) call_wrapper->AfterCall(); |
| } else { |
| ASSERT(flag == JUMP_FUNCTION); |
| jmp(code, rmode); |
| @@ -1539,7 +1544,7 @@ |
| void MacroAssembler::InvokeFunction(Register fun, |
| const ParameterCount& actual, |
| InvokeFlag flag, |
| - PostCallGenerator* post_call_generator) { |
| + CallWrapper* call_wrapper) { |
| ASSERT(fun.is(edi)); |
| mov(edx, FieldOperand(edi, JSFunction::kSharedFunctionInfoOffset)); |
| mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); |
| @@ -1548,14 +1553,14 @@ |
| ParameterCount expected(ebx); |
| InvokeCode(FieldOperand(edi, JSFunction::kCodeEntryOffset), |
| - expected, actual, flag, post_call_generator); |
| + expected, actual, flag, call_wrapper); |
| } |
| void MacroAssembler::InvokeFunction(JSFunction* function, |
| const ParameterCount& actual, |
| InvokeFlag flag, |
| - PostCallGenerator* post_call_generator) { |
| + CallWrapper* call_wrapper) { |
| ASSERT(function->is_compiled()); |
| // Get the function and setup the context. |
| mov(edi, Immediate(Handle<JSFunction>(function))); |
| @@ -1567,18 +1572,18 @@ |
| // code field in the function to allow recompilation to take effect |
| // without changing any of the call sites. |
| InvokeCode(FieldOperand(edi, JSFunction::kCodeEntryOffset), |
| - expected, actual, flag, post_call_generator); |
| + expected, actual, flag, call_wrapper); |
| } else { |
| Handle<Code> code(function->code()); |
| InvokeCode(code, expected, actual, RelocInfo::CODE_TARGET, |
| - flag, post_call_generator); |
| + flag, call_wrapper); |
| } |
| } |
| void MacroAssembler::InvokeBuiltin(Builtins::JavaScript id, |
| InvokeFlag flag, |
| - PostCallGenerator* post_call_generator) { |
| + CallWrapper* call_wrapper) { |
| // Calls are not allowed in some stubs. |
| ASSERT(flag == JUMP_FUNCTION || allow_stub_calls()); |
| @@ -1588,7 +1593,7 @@ |
| ParameterCount expected(0); |
| GetBuiltinFunction(edi, id); |
| InvokeCode(FieldOperand(edi, JSFunction::kCodeEntryOffset), |
| - expected, expected, flag, post_call_generator); |
| + expected, expected, flag, call_wrapper); |
| } |
| void MacroAssembler::GetBuiltinFunction(Register target, |