Bug 20821: Cache property transitions to speed up object initialization
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 14 Sep 2008 08:18:49 +0000 (08:18 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 14 Sep 2008 08:18:49 +0000 (08:18 +0000)
commitf930211c09d495d8f526a2462c98ea68a64f1e6a
tree7cb4f30cc375dfcf6b334cac6ae5053bc1e9fcce
parent77d74a3dbf3874cb5ca832d9c43729fb5428512a
Bug 20821: Cache property transitions to speed up object initialization
https://bugs.webkit.org/show_bug.cgi?id=20821

Reviewed by Cameron Zwarich.

Implement a transition cache to improve the performance of new properties
being added to objects.  This is extremely beneficial in constructors and
shows up as a 34% improvement on access-binary-trees in SunSpider (0.8%
overall)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/VM/CTI.cpp
JavaScriptCore/VM/CTI.h
JavaScriptCore/VM/CodeBlock.cpp
JavaScriptCore/VM/CodeGenerator.cpp
JavaScriptCore/VM/Machine.cpp
JavaScriptCore/VM/Machine.h
JavaScriptCore/VM/Opcode.h
JavaScriptCore/kjs/JSObject.h
JavaScriptCore/kjs/PutPropertySlot.h
JavaScriptCore/kjs/StructureID.cpp
JavaScriptCore/kjs/StructureID.h
JavaScriptCore/masm/X86Assembler.h