| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 3b232e6e93ee2d307e5ea9504266825fb9f11b36..12977c16e689ec57503448098db381dbdae0e6e2 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -6361,18 +6361,6 @@ bool HOptimizedGraphBuilder::TryInline(CallKind call_kind,
|
| return false;
|
| }
|
|
|
| -#if !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_MIPS
|
| - // Target must be able to use caller's context.
|
| - CompilationInfo* outer_info = current_info();
|
| - if (target->context() != outer_info->closure()->context() ||
|
| - outer_info->scope()->contains_with() ||
|
| - outer_info->scope()->num_heap_slots() > 0) {
|
| - TraceInline(target, caller, "target requires context change");
|
| - return false;
|
| - }
|
| -#endif
|
| -
|
| -
|
| // Don't inline deeper than the maximum number of inlining levels.
|
| HEnvironment* env = environment();
|
| int current_level = 1;
|
| @@ -6510,15 +6498,9 @@ bool HOptimizedGraphBuilder::TryInline(CallKind call_kind,
|
| undefined,
|
| function_state()->inlining_kind(),
|
| undefined_receiver);
|
| -#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_MIPS
|
| - // IA32, ARM and MIPS only, overwrite the caller's context in the
|
| - // deoptimization environment with the correct one.
|
| - //
|
| - // TODO(kmillikin): implement the same inlining on other platforms so we
|
| - // can remove the unsightly ifdefs in this function.
|
| +
|
| HConstant* context = Add<HConstant>(Handle<Context>(target->context()));
|
| inner_env->BindContext(context);
|
| -#endif
|
|
|
| Add<HSimulate>(return_id);
|
| current_block()->UpdateEnvironment(inner_env);
|
|
|