Changeset 102506 in vbox for trunk/src/libs/xpcom18a4
- Timestamp:
- Dec 6, 2023 3:10:52 PM (15 months ago)
- svn:sync-xref-src-repo-rev:
- 160650
- Location:
- trunk/src/libs/xpcom18a4/xpcom
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/libs/xpcom18a4/xpcom/components/nsComponentManager.cpp
r102458 r102506 1237 1237 { 0 } 1238 1238 }; 1239 for (int i=0; abusedContracts[i]&& *abusedContracts[i]; i++) {1239 for (int i=0; i < RT_ELEMENTS(abusedContracts) && *abusedContracts[i]; i++) { 1240 1240 nsFactoryEntry *entry = nsnull; 1241 1241 nsContractIDTableEntry* contractIDTableEntry = -
trunk/src/libs/xpcom18a4/xpcom/reflect/xptcall/tests/TestXPTCInvoke.cpp
r102470 r102506 152 152 NS_IMETHOD AddManyManyFloats(float p1, float p2, float p3, float p4, 153 153 float p5, float p6, float p7, float p8, 154 float p9, float p10, float p11, float p12, 155 float p13, float p14, float p15, float p16, 156 float p17, float p18, float p19, float p20, 154 float p9, float p10, float p11, float p12, 155 float p13, float p14, float p15, float p16, 156 float p17, float p18, float p19, float p20, 157 157 float *retval) = 0; 158 158 … … 198 198 199 199 NS_IMETHOD AddMixedInts(PRInt64 p1, PRInt32 p2, PRInt64 p3, PRInt32 p4, 200 201 200 PRInt32 p5, PRInt64 p6, PRInt32 p7, PRInt32 p8, 201 PRInt64 p9, PRInt32 p10, PRInt64* retval); 202 202 203 203 NS_IMETHOD AddMixedInts2(PRInt32 p1, PRInt64 p2, PRInt32 p3, PRInt64 p4, 204 205 204 PRInt64 p5, PRInt32 p6, PRInt64 p7, PRInt64 p8, 205 PRInt32 p9, PRInt64 p10, PRInt64* retval); 206 206 207 207 NS_IMETHOD AddMixedFloats(float p1, float p2, double p3, double p4, … … 212 212 NS_IMETHOD AddManyManyFloats(float p1, float p2, float p3, float p4, 213 213 float p5, float p6, float p7, float p8, 214 float p9, float p10, float p11, float p12, 215 float p13, float p14, float p15, float p16, 216 float p17, float p18, float p19, float p20, 214 float p9, float p10, float p11, float p12, 215 float p13, float p14, float p15, float p16, 216 float p17, float p18, float p19, float p20, 217 217 float *retval); 218 218 … … 263 263 { 264 264 #ifdef DEBUG_TESTINVOKE 265 printf("%d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n", 265 printf("%d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n", 266 266 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); 267 267 #endif … … 286 286 { 287 287 #ifdef DEBUG_TESTINVOKE 288 printf("%lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf\n", 288 printf("%lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf\n", 289 289 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); 290 290 #endif … … 299 299 { 300 300 #ifdef DEBUG_TESTINVOKE 301 printf("%f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", 301 printf("%f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", 302 302 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); 303 303 #endif … … 313 313 { 314 314 #ifdef DEBUG_TESTINVOKE 315 printf("%f, %f, %lf, %lf, %f, %f, %lf, %lf, %f, %lf, %f\n", 315 printf("%f, %f, %lf, %lf, %f, %f, %lf, %lf, %f, %lf, %f\n", 316 316 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); 317 317 #endif … … 323 323 InvokeTestTarget::AddManyManyFloats(float p1, float p2, float p3, float p4, 324 324 float p5, float p6, float p7, float p8, 325 float p9, float p10, float p11, float p12, 326 float p13, float p14, float p15, float p16, 325 float p9, float p10, float p11, float p12, 326 float p13, float p14, float p15, float p16, 327 327 float p17, float p18, float p19, float p20, 328 328 float *retval) … … 330 330 #ifdef DEBUG_TESTINVOKE 331 331 printf("%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, " 332 "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", 332 "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", 333 333 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, 334 334 p11, p12, p13, p14, p15, p16, p17, p18, p19, p20); … … 341 341 NS_IMETHODIMP 342 342 InvokeTestTarget::AddMixedInts(PRInt64 p1, PRInt32 p2, PRInt64 p3, PRInt32 p4, 343 344 343 PRInt32 p5, PRInt64 p6, PRInt32 p7, PRInt32 p8, 344 PRInt64 p9, PRInt32 p10, PRInt64* retval) 345 345 { 346 346 *retval = p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9 + p10; … … 350 350 NS_IMETHODIMP 351 351 InvokeTestTarget::AddMixedInts2(PRInt32 p1, PRInt64 p2, PRInt32 p3, PRInt64 p4, 352 353 352 PRInt64 p5, PRInt32 p6, PRInt64 p7, PRInt64 p8, 353 PRInt32 p9, PRInt64 p10, PRInt64* retval) 354 354 { 355 355 *retval = p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9 + p10; … … 361 361 { 362 362 const char milk[] = "milk"; 363 char *ret = (char*)nsMemory::Alloc(sizeof(milk)); 363 const size_t cb = sizeof(milk); 364 char *ret = (char*)nsMemory::Alloc(cb); 364 365 if (!ret) 365 366 return NS_ERROR_OUT_OF_MEMORY; 366 strncpy(ret, milk, sizeof(milk));367 strncpy(ret, milk, cb); 367 368 printf("\t%s %s", s1, s2); 368 369 *retval = ret; … … 445 446 else 446 447 bufprintf("\tFAILED"); 447 448 448 449 if(NS_SUCCEEDED(test->AddMixedInts2(1,2,3,4,5,6,7,8,9,10,&out64))) 449 450 { … … 847 848 if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 12, 11, var))) 848 849 bufprintf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = %d\n", 849 850 (int)var[10].val.i64); 850 851 else 851 852 bufprintf("\tFAILED"); … … 898 899 if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 13, 11, var))) 899 900 bufprintf("\t1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = %d\n", 900 901 (int)var[10].val.i64); 901 902 else 902 903 bufprintf("\tFAILED"); … … 964 965 var[1].type = nsXPTType::T_CHAR_STR; 965 966 var[1].flags = 0; 966 967 967 968 var[2].val.p = 0; 968 969 var[2].type = nsXPTType::T_CHAR_STR; 969 970 var[2].flags = nsXPTCVariant::PTR_IS_DATA; 970 971 var[2].ptr = &var[2].val.p; 971 972 972 973 if(NS_SUCCEEDED(XPTC_InvokeByIndex(test, 15, 3, var))) 973 974 { … … 1443 1444 1444 1445 printf("Speed test...\n\n"); 1445 printf("Doing %d direct call iterations...\n", count); 1446 printf("Doing %d direct call iterations...\n", count); 1446 1447 start = RTTimeNanoTS(); 1447 1448 for(i = count; i; i--) … … 1449 1450 interval_direct = RTTimeNanoTS() - start; 1450 1451 1451 printf("Doing %d invoked call iterations...\n", count); 1452 printf("Doing %d invoked call iterations...\n", count); 1452 1453 start = RTTimeNanoTS(); 1453 1454 for(i = count; i; i--) … … 1455 1456 interval_invoke = RTTimeNanoTS() - start; 1456 1457 1457 printf(" direct took %0.2f seconds\n", 1458 printf(" direct took %0.2f seconds\n", 1458 1459 (double)interval_direct/(double)RT_NS_1SEC); 1459 printf(" invoke took %0.2f seconds\n", 1460 printf(" invoke took %0.2f seconds\n", 1460 1461 (double)interval_invoke/(double)RT_NS_1SEC); 1461 printf(" So, invoke overhead was ~ %0.2f seconds (~ %0.0f%%)\n", 1462 printf(" So, invoke overhead was ~ %0.2f seconds (~ %0.0f%%)\n", 1462 1463 (double)(interval_invoke-interval_direct)/(double)RT_NS_1SEC, 1463 1464 (double)(interval_invoke-interval_direct)/(double)interval_invoke*100); 1464 } 1465 }
Note:
See TracChangeset
for help on using the changeset viewer.