Subversion Repositories filter_foundry

Compare Revisions

Regard whitespace Rev 403 → Rev 404

/trunk/wpj/README.md
73,6 → 73,51
assignments in between.
 
 
Attention! Some optimizations break the code
--------------------------------------------
 
Don't choose "Fastest possible code (-otexan)" for optimization!
 
As soon as "Disable stack depth checking" is enabled, the code crashes
on some combinations of machines and Photoshop versions.
 
Win98 VM + Photoshop 3.0.x: Clicking any button (Make, Load, Cancel) will cause SegFault.
Win10 PC + Photoshop 3.0.x: No problem.
 
"otexan" contains "s" (because "ox" is equal to "obmiler" and "s").
 
So, "-otexan" means:
 
- Branch prediction (-ob)
- Loop optimizations (-ol)
- In-line intrinsic functions (-oi)
- Instruction scheduling (-or)
- Math optimizations (-om)
- Expand function in-line (-oe)
- Disable stack depth checking (-s)
 
The program works if "-ot" is enabled and all other optimizations (except "s") are enabled.
 
However, for now we just use the optimizations which "-otaxan" contains, except "s",
so we enabled:
 
- Time optimizations (-ot)
- Branch prediction (-ob)
- Loop optimizations (-ol)
- In-line intrinsic functions (-oi)
- Instruction scheduling (-or)
- Math optimizations (-om)
- Expand function in-line (-oe)
 
I haven't been able to detect why/where the stack is overloaded.
If anyone has an idea, please contact me.
Maybe the initial stack size is just too small?
Because the code should be OK - Application Verifier has not detected anything wrong.
 
https://open-watcom.github.io/open-watcom-v2-wikidocs/c_readme.html
http://www.azillionmonkeys.com/qed/watfaq.shtml (Q19)
 
 
Remarks
-------
 
/trunk/wpj/filterfoundry.tgt
104,7 → 104,7
COBJ
25
WVList
10
18
26
MVState
27
185,12 → 185,12
WCC
46
WString
26
?????Fastest possible code
23
?????Time optimizations
1
1
47
MRState
MCState
48
WString
3
197,12 → 197,12
WCC
49
WString
29
?????No debugging information
22
?????Branch prediction
1
1
50
MRState
MCState
51
WString
3
209,44 → 209,144
WCC
52
WString
23
?????Loop optimizations
1
1
53
MCState
54
WString
3
WCC
55
WString
32
?????In-line intrinsic functions
1
1
56
MCState
57
WString
3
WCC
58
WString
27
?????Instruction scheduling
1
1
59
MCState
60
WString
3
WCC
61
WString
23
?????Math optimizations
1
1
62
MVState
63
WString
3
WCC
64
WString
29
?????Expand function in-line:
1
65
WString
2
20
1
66
MRState
67
WString
3
WCC
68
WString
29
?????No debugging information
1
1
69
MRState
70
WString
3
WCC
71
WString
24
?????Full debugging info
1
 
53
72
MRState
54
73
WString
3
WCC
55
74
WString
21
?????Compiler default
1
 
75
MRState
76
WString
3
WCC
77
WString
32
?????Inline Pentium instructions
1
1
78
MRState
79
WString
3
WCC
80
WString
39
??2??Pentium Pro register-based calling
1
 
56
81
MRState
57
82
WString
3
WCC
58
83
WString
36
??2??Pentium Pro stack-based calling
1
1
59
84
WVList
1
60
85
ActionStates
61
86
WString
5
&Make
62
87
WVList
 
-1
253,18 → 353,18
1
1
 
63
88
MItem
10
..\funcs.c
64
89
WString
4
COBJ
65
90
WVList
 
66
91
WVList
 
23
271,18 → 371,18
1
1
 
67
92
MItem
11
..\lex_yy.c
68
93
WString
4
COBJ
69
94
WVList
 
70
95
WVList
 
23
289,18 → 389,18
1
1
 
71
96
MItem
13
..\load_win.c
72
97
WString
4
COBJ
73
98
WVList
 
74
99
WVList
 
23
307,18 → 407,18
1
1
 
75
100
MItem
9
..\main.c
76
101
WString
4
COBJ
77
102
WVList
 
78
103
WVList
 
23
325,18 → 425,18
1
1
 
79
104
MItem
9
..\make.c
80
105
WString
4
COBJ
81
106
WVList
 
82
107
WVList
 
23
343,18 → 443,18
1
1
 
83
108
MItem
13
..\make_win.c
84
109
WString
4
COBJ
85
110
WVList
 
86
111
WVList
 
23
361,18 → 461,18
1
1
 
87
112
MItem
13
..\manifest.c
88
113
WString
4
COBJ
89
114
WVList
 
90
115
WVList
 
23
379,18 → 479,18
1
1
 
91
116
MItem
9
..\node.c
92
117
WString
4
COBJ
93
118
WVList
 
94
119
WVList
 
23
397,18 → 497,18
1
1
 
95
120
MItem
11
..\obfusc.c
96
121
WString
4
COBJ
97
122
WVList
 
98
123
WVList
 
23
415,18 → 515,18
1
1
 
99
124
MItem
12
..\preview.c
100
125
WString
4
COBJ
101
126
WVList
 
102
127
WVList
 
23
433,18 → 533,18
1
1
 
103
128
MItem
12
..\process.c
104
129
WString
4
COBJ
105
130
WVList
 
106
131
WVList
 
23
451,18 → 551,18
1
1
 
107
132
MItem
9
..\read.c
108
133
WString
4
COBJ
109
134
WVList
 
110
135
WVList
 
23
469,18 → 569,18
1
1
 
111
136
MItem
9
..\save.c
112
137
WString
4
COBJ
113
138
WVList
 
114
139
WVList
 
23
487,18 → 587,18
1
1
 
115
140
MItem
14
..\scripting.c
116
141
WString
4
COBJ
117
142
WVList
 
118
143
WVList
 
23
505,18 → 605,18
1
1
 
119
144
MItem
11
..\symtab.c
120
145
WString
4
COBJ
121
146
WVList
 
122
147
WVList
 
23
523,27 → 623,27
1
1
 
123
148
MItem
44
..\telegraphics_common\adobeplugin\dllmain.c
124
149
WString
4
COBJ
125
150
WVList
 
126
151
WVList
1
127
152
ActionStates
128
153
WString
5
&Make
129
154
WVList
 
23
550,18 → 650,18
1
1
 
130
155
MItem
42
..\telegraphics_common\tt\choosefile_win.c
131
156
WString
4
COBJ
132
157
WVList
 
133
158
WVList
 
23
568,18 → 668,18
1
1
 
134
159
MItem
41
..\telegraphics_common\tt\compat_string.c
135
160
WString
4
COBJ
136
161
WVList
 
137
162
WVList
 
23
586,18 → 686,18
1
1
 
138
163
MItem
38
..\telegraphics_common\tt\compat_win.c
139
164
WString
4
COBJ
140
165
WVList
 
141
166
WVList
 
23
604,18 → 704,18
1
1
 
142
167
MItem
47
..\telegraphics_common\tt\compat_win_resource.c
143
168
WString
4
COBJ
144
169
WVList
 
145
170
WVList
 
23
622,18 → 722,18
1
1
 
146
171
MItem
35
..\telegraphics_common\tt\dbg_win.c
147
172
WString
4
COBJ
148
173
WVList
 
149
174
WVList
 
23
640,18 → 740,18
1
1
 
150
175
MItem
43
..\telegraphics_common\tt\file_compat_win.c
151
176
WString
4
COBJ
152
177
WVList
 
153
178
WVList
 
23
658,18 → 758,18
1
1
 
154
179
MItem
40
..\telegraphics_common\tt\sprintf_tiny.c
155
180
WString
4
COBJ
156
181
WVList
 
157
182
WVList
 
23
676,18 → 776,18
1
1
 
158
183
MItem
31
..\telegraphics_common\tt\str.c
159
184
WString
4
COBJ
160
185
WVList
 
161
186
WVList
 
23
694,18 → 794,18
1
1
 
162
187
MItem
41
..\telegraphics_common\tt\ui_compat_win.c
163
188
WString
4
COBJ
164
189
WVList
 
165
190
WVList
 
23
712,18 → 812,18
1
1
 
166
191
MItem
7
..\ui.c
167
192
WString
4
COBJ
168
193
WVList
 
169
194
WVList
 
23
730,18 → 830,18
1
1
 
170
195
MItem
13
..\ui_build.c
171
196
WString
4
COBJ
172
197
WVList
 
173
198
WVList
 
23
748,18 → 848,18
1
1
 
174
199
MItem
17
..\ui_build_win.c
175
200
WString
4
COBJ
176
201
WVList
 
177
202
WVList
 
23
766,18 → 866,18
1
1
 
178
203
MItem
11
..\ui_win.c
179
204
WString
4
COBJ
180
205
WVList
 
181
206
WVList
 
23
784,18 → 884,18
1
1
 
182
207
MItem
27
..\versioninfo_modify_win.c
183
208
WString
4
COBJ
184
209
WVList
 
185
210
WVList
 
23
802,18 → 902,18
1
1
 
186
211
MItem
10
..\y_tab.c
187
212
WString
4
COBJ
188
213
WVList
 
189
214
WVList
 
23
820,18 → 920,18
1
1
 
190
215
MItem
3
*.h
191
216
WString
3
NIL
192
217
WVList
 
193
218
WVList
 
-1
838,716 → 938,716
1
1
 
194
219
MItem
6
..\c.h
195
220
WString
3
NIL
196
221
WVList
 
197
222
WVList
 
190
215
1
1
 
198
223
MItem
13
..\cwprefix.h
199
224
WString
3
NIL
200
225
WVList
 
201
226
WVList
 
190
215
1
1
 
202
227
MItem
7
..\ff.h
203
228
WString
3
NIL
204
229
WVList
 
205
230
WVList
 
190
215
1
1
 
206
231
MItem
12
..\ff_misc.h
207
232
WString
3
NIL
208
233
WVList
 
209
234
WVList
 
190
215
1
1
 
210
235
MItem
10
..\funcs.h
211
236
WString
3
NIL
212
237
WVList
 
213
238
WVList
 
190
215
1
1
 
214
239
MItem
13
..\manifest.h
215
240
WString
3
NIL
216
241
WVList
 
217
242
WVList
 
190
215
1
1
 
218
243
MItem
9
..\node.h
219
244
WString
3
NIL
220
245
WVList
 
221
246
WVList
 
190
215
1
1
 
222
247
MItem
9
..\PARM.h
223
248
WString
3
NIL
224
249
WVList
 
225
250
WVList
 
190
215
1
1
 
226
251
MItem
12
..\preview.h
227
252
WString
3
NIL
228
253
WVList
 
229
254
WVList
 
190
215
1
1
 
230
255
MItem
14
..\scripting.h
231
256
WString
3
NIL
232
257
WVList
 
233
258
WVList
 
190
215
1
1
 
234
259
MItem
11
..\symtab.h
235
260
WString
3
NIL
236
261
WVList
 
237
262
WVList
 
190
215
1
1
 
238
263
MItem
44
..\telegraphics_common\adobeplugin\A4Stuff.h
239
264
WString
3
NIL
240
265
WVList
 
241
266
WVList
 
190
215
1
1
 
242
267
MItem
42
..\telegraphics_common\adobeplugin\entry.h
243
268
WString
3
NIL
244
269
WVList
 
245
270
WVList
 
190
215
1
1
 
246
271
MItem
42
..\telegraphics_common\adobeplugin\world.h
247
272
WString
3
NIL
248
273
WVList
 
249
274
WVList
 
190
215
1
1
 
250
275
MItem
42
..\telegraphics_common\tt\calc_std_state.h
251
276
WString
3
NIL
252
277
WVList
 
253
278
WVList
 
190
215
1
1
 
254
279
MItem
39
..\telegraphics_common\tt\carbonstuff.h
255
280
WString
3
NIL
256
281
WVList
 
257
282
WVList
 
190
215
1
1
 
258
283
MItem
38
..\telegraphics_common\tt\choosefile.h
259
284
WString
3
NIL
260
285
WVList
 
261
286
WVList
 
190
215
1
1
 
262
287
MItem
41
..\telegraphics_common\tt\compat_string.h
263
288
WString
3
NIL
264
289
WVList
 
265
290
WVList
 
190
215
1
1
 
266
291
MItem
38
..\telegraphics_common\tt\compat_win.h
267
292
WString
3
NIL
268
293
WVList
 
269
294
WVList
 
190
215
1
1
 
270
295
MItem
47
..\telegraphics_common\tt\compat_win_resource.h
271
296
WString
3
NIL
272
297
WVList
 
273
298
WVList
 
190
215
1
1
 
274
299
MItem
31
..\telegraphics_common\tt\dbg.h
275
300
WString
3
NIL
276
301
WVList
 
277
302
WVList
 
190
215
1
1
 
278
303
MItem
31
..\telegraphics_common\tt\dlg.h
279
304
WString
3
NIL
280
305
WVList
 
281
306
WVList
 
190
215
1
1
 
282
307
MItem
39
..\telegraphics_common\tt\file_compat.h
283
308
WString
3
NIL
284
309
WVList
 
285
310
WVList
 
190
215
1
1
 
286
311
MItem
32
..\telegraphics_common\tt\menu.h
287
312
WString
3
NIL
288
313
WVList
 
289
314
WVList
 
190
215
1
1
 
290
315
MItem
36
..\telegraphics_common\tt\misc-mac.h
291
316
WString
3
NIL
292
317
WVList
 
293
318
WVList
 
190
215
1
1
 
294
319
MItem
32
..\telegraphics_common\tt\misc.h
295
320
WString
3
NIL
296
321
WVList
 
297
322
WVList
 
190
215
1
1
 
298
323
MItem
30
..\telegraphics_common\tt\qd.h
299
324
WString
3
NIL
300
325
WVList
 
301
326
WVList
 
190
215
1
1
 
302
327
MItem
34
..\telegraphics_common\tt\scroll.h
303
328
WString
3
NIL
304
329
WVList
 
305
330
WVList
 
190
215
1
1
 
306
331
MItem
40
..\telegraphics_common\tt\sprintf_tiny.h
307
332
WString
3
NIL
308
333
WVList
 
309
334
WVList
 
190
215
1
1
 
310
335
MItem
31
..\telegraphics_common\tt\str.h
311
336
WString
3
NIL
312
337
WVList
 
313
338
WVList
 
190
215
1
1
 
314
339
MItem
37
..\telegraphics_common\tt\ui_compat.h
315
340
WString
3
NIL
316
341
WVList
 
317
342
WVList
 
190
215
1
1
 
318
343
MItem
32
..\telegraphics_common\tt\wind.h
319
344
WString
3
NIL
320
345
WVList
 
321
346
WVList
 
190
215
1
1
 
322
347
MItem
7
..\ui.h
323
348
WString
3
NIL
324
349
WVList
 
325
350
WVList
 
190
215
1
1
 
326
351
MItem
11
..\unistd.h
327
352
WString
3
NIL
328
353
WVList
 
329
354
WVList
 
190
215
1
1
 
330
355
MItem
12
..\version.h
331
356
WString
3
NIL
332
357
WVList
 
333
358
WVList
 
190
215
1
1
 
334
359
MItem
27
..\versioninfo_modify_win.h
335
360
WString
3
NIL
336
361
WVList
 
337
362
WVList
 
190
215
1
1
 
338
363
MItem
10
..\y.tab.h
339
364
WString
3
NIL
340
365
WVList
 
341
366
WVList
 
190
215
1
1
 
342
367
MItem
4
*.rc
343
368
WString
5
NRESC
344
369
WVList
2
345
370
MVState
346
371
WString
3
WRC
347
372
WString
23
n????Macro definitions:
1
348
373
WString
61
WIN32 _WIN32 __NT__ WIN_ENV=1 INSIDE_PHOTOSHOP=1 MSWindows=1
 
349
374
MVState
350
375
WString
3
WRC
351
376
WString
25
n????Include directories:
1
352
377
WString
70
$[:;$(%watcom)\h;$(%watcom)\h\nt;$(%PSAPI)\Photoshop;$(%PSAPI)\Pica_sp
 
353
378
WVList
 
-1
1554,21 → 1654,21
1
1
 
354
379
MItem
13
..\win_res.rc
355
380
WString
5
NRESC
356
381
WVList
 
357
382
WVList
 
342
367
1
1
 
/trunk/wpj/filterfoundry.wpj
4,10 → 4,10
VpeMain
1
WRect
11648
768
7680
9699
1206
468
7393
8728
2
MProject
3
42,12 → 42,12
VComponent
8
WRect
73
146
6662
6729
 
625
6666
6731
 
 
9
WFileName
17