Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/deoptimizer.cc

Issue 1784633002: Fix "[turbofan] [deoptimizer] Support inlining of ES6 tail calls" for embedded constant pools. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/deoptimizer.h" 5 #include "src/deoptimizer.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/ast/prettyprinter.h" 8 #include "src/ast/prettyprinter.h"
9 #include "src/codegen.h" 9 #include "src/codegen.h"
10 #include "src/disasm.h" 10 #include "src/disasm.h"
(...skipping 1360 matching lines...) Expand 10 before | Expand all | Expand 10 after
1371 value = output_[frame_index - 1]->GetFp(); 1371 value = output_[frame_index - 1]->GetFp();
1372 } 1372 }
1373 output_frame->SetCallerFp(output_offset, value); 1373 output_frame->SetCallerFp(output_offset, value);
1374 intptr_t fp_value = top_address + output_offset; 1374 intptr_t fp_value = top_address + output_offset;
1375 output_frame->SetFp(fp_value); 1375 output_frame->SetFp(fp_value);
1376 DebugPrintOutputSlot(value, frame_index, output_offset, "caller's fp\n"); 1376 DebugPrintOutputSlot(value, frame_index, output_offset, "caller's fp\n");
1377 1377
1378 if (FLAG_enable_embedded_constant_pool) { 1378 if (FLAG_enable_embedded_constant_pool) {
1379 // Read the caller's constant pool from the previous frame. 1379 // Read the caller's constant pool from the previous frame.
1380 output_offset -= kPointerSize; 1380 output_offset -= kPointerSize;
1381 value = output_[frame_index - 1]->GetConstantPool(); 1381 if (is_bottommost) {
1382 value = caller_constant_pool_;
1383 } else {
1384 value = output_[frame_index - 1]->GetConstantPool();
1385 }
1382 output_frame->SetCallerConstantPool(output_offset, value); 1386 output_frame->SetCallerConstantPool(output_offset, value);
1383 DebugPrintOutputSlot(value, frame_index, output_offset, 1387 DebugPrintOutputSlot(value, frame_index, output_offset,
1384 "caller's constant_pool\n"); 1388 "caller's constant_pool\n");
1385 } 1389 }
1386 1390
1387 // A marker value is used in place of the context. 1391 // A marker value is used in place of the context.
1388 output_offset -= kPointerSize; 1392 output_offset -= kPointerSize;
1389 intptr_t context = reinterpret_cast<intptr_t>( 1393 intptr_t context = reinterpret_cast<intptr_t>(
1390 Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)); 1394 Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR));
1391 output_frame->SetFrameSlot(output_offset, context); 1395 output_frame->SetFrameSlot(output_offset, context);
(...skipping 2417 matching lines...) Expand 10 before | Expand all | Expand 10 after
3809 CHECK(value_info->IsMaterializedObject()); 3813 CHECK(value_info->IsMaterializedObject());
3810 3814
3811 value_info->value_ = 3815 value_info->value_ =
3812 Handle<Object>(previously_materialized_objects->get(i), isolate_); 3816 Handle<Object>(previously_materialized_objects->get(i), isolate_);
3813 } 3817 }
3814 } 3818 }
3815 } 3819 }
3816 3820
3817 } // namespace internal 3821 } // namespace internal
3818 } // namespace v8 3822 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698