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. |