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 2271443003: [deoptimizer] Potentially deopt into debug bytecode. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Test expectation. Created 4 years, 3 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 | test/mjsunit/mjsunit.status » ('j') | test/mjsunit/mjsunit.status » ('J')
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 <memory> 7 #include <memory>
8 8
9 #include "src/accessors.h" 9 #include "src/accessors.h"
10 #include "src/ast/prettyprinter.h" 10 #include "src/ast/prettyprinter.h"
(...skipping 1216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1227 1227
1228 // The new.target slot is only used during function activiation which is 1228 // The new.target slot is only used during function activiation which is
1229 // before the first deopt point, so should never be needed. Just set it to 1229 // before the first deopt point, so should never be needed. Just set it to
1230 // undefined. 1230 // undefined.
1231 output_offset -= kPointerSize; 1231 output_offset -= kPointerSize;
1232 Object* new_target = isolate_->heap()->undefined_value(); 1232 Object* new_target = isolate_->heap()->undefined_value();
1233 WriteValueToOutput(new_target, 0, frame_index, output_offset, "new_target "); 1233 WriteValueToOutput(new_target, 0, frame_index, output_offset, "new_target ");
1234 1234
1235 // Set the bytecode array pointer. 1235 // Set the bytecode array pointer.
1236 output_offset -= kPointerSize; 1236 output_offset -= kPointerSize;
1237 Object* bytecode_array = shared->bytecode_array(); 1237 Object* bytecode_array = shared->HasDebugInfo()
1238 ? shared->GetDebugInfo()->DebugBytecodeArray()
1239 : shared->bytecode_array();
1238 WriteValueToOutput(bytecode_array, 0, frame_index, output_offset, 1240 WriteValueToOutput(bytecode_array, 0, frame_index, output_offset,
1239 "bytecode array "); 1241 "bytecode array ");
1240 1242
1241 // The bytecode offset was mentioned explicitly in the BEGIN_FRAME. 1243 // The bytecode offset was mentioned explicitly in the BEGIN_FRAME.
1242 output_offset -= kPointerSize; 1244 output_offset -= kPointerSize;
1243 int raw_bytecode_offset = 1245 int raw_bytecode_offset =
1244 BytecodeArray::kHeaderSize - kHeapObjectTag + bytecode_offset; 1246 BytecodeArray::kHeaderSize - kHeapObjectTag + bytecode_offset;
1245 Smi* smi_bytecode_offset = Smi::FromInt(raw_bytecode_offset); 1247 Smi* smi_bytecode_offset = Smi::FromInt(raw_bytecode_offset);
1246 WriteValueToOutput(smi_bytecode_offset, 0, frame_index, output_offset, 1248 WriteValueToOutput(smi_bytecode_offset, 0, frame_index, output_offset,
1247 "bytecode offset "); 1249 "bytecode offset ");
(...skipping 2758 matching lines...) Expand 10 before | Expand all | Expand 10 after
4006 CHECK(value_info->IsMaterializedObject()); 4008 CHECK(value_info->IsMaterializedObject());
4007 4009
4008 value_info->value_ = 4010 value_info->value_ =
4009 Handle<Object>(previously_materialized_objects->get(i), isolate_); 4011 Handle<Object>(previously_materialized_objects->get(i), isolate_);
4010 } 4012 }
4011 } 4013 }
4012 } 4014 }
4013 4015
4014 } // namespace internal 4016 } // namespace internal
4015 } // namespace v8 4017 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | test/mjsunit/mjsunit.status » ('j') | test/mjsunit/mjsunit.status » ('J')

Powered by Google App Engine
This is Rietveld 408576698