Line data Source code
1 : // Copyright 2014 the V8 project authors. All rights reserved.
2 : // Use of this source code is governed by a BSD-style license that can be
3 : // found in the LICENSE file.
4 :
5 : #include "src/compiler/osr.h"
6 :
7 : #include "src/compiler/frame.h"
8 : #include "src/objects-inl.h"
9 : #include "src/objects.h"
10 : #include "src/objects/shared-function-info.h"
11 : #include "src/optimized-compilation-info.h"
12 :
13 : namespace v8 {
14 : namespace internal {
15 : namespace compiler {
16 :
17 4647 : OsrHelper::OsrHelper(OptimizedCompilationInfo* info)
18 : : parameter_count_(info->bytecode_array()->parameter_count()),
19 4647 : stack_slot_count_(InterpreterFrameConstants::RegisterStackSlotCount(
20 4647 : info->bytecode_array()->register_count()) +
21 9294 : InterpreterFrameConstants::kExtraSlotCount) {}
22 :
23 4647 : void OsrHelper::SetupFrame(Frame* frame) {
24 : // The optimized frame will subsume the unoptimized frame. Do so by reserving
25 : // the first spill slots.
26 : frame->ReserveSpillSlots(UnoptimizedFrameSlots());
27 4647 : }
28 :
29 : } // namespace compiler
30 : } // namespace internal
31 121996 : } // namespace v8
|