JavaScriptCore C++ 名称变更

以下是我们计划对 JavaScriptCore 中 KJS 命名空间里的一些类和函数进行的名称变更

旧名称 新名称
ValueImp JSValue
AllocatedValueImp JSCell
ObjectImp JSObject
Undefined() jsUndefined()
Null() jsNull()
Boolean() jsBoolean(), jsTrue(), jsFalse()
Number() jsNumber(), jsNaN(), jsZero(), jsOne(), jsTwo()
String() jsString()

我们希望移除 ObjectImpJSObject 子类的类名中的 Imp 后缀。

我们计划淘汰 UndefinedImpNullImpBooleanImp 类,并改用特殊的指针值,有点类似于 SimpleNumber 的用法。这将使得通过与常量比较来检查值是否未定义成为可能,这会比目前的方式更小更快。