V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
type-narrowing-reducer.h
1
// Copyright 2018 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_TYPE_NARROWING_REDUCER_H_
6
#define V8_COMPILER_TYPE_NARROWING_REDUCER_H_
7
8
#include "src/base/compiler-specific.h"
9
#include "src/compiler/graph-reducer.h"
10
#include "src/compiler/operation-typer.h"
11
12
namespace
v8
{
13
namespace
internal {
14
namespace
compiler {
15
16
// Forward declarations.
17
class
JSGraph;
18
19
class
V8_EXPORT_PRIVATE
TypeNarrowingReducer
final
20
:
public
NON_EXPORTED_BASE(AdvancedReducer) {
21
public
:
22
TypeNarrowingReducer
(Editor* editor,
JSGraph
* jsgraph,
JSHeapBroker
* broker);
23
~
TypeNarrowingReducer
()
final
;
24
25
const
char
* reducer_name()
const override
{
return
"TypeNarrowingReducer"
; }
26
27
Reduction
Reduce(
Node
* node)
final
;
28
29
private
:
30
JSGraph
* jsgraph()
const
{
return
jsgraph_; }
31
Graph
* graph()
const
;
32
Zone
* zone()
const
;
33
34
JSGraph
*
const
jsgraph_;
35
OperationTyper
op_typer_;
36
37
DISALLOW_COPY_AND_ASSIGN(
TypeNarrowingReducer
);
38
};
39
40
}
// namespace compiler
41
}
// namespace internal
42
}
// namespace v8
43
44
#endif // V8_COMPILER_TYPE_NARROWING_REDUCER_H_
v8::internal::compiler::OperationTyper
Definition:
operation-typer.h:28
v8::internal::compiler::JSGraph
Definition:
js-graph.h:26
v8
Definition:
libplatform.h:13
v8::internal::Zone
Definition:
zone.h:42
v8::internal::compiler::Graph
Definition:
graph.h:35
v8::internal::compiler::JSHeapBroker
Definition:
js-heap-broker.h:594
v8::internal::compiler::Node
Definition:
node.h:43
v8::internal::compiler::TypeNarrowingReducer
Definition:
type-narrowing-reducer.h:19
v8::internal::compiler::Reduction
Definition:
graph-reducer.h:30
v8
src
compiler
type-narrowing-reducer.h
Generated on Tue Dec 25 2018 14:38:43 by
1.8.14