Name Description Size
crashtests
gtest
moz.build 1130
NotXPCOMTest.idl 510
RegFactory.cpp NEEDS IMPLEMENTATION 3224
resources.h resources_h___ 585
SizeTest01.cpp This test file compares the generated code size of similar functions between raw COM interface pointers (|AddRef|ing and |Release|ing by hand) and |nsCOMPtr|s. Function size results were determined by examining dissassembly of the generated code. mXXX is the size of the generated code on the Macintosh. wXXX is the size on Windows. For these tests, all reasonable optimizations were enabled and exceptions were disabled (just as we build for release). The tests in this file explore only the simplest functionality: assigning a pointer to be reference counted into a [raw, nsCOMPtr] object; ensuring that it is |AddRef|ed and |Release|d appropriately; calling through the pointer to a function supplied by the underlying COM interface. Windows: raw_optimized 31 bytes raw, nsCOMPtr* 34 nsCOMPtr_optimized* 38 nsCOMPtr_optimized 42 nsCOMPtr 46 Macintosh: raw_optimized, nsCOMPtr_optimized 112 bytes (1.0000) nsCOMPtr 120 (1.0714) i.e., 7.14% bigger than raw_optimized et al raw 140 (1.2500) The overall difference in size between Windows and Macintosh is caused by the the PowerPC RISC architecture where every instruction is 4 bytes. On Macintosh, nsCOMPtr generates out-of-line destructors which are not referenced, and which can be stripped by the linker. 3040
SizeTest02.cpp This test file compares the generated code size of similar functions between raw COM interface pointers (|AddRef|ing and |Release|ing by hand) and |nsCOMPtr|s. Function size results were determined by examining dissassembly of the generated code. mXXX is the size of the generated code on the Macintosh. wXXX is the size on Windows. For these tests, all reasonable optimizations were enabled and exceptions were disabled (just as we build for release). The tests in this file explore more complicated functionality: assigning a pointer to be reference counted into a [raw, nsCOMPtr] object using |QueryInterface|; ensuring that it is |AddRef|ed and |Release|d appropriately; calling through the pointer to a function supplied by the underlying COM interface. The tests in this file expand on the tests in "Test01.cpp" by adding |QueryInterface|. Windows: raw01 52 nsCOMPtr 63 raw 66 nsCOMPtr* 68 Macintosh: nsCOMPtr 120 (1.0000) Raw01 128 (1.1429) i.e., 14.29% bigger than nsCOMPtr Raw00 144 (1.2000) 2348
SizeTest03.cpp Windows: nsCOMPtr_optimized* 45 raw_optimized 48 nsCOMPtr_optimized 50 nsCOMPtr 54 nsCOMPtr* 59 raw 62 Macintosh: nsCOMPtr_optimized 112 (1.0000) raw_optimized 124 bytes (1.1071) i.e., 10.71% bigger than nsCOMPtr_optimized nsCOMPtr 144 (1.2857) 1969
SizeTest04.cpp Windows: nsCOMPtr 13 raw 36 Macintosh: nsCOMPtr 36 bytes (1.0000) raw 120 (3.3333) i.e., 333.33% bigger than nsCOMPtr 921
SizeTest05.cpp Windows: raw, nsCOMPtr 21 bytes Macintosh: Raw, nsCOMPtr 64 bytes 998
SizeTest06.cpp Windows: nsCOMPtr_optimized 176 nsCOMPtr_as_found 181 nsCOMPtr_optimized* 182 nsCOMPtr02* 184 nsCOMPtr02 187 nsCOMPtr02* 188 nsCOMPtr03 189 raw_optimized, nsCOMPtr00 191 nsCOMPtr00* 199 nsCOMPtr_as_found* 201 raw 214 Macintosh: nsCOMPtr_optimized 300 (1.0000) nsCOMPtr02 320 (1.0667) i.e., 6.67% bigger than nsCOMPtr_optimized nsCOMPtr00 328 (1.0933) raw_optimized, nsCOMPtr03 332 (1.1067) nsCOMPtr_as_found 344 (1.1467) raw 388 (1.2933) 4087
TestArguments.cpp 521
TestBlockingProcess.cpp 144
TestHarness.h Test harness for XPCOM objects, providing a scoped XPCOM initializer, nsCOMPtr, nsRefPtr, do_CreateInstance, do_GetService, ns(Auto|C|)String, and stdio.h/stdlib.h. 7909
TestingAtomList.h 256
TestMemoryPressureWatcherLinux.cpp 1802
TestPRIntN.cpp 868
TestQuickReturn.cpp 79
TestShutdown.cpp 1232
TestStreamUtils.cpp 1659
TestUnicodeArguments.cpp On Windows, a Unicode argument is passed as UTF-16 using ShellExecuteExW. On other platforms, it is passed as UTF-8 1792
TestWinReg.js This script is intended to be run using xpcshell 1602
unit
windows