StructureID: It's more than just an ID now. Besides the renaming, it should perhaps be merged with PropertyMap since there isn't as clearly a separate role. As for names: - Structure Pro: "these two objects have the same structure" sounds good Con: - StructureDescriptor - Shape Pro: "these two objects have the same shape"; short & sweet; Con: maybe don't want to rip off Mozilla's name? VM/CTI => jit/NativeCodeGeneratorX86 or jit/MachineCodeGeneratorX86 masm/X86Assembler => jit/AssemblerX86 I'm pretty sure this is good, but "Machine" or "Native"? I like "Native" somewhat better, now that we use "JS" and "Host" to distinguish between things originally in JS and originally in C++. Thought: will we end up with a platform-independent core for NativeCodeGenerator or will it have to be rewritten from scratch for every CPU architecture? We could probably make more of the code and logic reusable by having helper functions that emit the code for high- level operations, similar to things like emitJumpSlowCaseIfNotJSCell, or even larger chunks like compileBinaryArithOp. Regards, Maciej