v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
operation-typer.cc File Reference
Include dependency graph for operation-typer.cc:

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::compiler
 

Macros

#define SPECULATIVE_NUMBER_BINOP(Name)
 
#define MACHINE_BINOP(Name)
 
#define BIGINT_BINOP(Name)
 
#define SPECULATIVE_BIGINT_BINOP(Name)
 

Macro Definition Documentation

◆ BIGINT_BINOP

#define BIGINT_BINOP ( Name)
Value:
Type OperationTyper::Name(Type lhs, Type rhs) { \
DCHECK(lhs.Is(Type::BigInt())); \
DCHECK(rhs.Is(Type::BigInt())); \
if (lhs.IsNone() || rhs.IsNone()) return Type::None(); \
return Type::BigInt(); \
}

Definition at line 1191 of file operation-typer.cc.

◆ MACHINE_BINOP

#define MACHINE_BINOP ( Name)
Value:
Type OperationTyper::Name(Type, Type) { return Type::Machine(); }

Definition at line 1182 of file operation-typer.cc.

◆ SPECULATIVE_BIGINT_BINOP

#define SPECULATIVE_BIGINT_BINOP ( Name)
Value:
Type OperationTyper::Name(Type lhs, Type rhs) { \
if (lhs.IsNone() || rhs.IsNone()) return Type::None(); \
return Type::BigInt(); \
}

Definition at line 1208 of file operation-typer.cc.

◆ SPECULATIVE_NUMBER_BINOP

#define SPECULATIVE_NUMBER_BINOP ( Name)
Value:
Type OperationTyper::Speculative##Name(Type lhs, Type rhs) { \
lhs = SpeculativeToNumber(lhs); \
rhs = SpeculativeToNumber(rhs); \
return Name(lhs, rhs); \
}

Definition at line 1162 of file operation-typer.cc.