Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: runtime/vm/stack_frame.h

Issue 2376843002: Pass new pool pointer to the JumpToException stub instead of reloading in through the frame's Code … (Closed)
Patch Set: . Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/simulator_mips.cc ('k') | runtime/vm/stub_code_arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_STACK_FRAME_H_ 5 #ifndef VM_STACK_FRAME_H_
6 #define VM_STACK_FRAME_H_ 6 #define VM_STACK_FRAME_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/object.h" 9 #include "vm/object.h"
10 #include "vm/stub_code.h" 10 #include "vm/stub_code.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 53
54 void set_pc(uword value) { 54 void set_pc(uword value) {
55 *reinterpret_cast<uword*>(sp() + (kSavedPcSlotFromSp * kWordSize)) = value; 55 *reinterpret_cast<uword*>(sp() + (kSavedPcSlotFromSp * kWordSize)) = value;
56 } 56 }
57 57
58 void set_pc_marker(RawCode* code) { 58 void set_pc_marker(RawCode* code) {
59 *reinterpret_cast<RawCode**>(fp() + (kPcMarkerSlotFromFp * kWordSize)) = 59 *reinterpret_cast<RawCode**>(fp() + (kPcMarkerSlotFromFp * kWordSize)) =
60 code; 60 code;
61 } 61 }
62 62
63 #if !defined(TARGET_ARCH_IA32) && !defined(TARGET_ARCH_DBC)
64 uword* saved_caller_pp_slot() const {
65 return reinterpret_cast<uword*>(fp() +
66 SavedCallerPpSlotFromFp() * kWordSize);
67 }
68 #endif
69
63 // Visit objects in the frame. 70 // Visit objects in the frame.
64 virtual void VisitObjectPointers(ObjectPointerVisitor* visitor); 71 virtual void VisitObjectPointers(ObjectPointerVisitor* visitor);
65 72
66 const char* ToCString() const; 73 const char* ToCString() const;
67 74
68 // Check validity of a frame, used for assertion purposes. 75 // Check validity of a frame, used for assertion purposes.
69 virtual bool IsValid() const; 76 virtual bool IsValid() const;
70 77
71 // Frame type. 78 // Frame type.
72 virtual bool IsDartFrame(bool validate = true) const { 79 virtual bool IsDartFrame(bool validate = true) const {
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 379
373 380
374 DART_FORCE_INLINE static uword LocalVarAddress(uword fp, intptr_t index) { 381 DART_FORCE_INLINE static uword LocalVarAddress(uword fp, intptr_t index) {
375 return fp + LocalVarIndex(0, index) * kWordSize; 382 return fp + LocalVarIndex(0, index) * kWordSize;
376 } 383 }
377 384
378 385
379 } // namespace dart 386 } // namespace dart
380 387
381 #endif // VM_STACK_FRAME_H_ 388 #endif // VM_STACK_FRAME_H_
OLDNEW
« no previous file with comments | « runtime/vm/simulator_mips.cc ('k') | runtime/vm/stub_code_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698