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 1232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1243 | 1243 |
1244 // Number of incoming arguments. | 1244 // Number of incoming arguments. |
1245 output_offset -= kPointerSize; | 1245 output_offset -= kPointerSize; |
1246 value = reinterpret_cast<intptr_t>(Smi::FromInt(height - 1)); | 1246 value = reinterpret_cast<intptr_t>(Smi::FromInt(height - 1)); |
1247 output_frame->SetFrameSlot(output_offset, value); | 1247 output_frame->SetFrameSlot(output_offset, value); |
1248 DebugPrintOutputSlot(value, frame_index, output_offset, "argc "); | 1248 DebugPrintOutputSlot(value, frame_index, output_offset, "argc "); |
1249 if (trace_scope_ != nullptr) { | 1249 if (trace_scope_ != nullptr) { |
1250 PrintF(trace_scope_->file(), "(%d)\n", height - 1); | 1250 PrintF(trace_scope_->file(), "(%d)\n", height - 1); |
1251 } | 1251 } |
1252 | 1252 |
1253 // Constructor function being invoked by the stub (only present on some | |
1254 // architectures, indicated by kConstructorOffset). | |
1255 if (ConstructFrameConstants::kConstructorOffset != kMinInt) { | |
1256 output_offset -= kPointerSize; | |
1257 WriteValueToOutput(function, 0, frame_index, output_offset, | |
1258 "constructor function "); | |
1259 } | |
1260 | |
1261 // The newly allocated object was passed as receiver in the artificial | 1253 // The newly allocated object was passed as receiver in the artificial |
1262 // constructor stub environment created by HEnvironment::CopyForInlining(). | 1254 // constructor stub environment created by HEnvironment::CopyForInlining(). |
1263 output_offset -= kPointerSize; | 1255 output_offset -= kPointerSize; |
1264 value = output_frame->GetFrameSlot(output_frame_size - kPointerSize); | 1256 value = output_frame->GetFrameSlot(output_frame_size - kPointerSize); |
1265 output_frame->SetFrameSlot(output_offset, value); | 1257 output_frame->SetFrameSlot(output_offset, value); |
1266 DebugPrintOutputSlot(value, frame_index, output_offset, | 1258 DebugPrintOutputSlot(value, frame_index, output_offset, |
1267 "allocated receiver\n"); | 1259 "allocated receiver\n"); |
1268 | 1260 |
1269 CHECK_EQ(0u, output_offset); | 1261 CHECK_EQ(0u, output_offset); |
1270 | 1262 |
(...skipping 2128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3399 DCHECK(value_info->IsMaterializedObject()); | 3391 DCHECK(value_info->IsMaterializedObject()); |
3400 | 3392 |
3401 value_info->value_ = | 3393 value_info->value_ = |
3402 Handle<Object>(previously_materialized_objects->get(i), isolate_); | 3394 Handle<Object>(previously_materialized_objects->get(i), isolate_); |
3403 } | 3395 } |
3404 } | 3396 } |
3405 } | 3397 } |
3406 | 3398 |
3407 } // namespace internal | 3399 } // namespace internal |
3408 } // namespace v8 | 3400 } // namespace v8 |
OLD | NEW |