| Index: src/arm/macro-assembler-arm.cc | 
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc | 
| index 20dd0b4320dda538a3434df81d857a87686eb053..f71a887a180f1ff5acbe8a8a1a729fa86449504d 100644 | 
| --- a/src/arm/macro-assembler-arm.cc | 
| +++ b/src/arm/macro-assembler-arm.cc | 
| @@ -148,8 +148,9 @@ int MacroAssembler::CallSize( | 
| } | 
|  | 
|  | 
| -void MacroAssembler::Call( | 
| -    intptr_t target, RelocInfo::Mode rmode, Condition cond) { | 
| +void MacroAssembler::Call(intptr_t target, | 
| +                          RelocInfo::Mode rmode, | 
| +                          Condition cond) { | 
| // Block constant pool for the call instruction sequence. | 
| BlockConstPoolScope block_const_pool(this); | 
| #ifdef DEBUG | 
| @@ -214,8 +215,31 @@ int MacroAssembler::CallSize( | 
| } | 
|  | 
|  | 
| -void MacroAssembler::Call( | 
| -    Handle<Code> code, RelocInfo::Mode rmode, Condition cond) { | 
| +void MacroAssembler::CallWithAstId(Handle<Code> code, | 
| +                                   RelocInfo::Mode rmode, | 
| +                                   unsigned ast_id, | 
| +                                   Condition cond) { | 
| +#ifdef DEBUG | 
| +  int pre_position = pc_offset(); | 
| +#endif | 
| + | 
| +  ASSERT(rmode == RelocInfo::CODE_TARGET_WITH_ID); | 
| +  ASSERT(ast_id != kNoASTId); | 
| +  ASSERT(ast_id_for_reloc_info_ == kNoASTId); | 
| +  ast_id_for_reloc_info_ = ast_id; | 
| +  // 'code' is always generated ARM code, never THUMB code | 
| +  Call(reinterpret_cast<intptr_t>(code.location()), rmode, cond); | 
| + | 
| +#ifdef DEBUG | 
| +  int post_position = pc_offset(); | 
| +  CHECK_EQ(pre_position + CallSize(code, rmode, cond), post_position); | 
| +#endif | 
| +} | 
| + | 
| + | 
| +void MacroAssembler::Call(Handle<Code> code, | 
| +                          RelocInfo::Mode rmode, | 
| +                          Condition cond) { | 
| #ifdef DEBUG | 
| int pre_position = pc_offset(); | 
| #endif | 
|  |