V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
value-numbering-reducer.h
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
#ifndef V8_COMPILER_VALUE_NUMBERING_REDUCER_H_
6
#define V8_COMPILER_VALUE_NUMBERING_REDUCER_H_
7
8
#include "src/base/compiler-specific.h"
9
#include "src/compiler/graph-reducer.h"
10
#include "src/globals.h"
11
12
namespace
v8
{
13
namespace
internal {
14
namespace
compiler {
15
16
class
V8_EXPORT_PRIVATE
ValueNumberingReducer
final
17
:
public
NON_EXPORTED_BASE(Reducer) {
18
public
:
19
explicit
ValueNumberingReducer
(
Zone
* temp_zone,
Zone
* graph_zone);
20
~
ValueNumberingReducer
()
override
;
21
22
const
char
* reducer_name()
const override
{
return
"ValueNumberingReducer"
; }
23
24
Reduction
Reduce(
Node
* node)
override
;
25
26
private
:
27
enum
{ kInitialCapacity = 256u };
28
29
Reduction
ReplaceIfTypesMatch(
Node
* node,
Node
* replacement);
30
void
Grow();
31
Zone
* temp_zone()
const
{
return
temp_zone_; }
32
Zone
* graph_zone()
const
{
return
graph_zone_; }
33
34
Node
** entries_;
35
size_t
capacity_;
36
size_t
size_;
37
Zone
* temp_zone_;
38
Zone
* graph_zone_;
39
};
40
41
}
// namespace compiler
42
}
// namespace internal
43
}
// namespace v8
44
45
#endif // V8_COMPILER_VALUE_NUMBERING_REDUCER_H_
v8::internal::compiler::ValueNumberingReducer
Definition:
value-numbering-reducer.h:16
v8
Definition:
libplatform.h:13
v8::internal::Zone
Definition:
zone.h:42
v8::internal::compiler::Node
Definition:
node.h:43
v8::internal::compiler::Reduction
Definition:
graph-reducer.h:30
v8
src
compiler
value-numbering-reducer.h
Generated on Tue Dec 25 2018 14:38:44 by
1.8.14