Changeset 3467 for trunk/include/odinwrap.h
- Timestamp:
- May 1, 2000, 1:19:36 AM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/odinwrap.h
r3189 r3467 1 /* $Id: odinwrap.h,v 1.2 0 2000-03-21 21:23:08 sandervlExp $ */1 /* $Id: odinwrap.h,v 1.21 2000-04-30 23:19:36 phaller Exp $ */ 2 2 3 3 /* … … 20 20 ****************************************************************************/ 21 21 22 // override debugging 23 //#undef DEBUG 24 //#define DEBUG 25 26 // override profiling 27 //#undef PROFILE_ODIN 28 #define PROFILE_ODIN 29 30 22 31 23 32 #define ODIN_INTERNAL _Optlink … … 61 70 #endif 62 71 72 // PH: this is for profiling cumulative method call times 73 #ifdef PROFILE_ODIN 74 75 # define PROFILE_START(a) \ 76 LARGE_INTEGER liStart; \ 77 LARGE_INTEGER liEnd; \ 78 unsigned long ulElapsed; \ 79 QueryPerformanceCounter(&liStart); 80 81 82 # define PROFILE_STOP(a) \ 83 QueryPerformanceCounter(&liEnd);\ 84 if (liStart.LowPart > liEnd.LowPart) \ 85 ulElapsed = 0xFFFFFFFF - liStart.LowPart + liEnd.LowPart; \ 86 else \ 87 ulElapsed = liEnd.LowPart - liStart.LowPart; \ 88 \ 89 dprintf(("%s: %s %u ticks\n",\ 90 pszOdinDebugChannel,\ 91 a, \ 92 ulElapsed)); 93 #else 94 # define PROFILE_START(a) 95 # define PROFILE_STOP(a) 96 #endif 97 63 98 /**************************************************************************** 64 99 * General Wrapper Macros (debug instrumented) * … … 67 102 /* ---------- 0 parameters ---------- */ 68 103 #define ODINFUNCTION0(cRet,cName) \ 69 cRet ODIN_INTERNAL ODIN_##cName (void); 70 cRet WINAPI cName(void) \104 cRet ODIN_INTERNAL ODIN_##cName (void); \ 105 cRet WINAPI cName(void) \ 71 106 { \ 72 107 unsigned short sel = RestoreOS2FS(); \ 73 dprintf(("%s: "#cRet" "#cName"() enter\n", \ 74 pszOdinDebugChannel)); \ 75 CheckFS(sel) \ 76 ODIN_HEAPCHECK(); \ 108 dprintf(("%s: "#cRet" "#cName"() enter\n",\ 109 pszOdinDebugChannel)); \ 110 CheckFS(sel) \ 111 ODIN_HEAPCHECK(); \ 112 PROFILE_START(#cName) \ 77 113 cRet rc = ODIN_##cName(); \ 78 ODIN_HEAPCHECK(); \ 114 PROFILE_STOP(#cName) \ 115 ODIN_HEAPCHECK(); \ 79 116 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 80 117 pszOdinDebugChannel, \ … … 88 125 89 126 #define ODINPROCEDURE0(cName) \ 90 void ODIN_INTERNAL ODIN_##cName (void); 91 void WINAPI cName(void) \127 void ODIN_INTERNAL ODIN_##cName (void); \ 128 void WINAPI cName(void) \ 92 129 { \ 93 130 unsigned short sel = RestoreOS2FS(); \ 94 dprintf(("%s: void "#cName"() enter\n", \ 95 pszOdinDebugChannel)); \ 96 CheckFS(sel) \ 97 ODIN_HEAPCHECK(); \ 98 ODIN_##cName(); \ 99 ODIN_HEAPCHECK(); \ 100 dprintf(("%s: void "#cName"() leave\n", \ 131 dprintf(("%s: void "#cName"() enter\n", \ 132 pszOdinDebugChannel)); \ 133 CheckFS(sel) \ 134 ODIN_HEAPCHECK(); \ 135 PROFILE_START(#cName) \ 136 ODIN_##cName(); \ 137 PROFILE_STOP(#cName) \ 138 ODIN_HEAPCHECK(); \ 139 dprintf(("%s: void "#cName"() leave\n", \ 101 140 pszOdinDebugChannel)); \ 102 141 SetFS(sel); \ … … 108 147 /* ---------- 1 parameters ---------- */ 109 148 #define ODINFUNCTION1(cRet,cName,t1,a1) \ 110 cRet ODIN_INTERNAL ODIN_##cName (t1 a1); 111 cRet WINAPI cName(t1 a1) \149 cRet ODIN_INTERNAL ODIN_##cName (t1 a1); \ 150 cRet WINAPI cName(t1 a1) \ 112 151 { \ 113 152 unsigned short sel = RestoreOS2FS(); \ … … 116 155 a1)); \ 117 156 CheckFS(sel) \ 118 ODIN_HEAPCHECK(); \ 119 cRet rc = ODIN_##cName(a1); \ 120 ODIN_HEAPCHECK(); \ 157 ODIN_HEAPCHECK(); \ 158 PROFILE_START(#cName) \ 159 cRet rc = ODIN_##cName(a1); \ 160 PROFILE_STOP(#cName) \ 161 ODIN_HEAPCHECK(); \ 121 162 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 122 163 pszOdinDebugChannel, \ … … 129 170 130 171 #define ODINPROCEDURE1(cName,t1,a1) \ 131 void ODIN_INTERNAL ODIN_##cName (t1 a1); 132 void WINAPI cName(t1 a1) \172 void ODIN_INTERNAL ODIN_##cName (t1 a1); \ 173 void WINAPI cName(t1 a1) \ 133 174 { \ 134 175 unsigned short sel = RestoreOS2FS(); \ … … 137 178 a1)); \ 138 179 CheckFS(sel) \ 139 ODIN_HEAPCHECK(); \ 140 ODIN_##cName(a1); \ 141 ODIN_HEAPCHECK(); \ 142 dprintf(("%s: void "#cName"() leave\n", \ 180 ODIN_HEAPCHECK(); \ 181 PROFILE_START(#cName) \ 182 ODIN_##cName(a1); \ 183 PROFILE_STOP(#cName) \ 184 ODIN_HEAPCHECK(); \ 185 dprintf(("%s: void "#cName"() leave\n", \ 143 186 pszOdinDebugChannel)); \ 144 187 SetFS(sel); \ … … 150 193 /* ---------- 2 parameters ---------- */ 151 194 #define ODINFUNCTION2(cRet,cName,t1,a1,t2,a2) \ 152 cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2); 153 cRet WINAPI cName(t1 a1,t2 a2) \195 cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2); \ 196 cRet WINAPI cName(t1 a1,t2 a2) \ 154 197 { \ 155 198 unsigned short sel = RestoreOS2FS(); \ 156 199 dprintf(("%s: "#cRet" "#cName"("#t1" "#a1"=%08xh, "#t2" "#a2"=%08xh) enter\n", \ 157 pszOdinDebugChannel, \ 158 a1,a2)); \ 159 CheckFS(sel) \ 160 ODIN_HEAPCHECK(); \ 161 cRet rc = ODIN_##cName(a1,a2); \ 162 ODIN_HEAPCHECK(); \ 200 pszOdinDebugChannel, \ 201 a1,a2)); \ 202 CheckFS(sel) \ 203 ODIN_HEAPCHECK(); \ 204 PROFILE_START(#cName) \ 205 cRet rc = ODIN_##cName(a1,a2); \ 206 PROFILE_STOP(#cName) \ 207 ODIN_HEAPCHECK(); \ 163 208 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 164 pszOdinDebugChannel, \165 rc)); \166 SetFS(sel); \167 return rc; \168 } \169 \209 pszOdinDebugChannel, \ 210 rc)); \ 211 SetFS(sel); \ 212 return rc; \ 213 } \ 214 \ 170 215 cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2) 171 216 172 217 #define ODINPROCEDURE2(cName,t1,a1,t2,a2) \ 173 218 void ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2); \ 174 void WINAPI cName(t1 a1,t2 a2) \219 void WINAPI cName(t1 a1,t2 a2) \ 175 220 { \ 176 221 unsigned short sel = RestoreOS2FS(); \ … … 179 224 a1,a2)); \ 180 225 CheckFS(sel) \ 181 ODIN_HEAPCHECK(); \ 182 ODIN_##cName(a1,a2); \ 183 ODIN_HEAPCHECK(); \ 184 dprintf(("%s: void "#cName"() leave\n", \ 226 ODIN_HEAPCHECK(); \ 227 PROFILE_START(#cName) \ 228 ODIN_##cName(a1,a2); \ 229 PROFILE_STOP(#cName) \ 230 ODIN_HEAPCHECK(); \ 231 dprintf(("%s: void "#cName"() leave\n", \ 185 232 pszOdinDebugChannel)); \ 186 233 SetFS(sel); \ … … 194 241 cRet ODIN_INTERNAL ODIN_##cName (t1 a1,t2 a2,t3 a3); \ 195 242 cRet WINAPI cName(t1 a1,t2 a2,t3 a3) \ 196 { \197 unsigned short sel = RestoreOS2FS(); \243 { \ 244 unsigned short sel = RestoreOS2FS(); \ 198 245 dprintf(("%s: "#cRet" "#cName"("#t1" "#a1"=%08xh, "#t2" "#a2"=%08xh, "#t3" "#a3"=%08xh) enter\n", \ 199 246 pszOdinDebugChannel, \ 200 247 a1,a2,a3)); \ 201 248 CheckFS(sel) \ 202 ODIN_HEAPCHECK(); \ 203 cRet rc = ODIN_##cName(a1,a2,a3); \ 204 ODIN_HEAPCHECK(); \ 249 ODIN_HEAPCHECK(); \ 250 PROFILE_START(#cName) \ 251 cRet rc = ODIN_##cName(a1,a2,a3); \ 252 PROFILE_STOP(#cName) \ 253 ODIN_HEAPCHECK(); \ 205 254 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 206 255 pszOdinDebugChannel, \ … … 222 271 CheckFS(sel) \ 223 272 ODIN_HEAPCHECK(); \ 273 PROFILE_START(#cName) \ 224 274 ODIN_##cName(a1,a2,a3); \ 275 PROFILE_STOP(#cName) \ 225 276 ODIN_HEAPCHECK(); \ 226 277 dprintf(("%s: void "#cName"() leave\n", \ … … 243 294 CheckFS(sel) \ 244 295 ODIN_HEAPCHECK(); \ 296 PROFILE_START(#cName) \ 245 297 cRet rc = ODIN_##cName(a1,a2,a3,a4); \ 298 PROFILE_STOP(#cName) \ 246 299 ODIN_HEAPCHECK(); \ 247 300 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 264 317 CheckFS(sel) \ 265 318 ODIN_HEAPCHECK(); \ 319 PROFILE_START(#cName) \ 266 320 ODIN_##cName(a1,a2,a3,a4); \ 321 PROFILE_STOP(#cName) \ 267 322 ODIN_HEAPCHECK(); \ 268 323 dprintf(("%s: void "#cName"() leave\n", \ … … 286 341 CheckFS(sel) \ 287 342 ODIN_HEAPCHECK(); \ 343 PROFILE_START(#cName) \ 288 344 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5); \ 345 PROFILE_STOP(#cName) \ 289 346 ODIN_HEAPCHECK(); \ 290 347 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 308 365 CheckFS(sel) \ 309 366 ODIN_HEAPCHECK(); \ 367 PROFILE_START(#cName) \ 310 368 ODIN_##cName(a1,a2,a3,a4,a5); \ 369 PROFILE_STOP(#cName) \ 311 370 ODIN_HEAPCHECK(); \ 312 371 dprintf(("%s: void "#cName"() leave\n", \ … … 330 389 CheckFS(sel) \ 331 390 ODIN_HEAPCHECK(); \ 391 PROFILE_START(#cName) \ 332 392 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6); \ 393 PROFILE_STOP(#cName) \ 333 394 ODIN_HEAPCHECK(); \ 334 395 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 355 416 CheckFS(sel) \ 356 417 ODIN_HEAPCHECK(); \ 418 PROFILE_START(#cName) \ 357 419 cRet rc = ODIN_##cName(sel,a1,a2,a3,a4,a5,a6); \ 420 PROFILE_STOP(#cName) \ 358 421 ODIN_HEAPCHECK(); \ 359 422 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 378 441 CheckFS(sel) \ 379 442 ODIN_HEAPCHECK(); \ 443 PROFILE_START(#cName) \ 380 444 ODIN_##cName(a1,a2,a3,a4,a5,a6); \ 445 PROFILE_STOP(#cName) \ 381 446 ODIN_HEAPCHECK(); \ 382 447 dprintf(("%s: void "#cName"() leave\n", \ … … 400 465 CheckFS(sel) \ 401 466 ODIN_HEAPCHECK(); \ 467 PROFILE_START(#cName) \ 402 468 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7); \ 469 PROFILE_STOP(#cName) \ 403 470 ODIN_HEAPCHECK(); \ 404 471 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 422 489 CheckFS(sel) \ 423 490 ODIN_HEAPCHECK(); \ 491 PROFILE_START(#cName) \ 424 492 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7); \ 493 PROFILE_STOP(#cName) \ 425 494 ODIN_HEAPCHECK(); \ 426 495 dprintf(("%s: void "#cName"() leave\n", \ … … 445 514 CheckFS(sel) \ 446 515 ODIN_HEAPCHECK(); \ 516 PROFILE_START(#cName) \ 447 517 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8); \ 518 PROFILE_STOP(#cName) \ 448 519 ODIN_HEAPCHECK(); \ 449 520 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 468 539 ODIN_HEAPCHECK(); \ 469 540 CheckFS(sel) \ 541 PROFILE_START(#cName) \ 470 542 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8); \ 543 PROFILE_STOP(#cName) \ 471 544 ODIN_HEAPCHECK(); \ 472 545 dprintf(("%s: void "#cName"() leave\n", \ … … 491 564 CheckFS(sel) \ 492 565 ODIN_HEAPCHECK(); \ 566 PROFILE_START(#cName) \ 493 567 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9); \ 568 PROFILE_STOP(#cName) \ 494 569 ODIN_HEAPCHECK(); \ 495 570 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 514 589 CheckFS(sel) \ 515 590 ODIN_HEAPCHECK(); \ 591 PROFILE_START(#cName) \ 516 592 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9); \ 593 PROFILE_STOP(#cName) \ 517 594 ODIN_HEAPCHECK(); \ 518 595 dprintf(("%s: void "#cName"() leave\n", \ … … 537 614 CheckFS(sel) \ 538 615 ODIN_HEAPCHECK(); \ 616 PROFILE_START(#cName) \ 539 617 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); \ 618 PROFILE_STOP(#cName) \ 540 619 ODIN_HEAPCHECK(); \ 541 620 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 560 639 CheckFS(sel) \ 561 640 ODIN_HEAPCHECK(); \ 641 PROFILE_START(#cName) \ 562 642 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); \ 643 PROFILE_STOP(#cName) \ 563 644 ODIN_HEAPCHECK(); \ 564 645 dprintf(("%s: void "#cName"() leave\n", \ … … 583 664 CheckFS(sel) \ 584 665 ODIN_HEAPCHECK(); \ 666 PROFILE_START(#cName) \ 585 667 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); \ 668 PROFILE_STOP(#cName) \ 586 669 ODIN_HEAPCHECK(); \ 587 670 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 606 689 CheckFS(sel) \ 607 690 ODIN_HEAPCHECK(); \ 691 PROFILE_START(#cName) \ 608 692 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); \ 693 PROFILE_STOP(#cName) \ 609 694 ODIN_HEAPCHECK(); \ 610 695 dprintf(("%s: void "#cName"() leave\n", \ … … 630 715 CheckFS(sel) \ 631 716 ODIN_HEAPCHECK(); \ 717 PROFILE_START(#cName) \ 632 718 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); \ 719 PROFILE_STOP(#cName) \ 633 720 ODIN_HEAPCHECK(); \ 634 721 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 654 741 CheckFS(sel) \ 655 742 ODIN_HEAPCHECK(); \ 743 PROFILE_START(#cName) \ 656 744 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); \ 745 PROFILE_STOP(#cName) \ 657 746 ODIN_HEAPCHECK(); \ 658 747 dprintf(("%s: void "#cName"() leave\n", \ … … 678 767 CheckFS(sel) \ 679 768 ODIN_HEAPCHECK(); \ 769 PROFILE_START(#cName) \ 680 770 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); \ 771 PROFILE_STOP(#cName) \ 681 772 ODIN_HEAPCHECK(); \ 682 773 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ … … 702 793 CheckFS(sel) \ 703 794 ODIN_HEAPCHECK(); \ 795 PROFILE_START(#cName) \ 704 796 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); \ 797 PROFILE_STOP(#cName) \ 705 798 ODIN_HEAPCHECK(); \ 706 799 dprintf(("%s: void "#cName"() leave\n", \ … … 726 819 CheckFS(sel) \ 727 820 ODIN_HEAPCHECK(); \ 821 PROFILE_START(#cName) \ 728 822 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); \ 729 823 ODIN_HEAPCHECK(); \ … … 750 844 CheckFS(sel) \ 751 845 ODIN_HEAPCHECK(); \ 846 PROFILE_START(#cName) \ 752 847 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); \ 848 PROFILE_STOP(#cName) \ 753 849 ODIN_HEAPCHECK(); \ 754 850 dprintf(("%s: void "#cName"() leave\n", \
Note:
See TracChangeset
for help on using the changeset viewer.