V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
frame-elider.h
1
// Copyright 2015 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
#ifndef V8_COMPILER_BACKEND_FRAME_ELIDER_H_
6
#define V8_COMPILER_BACKEND_FRAME_ELIDER_H_
7
8
#include "src/compiler/backend/instruction.h"
9
10
namespace
v8
{
11
namespace
internal {
12
namespace
compiler {
13
14
// Determine which instruction blocks need a frame and where frames must be
15
// constructed/deconstructed.
16
class
FrameElider
{
17
public
:
18
explicit
FrameElider
(
InstructionSequence
* code);
19
void
Run();
20
21
private
:
22
void
MarkBlocks();
23
void
PropagateMarks();
24
void
MarkDeConstruction();
25
bool
PropagateInOrder();
26
bool
PropagateReversed();
27
bool
PropagateIntoBlock(
InstructionBlock
* block);
28
const
InstructionBlocks
& instruction_blocks()
const
;
29
InstructionBlock
* InstructionBlockAt(
RpoNumber
rpo_number)
const
;
30
Instruction
* InstructionAt(
int
index)
const
;
31
32
InstructionSequence
*
const
code_;
33
};
34
35
}
// namespace compiler
36
}
// namespace internal
37
}
// namespace v8
38
39
#endif // V8_COMPILER_BACKEND_FRAME_ELIDER_H_
v8::internal::compiler::RpoNumber
Definition:
instruction.h:955
v8::internal::compiler::InstructionSequence
Definition:
instruction.h:1437
v8::internal::compiler::InstructionBlock
Definition:
instruction.h:1331
v8
Definition:
libplatform.h:13
v8::internal::compiler::FrameElider
Definition:
frame-elider.h:16
v8::internal::compiler::Instruction
Definition:
instruction.h:767
v8::internal::ZoneVector
Definition:
node-cache.h:17
v8
src
compiler
backend
frame-elider.h
Generated on Tue Dec 25 2018 14:38:27 by
1.8.14