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/codegen/optimized-compilation-info.h" 8 #include "src/compiler/frame.h" 9 #include "src/objects/objects-inl.h" 10 #include "src/objects/objects.h" 11 #include "src/objects/shared-function-info.h" 12 13 namespace v8 { 14 namespace internal { 15 namespace compiler { 16 OsrHelper(OptimizedCompilationInfo * info)17OsrHelper::OsrHelper(OptimizedCompilationInfo* info) 18 : parameter_count_(info->bytecode_array()->parameter_count()), 19 stack_slot_count_(UnoptimizedFrameConstants::RegisterStackSlotCount( 20 info->bytecode_array()->register_count()) + 21 UnoptimizedFrameConstants::kExtraSlotCount) {} 22 SetupFrame(Frame * frame)23void 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 } 28 29 } // namespace compiler 30 } // namespace internal 31 } // namespace v8 32