v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
type-narrowing-reducer.h
Go to the documentation of this file.
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
TypeNarrowingReducer
(const
TypeNarrowingReducer
&) = delete;
25
TypeNarrowingReducer
& operator=(const
TypeNarrowingReducer
&) = delete;
26
27
const
char
* reducer_name()
const override
{
return
"TypeNarrowingReducer"
; }
28
29
Reduction
Reduce(
Node
* node)
final
;
30
31
private
:
32
JSGraph
*
jsgraph
()
const
{
return
jsgraph_; }
33
TFGraph
*
graph
()
const
;
34
Zone
* zone()
const
;
35
36
JSGraph
*
const
jsgraph_
;
37
OperationTyper
op_typer_
;
38
};
39
40
}
// namespace compiler
41
}
// namespace internal
42
}
// namespace v8
43
44
#endif
// V8_COMPILER_TYPE_NARROWING_REDUCER_H_
graph
TFGraph * graph
Definition
add-type-assertions-reducer.cc:21
jsgraph
JSGraph * jsgraph
Definition
add-type-assertions-reducer.cc:16
v8::internal::Zone
Definition
zone.h:43
v8::internal::compiler::JSGraph
Definition
js-graph.h:27
v8::internal::compiler::JSHeapBroker
Definition
js-heap-broker.h:95
v8::internal::compiler::Node
Definition
node.h:41
v8::internal::compiler::OperationTyper
Definition
operation-typer.h:49
v8::internal::compiler::Reduction
Definition
graph-reducer.h:34
v8::internal::compiler::TFGraph
Definition
turbofan-graph.h:32
v8::internal::compiler::TypeNarrowingReducer
Definition
type-narrowing-reducer.h:20
v8::internal::compiler::TypeNarrowingReducer::~TypeNarrowingReducer
~TypeNarrowingReducer() final
v8::internal::compiler::TypeNarrowingReducer::op_typer_
OperationTyper op_typer_
Definition
type-narrowing-reducer.h:37
v8::internal::compiler::TypeNarrowingReducer::jsgraph_
JSGraph *const jsgraph_
Definition
type-narrowing-reducer.h:36
v8::internal::compiler::TypeNarrowingReducer::jsgraph
JSGraph * jsgraph() const
Definition
type-narrowing-reducer.h:32
broker
JSHeapBroker * broker
Definition
graph-builder.cc:68
graph-reducer.h
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8
Definition
api-arguments-inl.h:19
operation-typer.h
compiler-specific.h
NON_EXPORTED_BASE
#define NON_EXPORTED_BASE(code)
Definition
compiler-specific.h:93
V8_EXPORT_PRIVATE
#define V8_EXPORT_PRIVATE
Definition
macros.h:460
src
compiler
type-narrowing-reducer.h
Generated on Sun Apr 6 2025 21:08:53 for v8 by
1.12.0