Adding CONTEXT_BARRIER to force the PPC context to synchronize.
This is just an annotation right now, as it's not actually needed.
This commit is contained in:
@@ -1211,6 +1211,10 @@ void HIRBuilder::StoreContext(size_t offset, Value* value) {
|
||||
i->src3.value = NULL;
|
||||
}
|
||||
|
||||
void HIRBuilder::ContextBarrier() {
|
||||
AppendInstr(OPCODE_CONTEXT_BARRIER_info, 0);
|
||||
}
|
||||
|
||||
Value* HIRBuilder::LoadMmio(cpu::MMIORange* mmio_range, uint32_t address,
|
||||
TypeName type) {
|
||||
Instr* i = AppendInstr(OPCODE_LOAD_MMIO_info, 0, AllocValue(type));
|
||||
|
||||
@@ -142,6 +142,7 @@ class HIRBuilder {
|
||||
|
||||
Value* LoadContext(size_t offset, TypeName type);
|
||||
void StoreContext(size_t offset, Value* value);
|
||||
void ContextBarrier();
|
||||
|
||||
Value* LoadMmio(cpu::MMIORange* mmio_range, uint32_t address, TypeName type);
|
||||
void StoreMmio(cpu::MMIORange* mmio_range, uint32_t address, Value* value);
|
||||
|
||||
@@ -148,6 +148,7 @@ enum Opcode {
|
||||
OPCODE_STORE_LOCAL,
|
||||
OPCODE_LOAD_CONTEXT,
|
||||
OPCODE_STORE_CONTEXT,
|
||||
OPCODE_CONTEXT_BARRIER,
|
||||
OPCODE_LOAD_MMIO,
|
||||
OPCODE_STORE_MMIO,
|
||||
OPCODE_LOAD,
|
||||
|
||||
@@ -213,6 +213,12 @@ DEFINE_OPCODE(
|
||||
OPCODE_SIG_X_O_V,
|
||||
0)
|
||||
|
||||
DEFINE_OPCODE(
|
||||
OPCODE_CONTEXT_BARRIER,
|
||||
"context_barrier",
|
||||
OPCODE_SIG_X,
|
||||
0)
|
||||
|
||||
DEFINE_OPCODE(
|
||||
OPCODE_LOAD_MMIO,
|
||||
"load_mmio",
|
||||
|
||||
Reference in New Issue
Block a user