v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
maglev-graph-builder.h File Reference
Include dependency graph for maglev-graph-builder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::maglev::MaybeReduceResult
 
class  v8::internal::maglev::ReduceResult
 
struct  v8::internal::maglev::CatchBlockDetails
 
struct  v8::internal::maglev::MaglevCallerDetails
 
struct  v8::internal::maglev::MaglevCallSiteInfo
 
class  v8::internal::maglev::MaglevGraphBuilder
 
class  v8::internal::maglev::MaglevGraphBuilder::LazyDeoptResultLocationScope
 
class  v8::internal::maglev::MaglevGraphBuilder::MaglevSubGraphBuilder
 
class  v8::internal::maglev::MaglevGraphBuilder::BranchBuilder
 
class  v8::internal::maglev::MaglevGraphBuilder::BranchBuilder::PatchAccumulatorInBranchScope
 
struct  v8::internal::maglev::MaglevGraphBuilder::BranchBuilder::BytecodeJumpTarget
 
struct  v8::internal::maglev::MaglevGraphBuilder::BranchBuilder::LabelJumpTarget
 
union  v8::internal::maglev::MaglevGraphBuilder::BranchBuilder::Data
 
struct  v8::internal::maglev::MaglevGraphBuilder::ForInState
 
struct  v8::internal::maglev::MaglevGraphBuilder::HandlerTableEntry
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::maglev
 

Macros

#define RETURN_IF_DONE(result)
 
#define RETURN_IF_ABORT(result)
 
#define PROCESS_AND_RETURN_IF_DONE(result, value_processor)
 
#define GET_VALUE_OR_ABORT(variable, result)
 
#define BYTECODE_CASE(name, ...)
 
#define BYTECODE_VISITOR(name, ...)
 
#define DECLARE_VISITOR(name, ...)
 
#define BAILOUT(name, ...)
 
#define DEFINE_IS_ROOT_OBJECT(type, name, CamelName)
 
#define CONTINUATION_PRESERVED_EMBEDDER_DATA_LIST(V)
 
#define MAGLEV_REDUCED_BUILTIN(V)
 
#define DEFINE_BUILTIN_REDUCER(Name, ...)
 

Enumerations

enum class  v8::internal::maglev::UseReprHintRecording { v8::internal::maglev::kRecord , v8::internal::maglev::kDoNotRecord }
 

Functions

NodeType v8::internal::maglev::StaticTypeForNode (compiler::JSHeapBroker *broker, LocalIsolate *isolate, ValueNode *node)
 

Macro Definition Documentation

◆ BAILOUT

#define BAILOUT ( name,
... )
Value:
if (function_id == Runtime::k##name) { \
return true; \
}

◆ BYTECODE_CASE

#define BYTECODE_CASE ( name,
... )
Value:
case interpreter::Bytecode::k##name: { \
if (Visit##name().IsDoneWithAbort()) { \
MarkBytecodeDead(); \
} \
break; \
}
const char * name
Definition builtins.cc:39

◆ BYTECODE_VISITOR

#define BYTECODE_VISITOR ( name,
... )
Value:
ReduceResult Visit##name();

Definition at line 981 of file maglev-graph-builder.h.

◆ CONTINUATION_PRESERVED_EMBEDDER_DATA_LIST

#define CONTINUATION_PRESERVED_EMBEDDER_DATA_LIST ( V)

Definition at line 2095 of file maglev-graph-builder.h.

◆ DECLARE_VISITOR

#define DECLARE_VISITOR ( name,
... )
Value:
ReduceResult VisitIntrinsic##name(interpreter::RegisterList args);
base::Vector< const DirectHandle< Object > > args
Definition execution.cc:74

Definition at line 985 of file maglev-graph-builder.h.

◆ DEFINE_BUILTIN_REDUCER

#define DEFINE_BUILTIN_REDUCER ( Name,
... )
Value:
MaybeReduceResult TryReduce##Name(compiler::JSFunctionRef target, \
CallArguments& args);

Definition at line 2141 of file maglev-graph-builder.h.

◆ DEFINE_IS_ROOT_OBJECT

#define DEFINE_IS_ROOT_OBJECT ( type,
name,
CamelName )
Value:
bool Is##CamelName(ValueNode* value) const { \
if (RootConstant* constant = value->TryCast<RootConstant>()) { \
return constant->index() == RootIndex::k##CamelName; \
} \
return false; \
}

Definition at line 1534 of file maglev-graph-builder.h.

◆ GET_VALUE_OR_ABORT

#define GET_VALUE_OR_ABORT ( variable,
result )
Value:
do { \
MaybeReduceResult res = (result); \
if (res.IsDoneWithAbort()) { \
return ReduceResult::DoneWithAbort(); \
} \
DCHECK(res.IsDoneWithValue()); \
using T = std::remove_pointer_t<std::decay_t<decltype(variable)>>; \
variable = res.value()->Cast<T>(); \
} while (false)
ZoneVector< RpoNumber > & result

Definition at line 162 of file maglev-graph-builder.h.

◆ MAGLEV_REDUCED_BUILTIN

#define MAGLEV_REDUCED_BUILTIN ( V)

Definition at line 2098 of file maglev-graph-builder.h.

◆ PROCESS_AND_RETURN_IF_DONE

#define PROCESS_AND_RETURN_IF_DONE ( result,
value_processor )
Value:
do { \
auto res = (result); \
if (res.IsDone()) { \
if (res.IsDoneWithValue()) { \
value_processor(res.value()); \
} \
return res.Checked(); \
} \
} while (false)

Definition at line 151 of file maglev-graph-builder.h.

◆ RETURN_IF_ABORT

#define RETURN_IF_ABORT ( result)
Value:
do { \
if ((result).IsDoneWithAbort()) { \
return ReduceResult::DoneWithAbort(); \
} \
} while (false)

Definition at line 144 of file maglev-graph-builder.h.

◆ RETURN_IF_DONE

#define RETURN_IF_DONE ( result)
Value:
do { \
auto res = (result); \
if (res.IsDone()) { \
return res.Checked(); \
} \
} while (false)

Definition at line 136 of file maglev-graph-builder.h.