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

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

Issue 2974233002: VM: Re-format to use at most one newline between functions (Closed)
Patch Set: Rebase and merge Created 3 years, 5 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/stack_frame.cc ('k') | runtime/vm/stack_frame_test.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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 RUNTIME_VM_STACK_FRAME_DBC_H_ 5 #ifndef RUNTIME_VM_STACK_FRAME_DBC_H_
6 #define RUNTIME_VM_STACK_FRAME_DBC_H_ 6 #define RUNTIME_VM_STACK_FRAME_DBC_H_
7 7
8 namespace dart { 8 namespace dart {
9 9
10 /* DBC Frame Layout 10 /* DBC Frame Layout
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 static const int kFunctionSlotFromFp = -4; 48 static const int kFunctionSlotFromFp = -4;
49 49
50 // Note: These constants don't match actual DBC behavior. This is done because 50 // Note: These constants don't match actual DBC behavior. This is done because
51 // setting kFirstLocalSlotFromFp to 0 breaks assumptions spread across the code. 51 // setting kFirstLocalSlotFromFp to 0 breaks assumptions spread across the code.
52 // Instead for the purposes of local variable allocation we pretend that DBC 52 // Instead for the purposes of local variable allocation we pretend that DBC
53 // behaves as other architectures (stack growing downwards) and later fix 53 // behaves as other architectures (stack growing downwards) and later fix
54 // these indices during code generation in the backend. 54 // these indices during code generation in the backend.
55 static const int kParamEndSlotFromFp = 4; // One slot past last parameter. 55 static const int kParamEndSlotFromFp = 4; // One slot past last parameter.
56 static const int kFirstLocalSlotFromFp = -1; 56 static const int kFirstLocalSlotFromFp = -1;
57 57
58
59 DART_FORCE_INLINE static intptr_t LocalVarIndex(intptr_t fp_offset, 58 DART_FORCE_INLINE static intptr_t LocalVarIndex(intptr_t fp_offset,
60 intptr_t var_index) { 59 intptr_t var_index) {
61 ASSERT(var_index != 0); 60 ASSERT(var_index != 0);
62 if (var_index > 0) { 61 if (var_index > 0) {
63 return fp_offset - var_index; 62 return fp_offset - var_index;
64 } else { 63 } else {
65 return fp_offset - (var_index + 1); 64 return fp_offset - (var_index + 1);
66 } 65 }
67 } 66 }
68 67
69
70 DART_FORCE_INLINE static uword ParamAddress(uword fp, intptr_t reverse_index) { 68 DART_FORCE_INLINE static uword ParamAddress(uword fp, intptr_t reverse_index) {
71 return fp - (kDartFrameFixedSize + reverse_index) * kWordSize; 69 return fp - (kDartFrameFixedSize + reverse_index) * kWordSize;
72 } 70 }
73 71
74 DART_FORCE_INLINE static bool IsCalleeFrameOf(uword fp, uword other_fp) { 72 DART_FORCE_INLINE static bool IsCalleeFrameOf(uword fp, uword other_fp) {
75 return other_fp > fp; 73 return other_fp > fp;
76 } 74 }
77 75
78 static const int kExitLinkSlotFromEntryFp = 0; 76 static const int kExitLinkSlotFromEntryFp = 0;
79 77
80 // Value for stack limit that is used to cause an interrupt. 78 // Value for stack limit that is used to cause an interrupt.
81 // Note that on DBC stack is growing upwards so interrupt limit is 0 unlike 79 // Note that on DBC stack is growing upwards so interrupt limit is 0 unlike
82 // on all other architectures. 80 // on all other architectures.
83 static const uword kInterruptStackLimit = 0; 81 static const uword kInterruptStackLimit = 0;
84 82
85 } // namespace dart 83 } // namespace dart
86 84
87 #endif // RUNTIME_VM_STACK_FRAME_DBC_H_ 85 #endif // RUNTIME_VM_STACK_FRAME_DBC_H_
OLDNEW
« no previous file with comments | « runtime/vm/stack_frame.cc ('k') | runtime/vm/stack_frame_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698