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
11
12namespace v8 {
13namespace internal {
14namespace compiler {
15
16// Forward declarations.
17class JSGraph;
18
20 : public NON_EXPORTED_BASE(AdvancedReducer) {
21 public:
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
38};
39
40} // namespace compiler
41} // namespace internal
42} // namespace v8
43
44#endif // V8_COMPILER_TYPE_NARROWING_REDUCER_H_
TFGraph * graph
JSGraph * jsgraph
JSHeapBroker * broker
#define NON_EXPORTED_BASE(code)
#define V8_EXPORT_PRIVATE
Definition macros.h:460