Home | History | Annotate | Download | only in runtime

Lines Matching refs:ShadowFrame

45 class ShadowFrame;
71 using ShadowFrameAllocaUniquePtr = std::unique_ptr<ShadowFrame, ShadowFrameDeleter>;
74 // The vector will be visited with the ShadowFrame during GC (so all the locked-on objects are
112 // ShadowFrame has 2 possible layouts:
115 class ShadowFrame {
117 // Compute size of ShadowFrame in bytes assuming it has a reference array.
119 return sizeof(ShadowFrame) + (sizeof(uint32_t) * num_vregs) +
123 // Create ShadowFrame in heap for deoptimization.
124 static ShadowFrame* CreateDeoptimizedFrame(uint32_t num_vregs, ShadowFrame* link,
130 // Delete a ShadowFrame allocated on the heap for deoptimization.
131 static void DeleteDeoptimizedFrame(ShadowFrame* sf) {
132 sf->~ShadowFrame(); // Explicitly destruct.
140 size_t frame_size = ShadowFrame::ComputeSize(num_vregs); \
143 ShadowFrame::CreateShadowFrameImpl((num_vregs), (link), (method), (dex_pc), \
147 ~ShadowFrame() {}
184 ShadowFrame* GetLink() const {
188 void SetLink(ShadowFrame* frame) {
354 return OFFSETOF_MEMBER(ShadowFrame, lock_count_data_);
358 return OFFSETOF_MEMBER(ShadowFrame, link_);
362 return OFFSETOF_MEMBER(ShadowFrame, method_);
366 return OFFSETOF_MEMBER(ShadowFrame, dex_pc_);
370 return OFFSETOF_MEMBER(ShadowFrame, number_of_vregs_);
374 return OFFSETOF_MEMBER(ShadowFrame, vregs_);
378 return OFFSETOF_MEMBER(ShadowFrame, result_register_);
382 return OFFSETOF_MEMBER(ShadowFrame, dex_pc_ptr_);
386 return OFFSETOF_MEMBER(ShadowFrame, code_item_);
390 return OFFSETOF_MEMBER(ShadowFrame, cached_hotness_countdown_);
394 return OFFSETOF_MEMBER(ShadowFrame, hotness_countdown_);
397 // Create ShadowFrame for interpreter using provided memory.
398 static ShadowFrame* CreateShadowFrameImpl(uint32_t num_vregs,
399 ShadowFrame* link,
403 return new (memory) ShadowFrame(num_vregs, link, method, dex_pc, true);
415 ShadowFrame(uint32_t num_vregs, ShadowFrame* link, ArtMethod* method,
436 const_cast<const ShadowFrame*>(this)->References());
440 ShadowFrame* link_;
461 DISALLOW_IMPLICIT_CONSTRUCTORS(ShadowFrame);
465 inline void operator()(ShadowFrame* frame) {
467 frame->~ShadowFrame();
526 ShadowFrame* PushShadowFrame(ShadowFrame* new_top_frame) {
528 ShadowFrame* old_frame = top_shadow_frame_;
534 ShadowFrame* PopShadowFrame() {
537 ShadowFrame* frame = top_shadow_frame_;
542 ShadowFrame* GetTopShadowFrame() const {
546 void SetTopShadowFrame(ShadowFrame* top) {
562 ShadowFrame* top_shadow_frame_;
749 ShadowFrame* GetCurrentShadowFrame() const {
818 ShadowFrame* cur_shadow_frame_;