20#ifndef REALM_INST_IMPL_H
21#define REALM_INST_IMPL_H
66 virtual void print(std::ostream &os)
const;
80 virtual void print(std::ostream &os)
const;
132 template <
int N,
typename T>
136 template <
int N,
typename T>
139 size_t &field_offset);
146 size_t datalen,
bool exclusive );
149 size_t datalen,
bool exclusive );
179 template <
typename T>
200 template <
typename T>
205 T *downcast =
dynamic_cast<T *
>(info);
213 template <
typename T>
218 const T *downcast =
dynamic_cast<const T *
>(info);
249 const void *data,
size_t datalen,
TimeLimit work_until);
Definition inst_impl.h:38
ReplicatedHeap * repl_heap
Definition inst_impl.h:51
void * program_base
Definition inst_impl.h:49
CompiledInstanceLayout(ReplicatedHeap *_repl_heap)
virtual void commit_updates()
~CompiledInstanceLayout()
virtual void * allocate_memory(size_t bytes)
size_t program_size
Definition inst_impl.h:50
Definition event_impl.h:49
static const Event NO_EVENT
The value should be usued to initialize an event handle. NO_EVENT is always in has triggered state .
Definition event.h:71
Definition instance.h:405
Definition inst_layout.h:164
Definition mem_impl.h:212
MemSpecificInfo * next
Definition mem_impl.h:217
AllocationResult
Definition mem_impl.h:89
Definition inst_layout.h:97
Definition processor.h:37
Definition profiling.h:393
Definition profiling.h:363
Definition inst_impl.h:61
virtual void print(std::ostream &os) const
virtual Event get_finish_event(void) const
bool need_alloc_result
Definition inst_impl.h:72
RegionInstanceImpl * inst
Definition inst_impl.h:70
virtual void event_triggered(bool poisoned, TimeLimit work_until)
void defer(RegionInstanceImpl *_inst, MemoryImpl *_mem, bool _need_alloc_result, Event wait_on)
MemoryImpl * mem
Definition inst_impl.h:71
Definition inst_impl.h:76
virtual Event get_finish_event(void) const
void defer(RegionInstanceImpl *_inst, MemoryImpl *_mem, Event wait_on)
RegionInstanceImpl * inst
Definition inst_impl.h:84
MemoryImpl * mem
Definition inst_impl.h:85
virtual void print(std::ostream &os) const
virtual void event_triggered(bool poisoned, TimeLimit work_until)
Definition inst_impl.h:54
Event prefetch_metadata(NodeID target)
static constexpr size_t INSTOFFSET_FAILED
Definition inst_impl.h:168
RegionInstanceImpl(const RuntimeImpl *_runtime_impl, RegionInstance _me, MemoryImpl *_memory)
static Event create_instance(RegionInstance &inst, MemoryImpl *memory, InstanceLayoutGeneric *ilg, const ExternalInstanceResource *res, const ProfilingRequestSet &prs, Event wait_on)
ProfilingRequestSet requests
Definition inst_impl.h:162
ProfilingMeasurements::InstanceTimeline timeline
Definition inst_impl.h:164
static constexpr size_t INSTOFFSET_MAXVALID
Definition inst_impl.h:172
std::vector< RegionInstanceImpl * > deferred_redistrict
Definition inst_impl.h:91
Event redistrict(RegionInstance *instances, const InstanceLayoutGeneric **layouts, size_t num_layouts, const ProfilingRequestSet *prs, Event wait_on=Event::NO_EVENT)
bool get_strided_parameters(void *&base, size_t &stride, off_t field_offset) const
Event request_metadata(void)
Definition inst_impl.h:121
static constexpr size_t INSTOFFSET_DELAYEDDESTROY
Definition inst_impl.h:170
Metadata metadata
Definition inst_impl.h:231
void * pointer_untyped(size_t offset, size_t datalen)
void recycle_instance(void)
MemoryImpl * mem_impl
Definition inst_impl.h:160
const PieceLookup::Instruction * get_lookup_program(FieldID field_id, const Rect< N, T > &subrect, unsigned allowed_mask, size_t &field_offset)
std::map< NodeID, Event > prefetch_events
Definition inst_impl.h:233
void reduce_fold_untyped(size_t offset, ReductionOpID redop_id, const void *data, size_t datalen, bool exclusive)
void notify_deallocation(void)
Event fetch_metadata(Processor target)
void send_metadata(const NodeSet &early_reqs)
DeferredCreate deferred_create
Definition inst_impl.h:74
Mutex mutex
Definition inst_impl.h:230
void release(Event wait_on)
Release this instance and the resources it holds after wait_on has been triggered.
~RegionInstanceImpl(void)
DeferredDestroy deferred_destroy
Definition inst_impl.h:87
static constexpr size_t INSTOFFSET_DELAYEDREDISTRICT
Definition inst_impl.h:171
ProfilingMeasurementCollection measurements
Definition inst_impl.h:163
ReservationImpl lock
Definition inst_impl.h:236
void reduce_apply_untyped(size_t offset, ReductionOpID redop_id, const void *data, size_t datalen, bool exclusive)
void notify_allocation(MemoryImpl::AllocationResult result, size_t offset, TimeLimit work_until)
void write_untyped(size_t offset, const void *data, size_t datalen)
static constexpr size_t INSTOFFSET_UNALLOCATED
Definition inst_impl.h:167
void read_untyped(size_t offset, void *data, size_t datalen) const
const PieceLookup::Instruction * get_lookup_program(FieldID field_id, unsigned allowed_mask, uintptr_t &field_offset)
RegionInstance me
Definition inst_impl.h:158
static constexpr size_t INSTOFFSET_DELAYEDALLOC
Definition inst_impl.h:169
id_t id
Definition instance.h:69
Definition repl_heap.h:30
Definition rsrv_impl.h:57
Definition runtime_impl.h:264
Definition activemsg.h:38
realm_field_id_t FieldID
Definition instance.h:45
int NodeID
Definition nodeset.h:40
::realm_reduction_op_id_t ReductionOpID
Definition event.h:38
Definition inst_layout.h:131
Definition profiling.h:260