Subversion Repositories filter_foundry

Rev

Rev 385 | Rev 437 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 385 Rev 404
Line 71... Line 71...
71
- In the code, it is important that all variables are declared at the
71
- In the code, it is important that all variables are declared at the
72
  top of the scope (curly brackets) and that there is no executable code or
72
  top of the scope (curly brackets) and that there is no executable code or
73
  assignments in between.
73
  assignments in between.
74
 
74
 
75
 
75
 
-
 
76
Attention! Some optimizations break the code
-
 
77
--------------------------------------------
-
 
78
 
-
 
79
Don't choose "Fastest possible code (-otexan)" for optimization!
-
 
80
 
-
 
81
As soon as "Disable stack depth checking" is enabled, the code crashes
-
 
82
on some combinations of machines and Photoshop versions.
-
 
83
 
-
 
84
Win98 VM + Photoshop 3.0.x: Clicking any button (Make, Load, Cancel) will cause SegFault.
-
 
85
Win10 PC + Photoshop 3.0.x: No problem.
-
 
86
 
-
 
87
"otexan" contains "s" (because "ox" is equal to "obmiler" and "s").
-
 
88
 
-
 
89
So, "-otexan" means:
-
 
90
 
-
 
91
- Branch prediction (-ob)
-
 
92
- Loop optimizations (-ol)
-
 
93
- In-line intrinsic functions (-oi)
-
 
94
- Instruction scheduling (-or)
-
 
95
- Math optimizations (-om)
-
 
96
- Expand function in-line (-oe)
-
 
97
- Disable stack depth checking (-s)
-
 
98
 
-
 
99
The program works if "-ot" is enabled and all other optimizations (except "s") are enabled.
-
 
100
 
-
 
101
However, for now we just use the optimizations which "-otaxan" contains, except "s",
-
 
102
so we enabled:
-
 
103
 
-
 
104
- Time optimizations (-ot)
-
 
105
- Branch prediction (-ob)
-
 
106
- Loop optimizations (-ol)
-
 
107
- In-line intrinsic functions (-oi)
-
 
108
- Instruction scheduling (-or)
-
 
109
- Math optimizations (-om)
-
 
110
- Expand function in-line (-oe)
-
 
111
 
-
 
112
I haven't been able to detect why/where the stack is overloaded.
-
 
113
If anyone has an idea, please contact me.
-
 
114
Maybe the initial stack size is just too small?
-
 
115
Because the code should be OK - Application Verifier has not detected anything wrong.
-
 
116
 
-
 
117
https://open-watcom.github.io/open-watcom-v2-wikidocs/c_readme.html
-
 
118
http://www.azillionmonkeys.com/qed/watfaq.shtml (Q19)
-
 
119
 
-
 
120
 
76
Remarks
121
Remarks
77
-------
122
-------
78
 
123
 
79
flex and bison are currently invoked as a batch process.
124
flex and bison are currently invoked as a batch process.
80
This is defined in the menu File->Before.
125
This is defined in the menu File->Before.