OLD | NEW |
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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/codegen.h" | 8 #include "src/codegen.h" |
9 #include "src/cpu-profiler.h" | 9 #include "src/cpu-profiler.h" |
10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
(...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1223 | 1223 |
1224 // Number of incoming arguments. | 1224 // Number of incoming arguments. |
1225 output_offset -= kPointerSize; | 1225 output_offset -= kPointerSize; |
1226 value = reinterpret_cast<intptr_t>(Smi::FromInt(height - 1)); | 1226 value = reinterpret_cast<intptr_t>(Smi::FromInt(height - 1)); |
1227 output_frame->SetFrameSlot(output_offset, value); | 1227 output_frame->SetFrameSlot(output_offset, value); |
1228 DebugPrintOutputSlot(value, frame_index, output_offset, "argc "); | 1228 DebugPrintOutputSlot(value, frame_index, output_offset, "argc "); |
1229 if (trace_scope_ != nullptr) { | 1229 if (trace_scope_ != nullptr) { |
1230 PrintF(trace_scope_->file(), "(%d)\n", height - 1); | 1230 PrintF(trace_scope_->file(), "(%d)\n", height - 1); |
1231 } | 1231 } |
1232 | 1232 |
| 1233 // The original constructor. |
| 1234 output_offset -= kPointerSize; |
| 1235 value = reinterpret_cast<intptr_t>(isolate_->heap()->undefined_value()); |
| 1236 output_frame->SetFrameSlot(output_offset, value); |
| 1237 DebugPrintOutputSlot(value, frame_index, output_offset, "new.target\n"); |
| 1238 |
1233 // The newly allocated object was passed as receiver in the artificial | 1239 // The newly allocated object was passed as receiver in the artificial |
1234 // constructor stub environment created by HEnvironment::CopyForInlining(). | 1240 // constructor stub environment created by HEnvironment::CopyForInlining(). |
1235 output_offset -= kPointerSize; | 1241 output_offset -= kPointerSize; |
1236 value = output_frame->GetFrameSlot(output_frame_size - kPointerSize); | 1242 value = output_frame->GetFrameSlot(output_frame_size - kPointerSize); |
1237 output_frame->SetFrameSlot(output_offset, value); | 1243 output_frame->SetFrameSlot(output_offset, value); |
1238 DebugPrintOutputSlot(value, frame_index, output_offset, | 1244 DebugPrintOutputSlot(value, frame_index, output_offset, |
1239 "allocated receiver\n"); | 1245 "allocated receiver\n"); |
1240 | 1246 |
1241 CHECK_EQ(0u, output_offset); | 1247 CHECK_EQ(0u, output_offset); |
1242 | 1248 |
(...skipping 2130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3373 DCHECK(value_info->IsMaterializedObject()); | 3379 DCHECK(value_info->IsMaterializedObject()); |
3374 | 3380 |
3375 value_info->value_ = | 3381 value_info->value_ = |
3376 Handle<Object>(previously_materialized_objects->get(i), isolate_); | 3382 Handle<Object>(previously_materialized_objects->get(i), isolate_); |
3377 } | 3383 } |
3378 } | 3384 } |
3379 } | 3385 } |
3380 | 3386 |
3381 } // namespace internal | 3387 } // namespace internal |
3382 } // namespace v8 | 3388 } // namespace v8 |
OLD | NEW |