Now that we don't get any benefit from the smartness of the KJS::Value and KJS::Object smart pointer classes, we should remove them. This will make the API better since it will remove the ambiguity about when to use ValueImp and when to use Value, and it will also should make things a little faster.
Created attachment 3251 [details] patch to remove the wrappers as of today Here's the patch as of this moment. I know I'll have to redo a lot of it once Maciej lands what he's currently working on.
Created attachment 3270 [details] patch, revised to work after Maciej's PropertySlot change
My performance measurement today shows a 2% speedup in iBench JavaScript with this change. Earlier tests did not show a speed-up, so this is welcome news. Hooray!
Comment on attachment 3270 [details] patch, revised to work after Maciej's PropertySlot change rs=me
NOTE: This bug also fixed Bug 4059.