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

Side by Side Diff: pkg/compiler/lib/src/universe/side_effects.dart

Issue 1859343004: dartfmt pkg/compiler (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 library universe.side_effects; 5 library universe.side_effects;
6 6
7 class SideEffects { 7 class SideEffects {
8 // Changes flags. 8 // Changes flags.
9 static const int FLAG_CHANGES_INDEX = 0; 9 static const int FLAG_CHANGES_INDEX = 0;
10 static const int FLAG_CHANGES_INSTANCE_PROPERTY = FLAG_CHANGES_INDEX + 1; 10 static const int FLAG_CHANGES_INSTANCE_PROPERTY = FLAG_CHANGES_INDEX + 1;
11 static const int FLAG_CHANGES_STATIC_PROPERTY 11 static const int FLAG_CHANGES_STATIC_PROPERTY =
12 = FLAG_CHANGES_INSTANCE_PROPERTY + 1; 12 FLAG_CHANGES_INSTANCE_PROPERTY + 1;
13 static const int FLAG_CHANGES_COUNT = FLAG_CHANGES_STATIC_PROPERTY + 1; 13 static const int FLAG_CHANGES_COUNT = FLAG_CHANGES_STATIC_PROPERTY + 1;
14 14
15 // Depends flags (one for each changes flag). 15 // Depends flags (one for each changes flag).
16 static const int FLAG_DEPENDS_ON_INDEX_STORE = FLAG_CHANGES_COUNT; 16 static const int FLAG_DEPENDS_ON_INDEX_STORE = FLAG_CHANGES_COUNT;
17 static const int FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE = 17 static const int FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE =
18 FLAG_DEPENDS_ON_INDEX_STORE + 1; 18 FLAG_DEPENDS_ON_INDEX_STORE + 1;
19 static const int FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE = 19 static const int FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE =
20 FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE + 1; 20 FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE + 1;
21 static const int FLAG_DEPENDS_ON_COUNT = 21 static const int FLAG_DEPENDS_ON_COUNT =
22 FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE + 1; 22 FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE + 1;
23 23
24 int _flags = 0; 24 int _flags = 0;
25 25
26 SideEffects() { 26 SideEffects() {
27 setAllSideEffects(); 27 setAllSideEffects();
28 setDependsOnSomething(); 28 setDependsOnSomething();
29 } 29 }
30 30
31 SideEffects.empty() { 31 SideEffects.empty() {
32 clearAllDependencies(); 32 clearAllDependencies();
33 clearAllSideEffects(); 33 clearAllSideEffects();
34 } 34 }
35 35
36 bool operator==(other) => _flags == other._flags; 36 bool operator ==(other) => _flags == other._flags;
37 37
38 int get hashCode => throw new UnsupportedError('SideEffects.hashCode'); 38 int get hashCode => throw new UnsupportedError('SideEffects.hashCode');
39 39
40 bool _getFlag(int position) => (_flags & (1 << position)) != 0; 40 bool _getFlag(int position) => (_flags & (1 << position)) != 0;
41 void _setFlag(int position) { _flags |= (1 << position); } 41 void _setFlag(int position) {
42 void _clearFlag(int position) { _flags &= ~(1 << position); } 42 _flags |= (1 << position);
43 }
44
45 void _clearFlag(int position) {
46 _flags &= ~(1 << position);
47 }
43 48
44 int getChangesFlags() => _flags & ((1 << FLAG_CHANGES_COUNT) - 1); 49 int getChangesFlags() => _flags & ((1 << FLAG_CHANGES_COUNT) - 1);
45 int getDependsOnFlags() { 50 int getDependsOnFlags() {
46 return (_flags & ((1 << FLAG_DEPENDS_ON_COUNT) - 1)) >> FLAG_CHANGES_COUNT; 51 return (_flags & ((1 << FLAG_DEPENDS_ON_COUNT) - 1)) >> FLAG_CHANGES_COUNT;
47 } 52 }
48 53
49 bool hasSideEffects() => getChangesFlags() != 0; 54 bool hasSideEffects() => getChangesFlags() != 0;
50 bool dependsOnSomething() => getDependsOnFlags() != 0; 55 bool dependsOnSomething() => getDependsOnFlags() != 0;
51 56
52 void setAllSideEffects() { _flags |= ((1 << FLAG_CHANGES_COUNT) - 1); } 57 void setAllSideEffects() {
58 _flags |= ((1 << FLAG_CHANGES_COUNT) - 1);
59 }
53 60
54 void clearAllSideEffects() { _flags &= ~((1 << FLAG_CHANGES_COUNT) - 1); } 61 void clearAllSideEffects() {
62 _flags &= ~((1 << FLAG_CHANGES_COUNT) - 1);
63 }
55 64
56 void setDependsOnSomething() { 65 void setDependsOnSomething() {
57 int count = FLAG_DEPENDS_ON_COUNT - FLAG_CHANGES_COUNT; 66 int count = FLAG_DEPENDS_ON_COUNT - FLAG_CHANGES_COUNT;
58 _flags |= (((1 << count) - 1) << FLAG_CHANGES_COUNT); 67 _flags |= (((1 << count) - 1) << FLAG_CHANGES_COUNT);
59 } 68 }
69
60 void clearAllDependencies() { 70 void clearAllDependencies() {
61 int count = FLAG_DEPENDS_ON_COUNT - FLAG_CHANGES_COUNT; 71 int count = FLAG_DEPENDS_ON_COUNT - FLAG_CHANGES_COUNT;
62 _flags &= ~(((1 << count) - 1) << FLAG_CHANGES_COUNT); 72 _flags &= ~(((1 << count) - 1) << FLAG_CHANGES_COUNT);
63 } 73 }
64 74
65 bool dependsOnStaticPropertyStore() { 75 bool dependsOnStaticPropertyStore() {
66 return _getFlag(FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE); 76 return _getFlag(FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE);
67 } 77 }
78
68 void setDependsOnStaticPropertyStore() { 79 void setDependsOnStaticPropertyStore() {
69 _setFlag(FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE); 80 _setFlag(FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE);
70 } 81 }
82
71 void clearDependsOnStaticPropertyStore() { 83 void clearDependsOnStaticPropertyStore() {
72 _clearFlag(FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE); 84 _clearFlag(FLAG_DEPENDS_ON_STATIC_PROPERTY_STORE);
73 } 85 }
74 void setChangesStaticProperty() { _setFlag(FLAG_CHANGES_STATIC_PROPERTY); } 86
87 void setChangesStaticProperty() {
88 _setFlag(FLAG_CHANGES_STATIC_PROPERTY);
89 }
90
75 void clearChangesStaticProperty() { 91 void clearChangesStaticProperty() {
76 _clearFlag(FLAG_CHANGES_STATIC_PROPERTY); 92 _clearFlag(FLAG_CHANGES_STATIC_PROPERTY);
77 } 93 }
94
78 bool changesStaticProperty() => _getFlag(FLAG_CHANGES_STATIC_PROPERTY); 95 bool changesStaticProperty() => _getFlag(FLAG_CHANGES_STATIC_PROPERTY);
79 96
80 bool dependsOnIndexStore() => _getFlag(FLAG_DEPENDS_ON_INDEX_STORE); 97 bool dependsOnIndexStore() => _getFlag(FLAG_DEPENDS_ON_INDEX_STORE);
81 void setDependsOnIndexStore() { _setFlag(FLAG_DEPENDS_ON_INDEX_STORE); } 98 void setDependsOnIndexStore() {
82 void clearDependsOnIndexStore() { _clearFlag(FLAG_DEPENDS_ON_INDEX_STORE); } 99 _setFlag(FLAG_DEPENDS_ON_INDEX_STORE);
83 void setChangesIndex() { _setFlag(FLAG_CHANGES_INDEX); } 100 }
84 void clearChangesIndex() { _clearFlag(FLAG_CHANGES_INDEX); } 101
102 void clearDependsOnIndexStore() {
103 _clearFlag(FLAG_DEPENDS_ON_INDEX_STORE);
104 }
105
106 void setChangesIndex() {
107 _setFlag(FLAG_CHANGES_INDEX);
108 }
109
110 void clearChangesIndex() {
111 _clearFlag(FLAG_CHANGES_INDEX);
112 }
113
85 bool changesIndex() => _getFlag(FLAG_CHANGES_INDEX); 114 bool changesIndex() => _getFlag(FLAG_CHANGES_INDEX);
86 115
87 bool dependsOnInstancePropertyStore() { 116 bool dependsOnInstancePropertyStore() {
88 return _getFlag(FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE); 117 return _getFlag(FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE);
89 } 118 }
119
90 void setDependsOnInstancePropertyStore() { 120 void setDependsOnInstancePropertyStore() {
91 _setFlag(FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE); 121 _setFlag(FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE);
92 } 122 }
123
93 void clearDependsOnInstancePropertyStore() { 124 void clearDependsOnInstancePropertyStore() {
94 _setFlag(FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE); 125 _setFlag(FLAG_DEPENDS_ON_INSTANCE_PROPERTY_STORE);
95 } 126 }
127
96 void setChangesInstanceProperty() { 128 void setChangesInstanceProperty() {
97 _setFlag(FLAG_CHANGES_INSTANCE_PROPERTY); 129 _setFlag(FLAG_CHANGES_INSTANCE_PROPERTY);
98 } 130 }
131
99 void clearChangesInstanceProperty() { 132 void clearChangesInstanceProperty() {
100 _clearFlag(FLAG_CHANGES_INSTANCE_PROPERTY); 133 _clearFlag(FLAG_CHANGES_INSTANCE_PROPERTY);
101 } 134 }
135
102 bool changesInstanceProperty() => _getFlag(FLAG_CHANGES_INSTANCE_PROPERTY); 136 bool changesInstanceProperty() => _getFlag(FLAG_CHANGES_INSTANCE_PROPERTY);
103 137
104 static int computeDependsOnFlags(int flags) => flags << FLAG_CHANGES_COUNT; 138 static int computeDependsOnFlags(int flags) => flags << FLAG_CHANGES_COUNT;
105 139
106 bool dependsOn(int dependsFlags) => (_flags & dependsFlags) != 0; 140 bool dependsOn(int dependsFlags) => (_flags & dependsFlags) != 0;
107 141
108 void add(SideEffects other) { 142 void add(SideEffects other) {
109 _flags |= other._flags; 143 _flags |= other._flags;
110 } 144 }
111 145
(...skipping 10 matching lines...) Expand all
122 if (!dependsOnSomething()) buffer.write(' nothing'); 156 if (!dependsOnSomething()) buffer.write(' nothing');
123 buffer.write(', Changes'); 157 buffer.write(', Changes');
124 if (changesIndex()) buffer.write(' []'); 158 if (changesIndex()) buffer.write(' []');
125 if (changesInstanceProperty()) buffer.write(' field'); 159 if (changesInstanceProperty()) buffer.write(' field');
126 if (changesStaticProperty()) buffer.write(' static'); 160 if (changesStaticProperty()) buffer.write(' static');
127 if (!hasSideEffects()) buffer.write(' nothing'); 161 if (!hasSideEffects()) buffer.write(' nothing');
128 buffer.write('.'); 162 buffer.write('.');
129 return buffer.toString(); 163 return buffer.toString();
130 } 164 }
131 } 165 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/universe/selector.dart ('k') | pkg/compiler/lib/src/universe/universe.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698