| Index: src/compiler/instruction-selector.cc | 
| diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc | 
| index 22ca9c7319e56ffdd281825dd4e24733b2a1d0f8..095045242415343cb87e601bd830f8559031c245 100644 | 
| --- a/src/compiler/instruction-selector.cc | 
| +++ b/src/compiler/instruction-selector.cc | 
| @@ -584,7 +584,9 @@ void InstructionSelector::InitializeCallBuffer(Node* call, CallBuffer* buffer, | 
| switch (buffer->descriptor->kind()) { | 
| case CallDescriptor::kCallCodeObject: | 
| buffer->instruction_args.push_back( | 
| -          (call_code_immediate && callee->opcode() == IrOpcode::kHeapConstant) | 
| +          (call_code_immediate && | 
| +           (callee->opcode() == IrOpcode::kHeapConstant || | 
| +            callee->opcode() == IrOpcode::kRelocatableInt32Constant)) | 
| ? g.UseImmediate(callee) | 
| : g.UseRegister(callee)); | 
| break; | 
|  |