Skip to content
  • mjs's avatar
    Final step of the Reference change. Completely separate Reference · a3e1b218
    mjs authored
    	from Value, and eliminate ReferenceImp.
    
    	18% speedup on cvs-js-performance test.
    
            * kjs/internal.cpp, kjs/internal.h: Remove ReferenceImp.
            * kjs/nodes.cpp:
            (Node::evaluateReference): Use Reference::makeValueReference(),
    	not ConstReference.
            * kjs/reference.cpp:
            (Reference::Reference): New implementation, handles both regular
    	and value references.
            (Reference::makeValueReference): Incorporate functionality of ConstReference
    	into this class.
            (Reference::getBase): New implementation (incorporates error vase
    	for value references).
    	(Reference::getPropertyName): New implementation (incorporates error case
    	for value references).
            (Reference::putValue): New implementation (incorporates error case
    	for value references).
            (Reference::deleteValue): New implementation (incorporates error case
    	for value references).
            (Reference::getValue): New implementation (incorporates special case
    	for value references).
            (Reference::isMutable): New implementation.
    	* kjs/reference.h: New implementation that merges ReferenceImp
    	into the stack object.
            * kjs/value.h, kjs/value.cpp: Removed all reference-related method.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    a3e1b218