| 3 | | * DevelModuleCacher: Cache opcode into shared memory. |
| 4 | | * DevelCompilerSandbox: Setup sandbox for php compiler. |
| 5 | | * DevelStructCopying: To copy struct safely and efficiently. |
| 6 | | * DevelSharedMemory: Shared memory provider. (aka. shm) |
| 7 | | * DevelMemoryAllocator: Memory manager, working on the shm. |
| 8 | | * DevelLocking: Lock provider, to operate shm atomicly. |
| 9 | | * DevelAdministration: XCache administration scripts. |
| 10 | | * DevelModuleOptimizer: Optimize opcode. (N/A) |
| 11 | | * DevelModuleCoverager: Collect coverage info. |
| 12 | | * DevelCoverageViewer: Produce visual output from the coverage data. |
| 13 | | * DevelLiveTestRunner: An LivingTest framework that help to hit your code generating coverage data. |
| 14 | | * DevelModuleAssembler: Assemble from asm code to opcode data. (N/A) |
| 15 | | * DevelModuleDisassembler: Disassemble opcode data to asm code. |
| 16 | | * DevelDecompiler: Decompile opcode data to php code using DevelModuleDisassembler. |
| 17 | | * DevelModuleEncoder: Encode opcode data to file. (N/A) |
| 18 | | * DevelModuleDecoder: Decode opcode data from file. (aka. loader) (N/A) |
| | 3 | == Cacher == |
| | 4 | Cache opcode into shared memory. |
| | 5 | |
| | 6 | === Compiler Sandbox === |
| | 7 | Setup sandbox for php compiler. |
| | 8 | |
| | 9 | |
| | 10 | Files: [browser:trunk/utils.c] [browser:trunk/utils.h] |
| | 11 | |
| | 12 | === Struct Copying === |
| | 13 | To copy struct safely and efficiently. (xc_processor_store_xc_entry_t + xc_processor_restore_xc_entry_t) |
| | 14 | |
| | 15 | * Calc size of the whole compiler result. (xc_calc_xc_entry_t) |
| | 16 | * Allocate memory in shm with this size. (xc_mem_malloc) |
| | 17 | * Copy to shm after compile. (xc_store_xc_entry_t) |
| | 18 | * Copy from shm on cache hit. (xc_restore_xc_entry_t) |
| | 19 | |
| | 20 | Files: [browser:trunk/processor/] |
| | 21 | |
| | 22 | === Shared Memory === |
| | 23 | Shared memory provider. (aka. shm) |
| | 24 | |
| | 25 | Only mmap is supported as shm currently. |
| | 26 | |
| | 27 | Files: [browser:trunk/myshm.h](common proto) [browser:trunk/mmap.c] |
| | 28 | |
| | 29 | === Locking === |
| | 30 | Lock provider, to operate shm atomicly. |
| | 31 | |
| | 32 | === Memory Manager === |
| | 33 | Memory manager, working on top of shm + lock. It's something like malloc/emalloc family, but works on shm. |
| | 34 | |
| | 35 | Files: [browser:trunk/mem.h] [browser:trunk/mem.c] |
| | 36 | |
| | 37 | === Administration === |
| | 38 | XCache administration scripts. |
| | 39 | |
| | 40 | Files: [browser:trunk/admin/] |
| | 41 | |
| | 42 | == Optimizer == |
| | 43 | To optimize opcode. (N/A) |
| | 44 | |
| | 45 | == Coverager == |
| | 46 | Collect coverage info. |
| | 47 | |
| | 48 | === Coverage Viewer === |
| | 49 | Produce visual output from the coverage data. |
| | 50 | |
| | 51 | === Live Test Runner === |
| | 52 | An LivingTest framework that help to hit your code generating coverage data. (TOSHARE) |
| | 53 | |
| | 54 | == Assembler == |
| | 55 | Assemble from asm code to opcode data. (N/A) |
| | 56 | |
| | 57 | == Disassembler == |
| | 58 | Disassemble opcode data to asm code. |
| | 59 | |
| | 60 | === Decompiler === |
| | 61 | Decompile opcode data to php code using Disassembler. |
| | 62 | |
| | 63 | == Encoder == |
| | 64 | Encode opcode data to file. (N/A) |
| | 65 | |
| | 66 | == Decoder == |
| | 67 | Decode opcode data from file. (aka. loader) (N/A) |