Index: src/mips/macro-assembler-mips.cc |
=================================================================== |
--- src/mips/macro-assembler-mips.cc (revision 7757) |
+++ src/mips/macro-assembler-mips.cc (working copy) |
@@ -1658,6 +1658,18 @@ |
} |
+int MacroAssembler::CallSize(Handle<Code> code, RelocInfo::Mode rmode) { |
+ UNIMPLEMENTED_MIPS(); |
+ return 0; |
+} |
+ |
+ |
+int MacroAssembler::CallSize(Register reg) { |
+ UNIMPLEMENTED_MIPS(); |
+ return 0; |
+} |
+ |
+ |
// Note: To call gcc-compiled C code on mips, you must call thru t9. |
void MacroAssembler::Call(const Operand& target, BranchDelaySlot bdslot) { |
BlockTrampolinePoolScope block_trampoline_pool(this); |
@@ -2243,7 +2255,7 @@ |
Register code_reg, |
Label* done, |
InvokeFlag flag, |
- PostCallGenerator* post_call_generator) { |
+ CallWrapper* call_wrapper) { |
bool definitely_matches = false; |
Label regular_invoke; |
@@ -2296,8 +2308,11 @@ |
Handle<Code> adaptor = |
isolate()->builtins()->ArgumentsAdaptorTrampoline(); |
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 { |
Jump(adaptor, RelocInfo::CODE_TARGET); |
@@ -2311,11 +2326,11 @@ |
const ParameterCount& expected, |
const ParameterCount& actual, |
InvokeFlag flag, |
- PostCallGenerator* post_call_generator) { |
+ CallWrapper* call_wrapper) { |
Label done; |
InvokePrologue(expected, actual, Handle<Code>::null(), code, &done, flag, |
- post_call_generator); |
+ call_wrapper); |
if (flag == CALL_FUNCTION) { |
Call(code); |
} else { |
@@ -2350,7 +2365,7 @@ |
void MacroAssembler::InvokeFunction(Register function, |
const ParameterCount& actual, |
InvokeFlag flag, |
- PostCallGenerator* post_call_generator) { |
+ CallWrapper* call_wrapper) { |
// Contract with called JS functions requires that function is passed in a1. |
ASSERT(function.is(a1)); |
Register expected_reg = a2; |
@@ -2365,7 +2380,7 @@ |
lw(code_reg, FieldMemOperand(a1, JSFunction::kCodeEntryOffset)); |
ParameterCount expected(expected_reg); |
- InvokeCode(code_reg, expected, actual, flag, post_call_generator); |
+ InvokeCode(code_reg, expected, actual, flag, call_wrapper); |
} |
@@ -2642,11 +2657,12 @@ |
void MacroAssembler::InvokeBuiltin(Builtins::JavaScript id, |
InvokeFlag flag, |
- PostCallGenerator* post_call_generator) { |
+ CallWrapper* call_wrapper) { |
GetBuiltinEntry(t9, id); |
if (flag == CALL_FUNCTION) { |
+ if (call_wrapper != NULL) call_wrapper->BeforeCall(CallSize(t9)); |
Call(t9); |
- if (post_call_generator != NULL) post_call_generator->Generate(); |
+ if (call_wrapper != NULL) call_wrapper->AfterCall(); |
} else { |
ASSERT(flag == JUMP_FUNCTION); |
Jump(t9); |