| Index: src/deoptimizer.cc
 | 
| diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc
 | 
| index b7fe05828b94ca966945995b4e05d6b04fac4762..1df7df84d03e4dbb0a2ecb6a7c44c51493c3b235 100644
 | 
| --- a/src/deoptimizer.cc
 | 
| +++ b/src/deoptimizer.cc
 | 
| @@ -447,8 +447,11 @@ static int FindPatchAddressForReturnAddress(Code* code, int pc) {
 | 
|    int patch_count = input_data->ReturnAddressPatchCount();
 | 
|    for (int i = 0; i < patch_count; i++) {
 | 
|      int return_pc = input_data->ReturnAddressPc(i)->value();
 | 
| -    if (pc == return_pc) {
 | 
| -      return input_data->PatchedAddressPc(i)->value();
 | 
| +    int patch_pc = input_data->PatchedAddressPc(i)->value();
 | 
| +    // If the supplied pc matches the return pc or if the address
 | 
| +    // has been already patched, return the patch pc.
 | 
| +    if (pc == return_pc || pc == patch_pc) {
 | 
| +      return patch_pc;
 | 
|      }
 | 
|    }
 | 
|    return -1;
 | 
| 
 |