V8 Project
js-context-specialization.h
Go to the documentation of this file.
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_JS_CONTEXT_SPECIALIZATION_H_
6
#define V8_COMPILER_JS_CONTEXT_SPECIALIZATION_H_
7
8
#include "
src/compiler/graph-reducer.h
"
9
#include "
src/compiler/js-graph.h
"
10
#include "
src/contexts.h
"
11
#include "
src/v8.h
"
12
13
namespace
v8
{
14
namespace
internal {
15
namespace
compiler {
16
17
// Specializes a given JSGraph to a given context, potentially constant folding
18
// some {LoadContext} nodes or strength reducing some {StoreContext} nodes.
19
class
JSContextSpecializer
{
20
public
:
21
JSContextSpecializer
(
CompilationInfo
* info,
JSGraph
* jsgraph, Node* context)
22
:
info_
(info),
jsgraph_
(jsgraph),
context_
(context) {}
23
24
void
SpecializeToContext
();
25
Reduction
ReduceJSLoadContext
(Node* node);
26
Reduction
ReduceJSStoreContext
(Node* node);
27
28
private
:
29
CompilationInfo
*
info_
;
30
JSGraph
*
jsgraph_
;
31
Node*
context_
;
32
};
33
}
34
}
35
}
// namespace v8::internal::compiler
36
37
#endif
// V8_COMPILER_JS_CONTEXT_SPECIALIZATION_H_
v8::internal::CompilationInfo
Definition:
compiler.h:63
v8::internal::compiler::JSContextSpecializer
Definition:
js-context-specialization.h:19
v8::internal::compiler::JSContextSpecializer::context_
Node * context_
Definition:
js-context-specialization.h:31
v8::internal::compiler::JSContextSpecializer::JSContextSpecializer
JSContextSpecializer(CompilationInfo *info, JSGraph *jsgraph, Node *context)
Definition:
js-context-specialization.h:21
v8::internal::compiler::JSContextSpecializer::SpecializeToContext
void SpecializeToContext()
Definition:
js-context-specialization.cc:52
v8::internal::compiler::JSContextSpecializer::jsgraph_
JSGraph * jsgraph_
Definition:
js-context-specialization.h:30
v8::internal::compiler::JSContextSpecializer::info_
CompilationInfo * info_
Definition:
js-context-specialization.h:29
v8::internal::compiler::JSContextSpecializer::ReduceJSStoreContext
Reduction ReduceJSStoreContext(Node *node)
Definition:
js-context-specialization.cc:109
v8::internal::compiler::JSContextSpecializer::ReduceJSLoadContext
Reduction ReduceJSLoadContext(Node *node)
Definition:
js-context-specialization.cc:61
v8::internal::compiler::JSGraph
Definition:
js-graph.h:24
contexts.h
graph-reducer.h
js-graph.h
v8
Debugger support for the V8 JavaScript engine.
Definition:
accessors.cc:20
v8.h
mnt
V8SourceCode
src
compiler
js-context-specialization.h
Generated on Tue Jul 1 2025 02:36:32 for V8 Project by
1.9.1