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

Go to the source code of this file.

Classes

class  v8::internal::compiler::RawMachineAssembler
 
class  v8::internal::compiler::RawMachineLabel
 

Namespaces

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

Macros

#define VALUE_HALVES   value, value_high
 
#define ATOMIC_FUNCTION(name)
 
#define INTPTR_BINOP(prefix, name)
 
#define UINTPTR_BINOP(prefix, name)
 

Macro Definition Documentation

◆ ATOMIC_FUNCTION

#define ATOMIC_FUNCTION ( name)
Value:
Node* Atomic##name(MachineType type, Node* base, Node* index, Node* value) { \
DCHECK_NE(type.representation(), MachineRepresentation::kWord64); \
return AddNode(machine()->Word32Atomic##name(type), base, index, value); \
} \
Node* Atomic##name##64(Node * base, Node * index, Node * value, \
Node * value_high) { \
if (machine()->Is64()) { \
DCHECK_NULL(value_high); \
/* This uses Uint64() intentionally: Atomic operations are not */ \
/* implemented for Int64(), which is fine because the machine */ \
/* instruction only cares about words. */ \
return AddNode(machine()->Word64Atomic##name(MachineType::Uint64()), \
base, index, value); \
} else { \
return AddNode(machine()->Word32AtomicPair##name(), base, index, \
} \
}
const char * name
Definition builtins.cc:39
OptionalOpIndex index
#define VALUE_HALVES
std::unique_ptr< ValueMirror > value

Definition at line 318 of file raw-machine-assembler.h.

◆ INTPTR_BINOP

#define INTPTR_BINOP ( prefix,
name )
Value:
Node* IntPtr##name(Node* a, Node* b) { \
return kSystemPointerSize == 8 ? prefix##64##name(a, b) \
: prefix##32##name(a, b); \
}

Definition at line 632 of file raw-machine-assembler.h.

◆ UINTPTR_BINOP

#define UINTPTR_BINOP ( prefix,
name )
Value:
Node* UintPtr##name(Node* a, Node* b) { \
return kSystemPointerSize == 8 ? prefix##64##name(a, b) \
: prefix##32##name(a, b); \
}

Definition at line 656 of file raw-machine-assembler.h.

◆ VALUE_HALVES

#define VALUE_HALVES   value, value_high

Definition at line 294 of file raw-machine-assembler.h.