| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index f576e37e4f6a888e6f41585164a49843fea12176..43158a4688d1e0a127bf62e16aaf3c2f6846b534 100644
|
| --- a/src/ia32/lithium-ia32.cc
|
| +++ b/src/ia32/lithium-ia32.cc
|
| @@ -877,17 +877,10 @@ LEnvironment* LChunkBuilder::CreateEnvironment(
|
| BailoutId ast_id = hydrogen_env->ast_id();
|
| ASSERT(!ast_id.IsNone() ||
|
| hydrogen_env->frame_type() != JS_FUNCTION);
|
| - int value_count = hydrogen_env->length();
|
| LEnvironment* result =
|
| - new(zone()) LEnvironment(hydrogen_env->closure(),
|
| - hydrogen_env->frame_type(),
|
| - ast_id,
|
| - hydrogen_env->parameter_count(),
|
| - argument_count_,
|
| - value_count,
|
| - outer,
|
| - zone());
|
| + new(zone()) LEnvironment(hydrogen_env, argument_count_, outer, zone());
|
| int argument_index = *argument_index_accumulator;
|
| + int value_count = hydrogen_env->length();
|
| for (int i = 0; i < value_count; ++i) {
|
| if (hydrogen_env->is_special_index(i)) continue;
|
|
|
| @@ -2358,6 +2351,18 @@ LInstruction* LChunkBuilder::DoStackCheck(HStackCheck* instr) {
|
| }
|
|
|
|
|
| +LInstruction* LChunkBuilder::DoEnterTry(HEnterTry* instr) {
|
| + current_block_->last_environment()->AddExceptionHandler();
|
| + return new(zone()) LEnterTry;
|
| +}
|
| +
|
| +
|
| +LInstruction* LChunkBuilder::DoLeaveTry(HLeaveTry* instr) {
|
| + current_block_->last_environment()->RemoveExceptionHandler();
|
| + return new(zone()) LLeaveTry;
|
| +}
|
| +
|
| +
|
| LInstruction* LChunkBuilder::DoEnterInlined(HEnterInlined* instr) {
|
| HEnvironment* outer = current_block_->last_environment();
|
| HConstant* undefined = graph()->GetConstantUndefined();
|
|
|