equal
deleted
inserted
replaced
48 self tempKeys: keys, new. |
48 self tempKeys: keys, new. |
49 |
49 |
50 "Modified: / 12-08-2009 / 09:22:05 / Jan Vrany <vranyj1@fel.cvut.cz>" |
50 "Modified: / 12-08-2009 / 09:22:05 / Jan Vrany <vranyj1@fel.cvut.cz>" |
51 ! |
51 ! |
52 |
52 |
53 addTempsIfNotDefined: temps |
|
54 |
|
55 | ir tempsToAdd | |
|
56 ir := self. |
|
57 tempsToAdd := temps asSet. |
|
58 [ ir isNil ] whileFalse: |
|
59 [ir tempNames do: |
|
60 [:temp| |
|
61 (tempsToAdd includes:temp) |
|
62 ifTrue:[tempsToAdd remove: temp]]. |
|
63 ir := ir environmentIr]. |
|
64 tempsToAdd isEmpty ifTrue:[^self]. |
|
65 self addTemps: tempsToAdd |
|
66 |
|
67 "Created: / 23-03-2010 / 13:51:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
68 ! |
|
69 |
|
70 additionalLiterals |
53 additionalLiterals |
71 ^additionalLiterals. |
54 ^additionalLiterals. |
72 ! |
55 ! |
73 |
56 |
74 allInstructions |
57 allInstructions |
106 ^self allInstructionsMatching: [:bc | bc isTempRead]. |
89 ^self allInstructionsMatching: [:bc | bc isTempRead]. |
107 ! |
90 ! |
108 |
91 |
109 allTempWriteInstructions |
92 allTempWriteInstructions |
110 ^self allInstructionsMatching: [:bc | bc isTempStore]. |
93 ^self allInstructionsMatching: [:bc | bc isTempStore]. |
111 ! |
|
112 |
|
113 environmentIr |
|
114 ^ environmentIr |
|
115 ! |
94 ! |
116 |
95 |
117 ir |
96 ir |
118 ^self. |
97 ^self. |
119 ! |
98 ! |
193 !IRFunction methodsFor:'debugging support'! |
172 !IRFunction methodsFor:'debugging support'! |
194 |
173 |
195 inspector2TabIRCode |
174 inspector2TabIRCode |
196 |
175 |
197 ^Tools::Inspector2Tab new |
176 ^Tools::Inspector2Tab new |
198 label: 'IR Code'; |
177 label: 'IR Code'; |
199 priority: 75; |
178 priority: 75; |
200 text: self longPrintString. |
179 view: ((ScrollableView for:TextView) contents: self longPrintString; yourself) |
201 |
180 |
202 "Created: / 11-06-2008 / 01:05:16 / Jan Vrany <vranyj1@fel.cvut.cz>" |
181 "Created: / 11-06-2008 / 01:05:16 / Jan Vrany <vranyj1@fel.cvut.cz>" |
203 "Modified: / 15-02-2010 / 13:04:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
204 ! ! |
182 ! ! |
205 |
183 |
206 !IRFunction methodsFor:'decompiling'! |
184 !IRFunction methodsFor:'decompiling'! |
207 |
185 |
208 ast |
186 ast |
498 ! ! |
476 ! ! |
499 |
477 |
500 !IRFunction class methodsFor:'documentation'! |
478 !IRFunction class methodsFor:'documentation'! |
501 |
479 |
502 version |
480 version |
503 ^ '$Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRFunction.st,v 1.4 2009/10/08 11:59:08 fm Exp $' |
481 ^ '$Id$' |
504 ! |
482 ! |
505 |
483 |
506 version_CVS |
484 version_CVS |
507 ^ '$Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRFunction.st,v 1.4 2009/10/08 11:59:08 fm Exp $' |
485 ^ '§Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRFunction.st,v 1.4 2009/10/08 11:59:08 fm Exp §' |
508 ! |
486 ! |
509 |
487 |
510 version_SVN |
488 version_SVN |
511 ^ '$Id$' |
489 ^ '$Id:: $' |
512 ! ! |
490 ! ! |