Commit 3f537b9b authored by darin@apple.com's avatar darin@apple.com
Browse files

JavaScriptCore:

2008-10-23  Darin Adler  <darin@apple.com>

        - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
          to remove the JSValuePtr class, to fix two problems

            1) slowness under MSVC, since it doesn't handle a
               class with a single pointer in it as efficiently
               as a pointer

            2) uninitialized pointers in Vector

        * JavaScriptCore.exp: Updated.

        * API/APICast.h:
        (toRef):
        * VM/CTI.cpp:
        (JSC::CTI::asInteger):
        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::addConstant):
        * VM/CodeGenerator.h:
        (JSC::CodeGenerator::JSValueHashTraits::constructDeletedValue):
        (JSC::CodeGenerator::JSValueHashTraits::isDeletedValue):
        * VM/Machine.cpp:
        (JSC::Machine::cti_op_add):
        (JSC::Machine::cti_op_pre_inc):
        (JSC::Machine::cti_op_get_by_id):
        (JSC::Machine::cti_op_get_by_id_second):
        (JSC::Machine::cti_op_get_by_id_generic):
        (JSC::Machine::cti_op_get_by_id_fail):
        (JSC::Machine::cti_op_instanceof):
        (JSC::Machine::cti_op_del_by_id):
        (JSC::Machine::cti_op_mul):
        (JSC::Machine::cti_op_call_NotJSFunction):
        (JSC::Machine::cti_op_resolve):
        (JSC::Machine::cti_op_construct_NotJSConstruct):
        (JSC::Machine::cti_op_get_by_val):
        (JSC::Machine::cti_op_sub):
        (JSC::Machine::cti_op_lesseq):
        (JSC::Machine::cti_op_negate):
        (JSC::Machine::cti_op_resolve_base):
        (JSC::Machine::cti_op_resolve_skip):
        (JSC::Machine::cti_op_resolve_global):
        (JSC::Machine::cti_op_div):
        (JSC::Machine::cti_op_pre_dec):
        (JSC::Machine::cti_op_not):
        (JSC::Machine::cti_op_eq):
        (JSC::Machine::cti_op_lshift):
        (JSC::Machine::cti_op_bitand):
        (JSC::Machine::cti_op_rshift):
        (JSC::Machine::cti_op_bitnot):
        (JSC::Machine::cti_op_mod):
        (JSC::Machine::cti_op_less):
        (JSC::Machine::cti_op_neq):
        (JSC::Machine::cti_op_urshift):
        (JSC::Machine::cti_op_bitxor):
        (JSC::Machine::cti_op_bitor):
        (JSC::Machine::cti_op_call_eval):
        (JSC::Machine::cti_op_throw):
        (JSC::Machine::cti_op_next_pname):
        (JSC::Machine::cti_op_typeof):
        (JSC::Machine::cti_op_is_undefined):
        (JSC::Machine::cti_op_is_boolean):
        (JSC::Machine::cti_op_is_number):
        (JSC::Machine::cti_op_is_string):
        (JSC::Machine::cti_op_is_object):
        (JSC::Machine::cti_op_is_function):
        (JSC::Machine::cti_op_stricteq):
        (JSC::Machine::cti_op_nstricteq):
        (JSC::Machine::cti_op_to_jsnumber):
        (JSC::Machine::cti_op_in):
        (JSC::Machine::cti_op_del_by_val):
        (JSC::Machine::cti_vm_throw):
        Removed calls to payload functions.

        * VM/Register.h:
        (JSC::Register::Register): Removed overload for JSCell and call
        to payload function.

        * kjs/JSCell.h: Changed JSCell to derive from JSValue again.
        Removed JSValuePtr constructor.
        (JSC::asCell): Changed cast from reinterpret_cast to static_cast.

        * kjs/JSImmediate.h: Removed JSValuePtr class. Added typedef back.

        * kjs/JSValue.h:
        (JSC::JSValue::JSValue): Added empty protected inline constructor back.
        (JSC::JSValue::~JSValue): Same for destructor.
        Removed == and != operator for JSValuePtr.

        * kjs/PropertySlot.h:
        (JSC::PropertySlot::PropertySlot): Chnaged argument to const JSValue*
        and added a const_cast.

        * kjs/protect.h: Removed overloads and specialization for JSValuePtr.

JavaScriptGlue:

2008-10-23  Darin Adler  <darin@apple.com>

        - roll out https://bugs.webkit.org/show_bug.cgi?id=21732

        * JSValueWrapper.cpp:
        (JSValueWrapper::GetValue): Added missing call to .get().
        * JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.

WebCore:

2008-10-23  Darin Adler  <darin@apple.com>

        - roll out https://bugs.webkit.org/show_bug.cgi?id=21732

        * bindings/js/ScheduledAction.h:
        * inspector/InspectorController.cpp:
        ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent a317f3c7
......@@ -70,12 +70,12 @@ inline JSC::JSGlobalData* toJS(JSContextGroupRef g)
inline JSValueRef toRef(JSC::JSValuePtr v)
{
return reinterpret_cast<JSValueRef>(v.payload());
return reinterpret_cast<JSValueRef>(v);
}
inline JSValueRef* toRef(JSC::JSValuePtr* v)
{
return reinterpret_cast<JSValueRef*>(const_cast<const JSC::JSValue**>(v->payloadPtr()));
return reinterpret_cast<JSValueRef*>(const_cast<const JSC::JSValue**>(v));
}
inline JSObjectRef toRef(JSC::JSObject* o)
......
2008-10-23 Darin Adler <darin@apple.com>
- roll out https://bugs.webkit.org/show_bug.cgi?id=21732
to remove the JSValuePtr class, to fix two problems
1) slowness under MSVC, since it doesn't handle a
class with a single pointer in it as efficiently
as a pointer
2) uninitialized pointers in Vector
* JavaScriptCore.exp: Updated.
* API/APICast.h:
(toRef):
* VM/CTI.cpp:
(JSC::CTI::asInteger):
* VM/CodeGenerator.cpp:
(JSC::CodeGenerator::addConstant):
* VM/CodeGenerator.h:
(JSC::CodeGenerator::JSValueHashTraits::constructDeletedValue):
(JSC::CodeGenerator::JSValueHashTraits::isDeletedValue):
* VM/Machine.cpp:
(JSC::Machine::cti_op_add):
(JSC::Machine::cti_op_pre_inc):
(JSC::Machine::cti_op_get_by_id):
(JSC::Machine::cti_op_get_by_id_second):
(JSC::Machine::cti_op_get_by_id_generic):
(JSC::Machine::cti_op_get_by_id_fail):
(JSC::Machine::cti_op_instanceof):
(JSC::Machine::cti_op_del_by_id):
(JSC::Machine::cti_op_mul):
(JSC::Machine::cti_op_call_NotJSFunction):
(JSC::Machine::cti_op_resolve):
(JSC::Machine::cti_op_construct_NotJSConstruct):
(JSC::Machine::cti_op_get_by_val):
(JSC::Machine::cti_op_sub):
(JSC::Machine::cti_op_lesseq):
(JSC::Machine::cti_op_negate):
(JSC::Machine::cti_op_resolve_base):
(JSC::Machine::cti_op_resolve_skip):
(JSC::Machine::cti_op_resolve_global):
(JSC::Machine::cti_op_div):
(JSC::Machine::cti_op_pre_dec):
(JSC::Machine::cti_op_not):
(JSC::Machine::cti_op_eq):
(JSC::Machine::cti_op_lshift):
(JSC::Machine::cti_op_bitand):
(JSC::Machine::cti_op_rshift):
(JSC::Machine::cti_op_bitnot):
(JSC::Machine::cti_op_mod):
(JSC::Machine::cti_op_less):
(JSC::Machine::cti_op_neq):
(JSC::Machine::cti_op_urshift):
(JSC::Machine::cti_op_bitxor):
(JSC::Machine::cti_op_bitor):
(JSC::Machine::cti_op_call_eval):
(JSC::Machine::cti_op_throw):
(JSC::Machine::cti_op_next_pname):
(JSC::Machine::cti_op_typeof):
(JSC::Machine::cti_op_is_undefined):
(JSC::Machine::cti_op_is_boolean):
(JSC::Machine::cti_op_is_number):
(JSC::Machine::cti_op_is_string):
(JSC::Machine::cti_op_is_object):
(JSC::Machine::cti_op_is_function):
(JSC::Machine::cti_op_stricteq):
(JSC::Machine::cti_op_nstricteq):
(JSC::Machine::cti_op_to_jsnumber):
(JSC::Machine::cti_op_in):
(JSC::Machine::cti_op_del_by_val):
(JSC::Machine::cti_vm_throw):
Removed calls to payload functions.
* VM/Register.h:
(JSC::Register::Register): Removed overload for JSCell and call
to payload function.
* kjs/JSCell.h: Changed JSCell to derive from JSValue again.
Removed JSValuePtr constructor.
(JSC::asCell): Changed cast from reinterpret_cast to static_cast.
* kjs/JSImmediate.h: Removed JSValuePtr class. Added typedef back.
* kjs/JSValue.h:
(JSC::JSValue::JSValue): Added empty protected inline constructor back.
(JSC::JSValue::~JSValue): Same for destructor.
Removed == and != operator for JSValuePtr.
* kjs/PropertySlot.h:
(JSC::PropertySlot::PropertySlot): Chnaged argument to const JSValue*
and added a const_cast.
* kjs/protect.h: Removed overloads and specialization for JSValuePtr.
2008-10-22 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej Stachowiak.
......
......@@ -102,11 +102,10 @@ __ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeERKNS_7UStringE
__ZN3JSC11Interpreter11checkSyntaxEPNS_9ExecStateERKNS_10SourceCodeE
__ZN3JSC11Interpreter21shouldPrintExceptionsEv
__ZN3JSC11Interpreter24setShouldPrintExceptionsEb
__ZN3JSC11Interpreter8evaluateEPNS_9ExecStateERNS_10ScopeChainERKNS_10SourceCodeENS_10JSValuePtrE
__ZN3JSC11Interpreter8evaluateEPNS_9ExecStateERNS_10ScopeChainERKNS_10SourceCodeEPNS_7JSValueE
__ZN3JSC11JSImmediate12nonInlineNaNEv
__ZN3JSC11JSImmediate8toObjectENS_10JSValuePtrEPNS_9ExecStateE
__ZN3JSC11JSImmediate8toStringENS_10JSValuePtrE
__ZN3JSC11JSImmediate9prototypeENS_10JSValuePtrEPNS_9ExecStateE
__ZN3JSC11JSImmediate8toObjectEPNS_7JSValueEPNS_9ExecStateE
__ZN3JSC11JSImmediate8toStringEPNS_7JSValueE
__ZN3JSC11ProfileNode4sortEPFbRKN3WTF6RefPtrIS0_EES5_E
__ZN3JSC11ProgramNode6createEPNS_12JSGlobalDataEPNS_14SourceElementsEPN3WTF6VectorISt4pairINS_10IdentifierEjELm16EEEPNS6_INS5_6RefPtrINS_12FuncDeclNodeEEELm16EEERKNS_10SourceCodeEji
__ZN3JSC11PropertyMap3getERKNS_10IdentifierERj
......@@ -117,9 +116,8 @@ __ZN3JSC11StructureID18startIgnoringLeaksEv
__ZN3JSC11StructureID21addPropertyTransitionEPS0_RKNS_10IdentifierEjRm
__ZN3JSC11StructureID21clearEnumerationCacheEv
__ZN3JSC11StructureID24fromDictionaryTransitionEPS0_
__ZN3JSC11StructureID25changePrototypeTransitionEPS0_NS_10JSValuePtrE
__ZN3JSC11StructureID27growPropertyStorageCapacityEv
__ZN3JSC11StructureIDC1ENS_10JSValuePtrERKNS_8TypeInfoE
__ZN3JSC11StructureIDC1EPNS_7JSValueERKNS_8TypeInfoE
__ZN3JSC11StructureIDD1Ev
__ZN3JSC12DateInstance4infoE
__ZN3JSC12JSGlobalData10ClientDataD2Ev
......@@ -135,7 +133,6 @@ __ZN3JSC12StringObject14toThisJSStringEPNS_9ExecStateE
__ZN3JSC12StringObject16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayE
__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
__ZN3JSC12StringObject3putEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrERNS_15PutPropertySlotE
__ZN3JSC12StringObject4infoE
__ZN3JSC12StringObjectC2EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEERKNS_7UStringE
__ZN3JSC12jsNumberCellEPNS_9ExecStateEd
......@@ -147,10 +144,10 @@ __ZN3JSC14JSGlobalObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSO
__ZN3JSC14JSGlobalObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPNS_8JSObjectE
__ZN3JSC14JSGlobalObject14setTimeoutTimeEj
__ZN3JSC14JSGlobalObject16stopTimeoutCheckEv
__ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrEj
__ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEj
__ZN3JSC14JSGlobalObject17startTimeoutCheckEv
__ZN3JSC14JSGlobalObject29markCrossHeapDependentObjectsEv
__ZN3JSC14JSGlobalObject3putEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrERNS_15PutPropertySlotE
__ZN3JSC14JSGlobalObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
__ZN3JSC14JSGlobalObject4initEPNS_8JSObjectE
__ZN3JSC14JSGlobalObject4markEv
__ZN3JSC14JSGlobalObjectD2Ev
......@@ -167,13 +164,11 @@ __ZN3JSC16JSVariableObject16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameAr
__ZN3JSC16ParserRefCounted3refEv
__ZN3JSC16ParserRefCounted5derefEv
__ZN3JSC17PropertyNameArray3addEPNS_7UString3RepE
__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEEiRKNS_10IdentifierEPFNS_10JSValuePtrES2_PNS_8JSObjectESA_RKNS_7ArgListEE
__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEiRKNS_10IdentifierEPFNS_10JSValuePtrES2_PNS_8JSObjectES6_RKNS_7ArgListEE
__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectESB_RKNS_7ArgListEE
__ZN3JSC17constructFunctionEPNS_9ExecStateERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
__ZN3JSC19constructEmptyArrayEPNS_9ExecStateE
__ZN3JSC19initializeThreadingEv
__ZN3JSC20constructEmptyObjectEPNS_9ExecStateE
__ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectENS_10JSValuePtrERKNS_7ArgListE
__ZN3JSC23setUpStaticFunctionSlotEPNS_9ExecStateEPKNS_9HashEntryEPNS_8JSObjectERKNS_10IdentifierERNS_12PropertySlotE
__ZN3JSC4Heap14allocateNumberEm
__ZN3JSC4Heap14primaryHeapEndEv
......@@ -184,13 +179,13 @@ __ZN3JSC4Heap20protectedObjectCountEv
__ZN3JSC4Heap24setGCProtectNeedsLockingEv
__ZN3JSC4Heap25protectedObjectTypeCountsEv
__ZN3JSC4Heap26protectedGlobalObjectCountEv
__ZN3JSC4Heap4heapENS_10JSValuePtrE
__ZN3JSC4Heap4heapEPNS_7JSValueE
__ZN3JSC4Heap4sizeEv
__ZN3JSC4Heap7collectEv
__ZN3JSC4Heap7protectENS_10JSValuePtrE
__ZN3JSC4Heap7protectEPNS_7JSValueE
__ZN3JSC4Heap8allocateEm
__ZN3JSC4Heap9unprotectENS_10JSValuePtrE
__ZN3JSC4callEPNS_9ExecStateENS_10JSValuePtrENS_8CallTypeERKNS_8CallDataES2_RKNS_7ArgListE
__ZN3JSC4Heap9unprotectEPNS_7JSValueE
__ZN3JSC4callEPNS_9ExecStateEPNS_7JSValueENS_8CallTypeERKNS_8CallDataES3_RKNS_7ArgListE
__ZN3JSC5equalEPKNS_7UString3RepES3_
__ZN3JSC6JSCell11getCallDataERNS_8CallDataE
__ZN3JSC6JSCell11getJSNumberEv
......@@ -200,8 +195,8 @@ __ZN3JSC6JSCell14toThisJSStringEPNS_9ExecStateE
__ZN3JSC6JSCell16getConstructDataERNS_13ConstructDataE
__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
__ZN3JSC6JSCell3putEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrERNS_15PutPropertySlotE
__ZN3JSC6JSCell3putEPNS_9ExecStateEjNS_10JSValuePtrE
__ZN3JSC6JSCell3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
__ZN3JSC6JSCell3putEPNS_9ExecStateEjPNS_7JSValueE
__ZN3JSC6JSCell9getObjectEv
__ZN3JSC6JSCellnwEmPNS_9ExecStateE
__ZN3JSC6JSLock12DropAllLocksC1EPNS_9ExecStateE
......@@ -213,7 +208,7 @@ __ZN3JSC6JSLock9lockCountEv
__ZN3JSC6JSLockC1EPNS_9ExecStateE
__ZN3JSC6Parser5parseEPNS_12JSGlobalDataEPiPNS_7UStringE
__ZN3JSC6strtodEPKcPPc
__ZN3JSC7ArgList10slowAppendENS_10JSValuePtrE
__ZN3JSC7ArgList10slowAppendEPNS_7JSValueE
__ZN3JSC7CStringD1Ev
__ZN3JSC7CStringaSERKS0_
__ZN3JSC7JSArray4infoE
......@@ -235,7 +230,7 @@ __ZN3JSC8Debugger6attachEPNS_14JSGlobalObjectE
__ZN3JSC8Debugger6detachEPNS_14JSGlobalObjectE
__ZN3JSC8DebuggerC2Ev
__ZN3JSC8DebuggerD2Ev
__ZN3JSC8JSObject11hasInstanceEPNS_9ExecStateENS_10JSValuePtrES3_
__ZN3JSC8JSObject11hasInstanceEPNS_9ExecStateEPNS_7JSValueES4_
__ZN3JSC8JSObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPS0_
__ZN3JSC8JSObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPS0_
__ZN3JSC8JSObject12lookupGetterEPNS_9ExecStateERKNS_10IdentifierE
......@@ -245,14 +240,14 @@ __ZN3JSC8JSObject14deletePropertyEPNS_9ExecStateEj
__ZN3JSC8JSObject16getPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayE
__ZN3JSC8JSObject17createInheritorIDEv
__ZN3JSC8JSObject17putDirectFunctionEPNS_9ExecStateEPNS_16InternalFunctionEj
__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrEj
__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateEjNS_10JSValuePtrEj
__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEj
__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateEjPNS_7JSValueEj
__ZN3JSC8JSObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
__ZN3JSC8JSObject18getPrimitiveNumberEPNS_9ExecStateERdRNS_10JSValuePtrE
__ZN3JSC8JSObject22fillGetterPropertySlotERNS_12PropertySlotEPNS_10JSValuePtrE
__ZN3JSC8JSObject18getPrimitiveNumberEPNS_9ExecStateERdRPNS_7JSValueE
__ZN3JSC8JSObject22fillGetterPropertySlotERNS_12PropertySlotEPPNS_7JSValueE
__ZN3JSC8JSObject23allocatePropertyStorageEmm
__ZN3JSC8JSObject3putEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrERNS_15PutPropertySlotE
__ZN3JSC8JSObject3putEPNS_9ExecStateEjNS_10JSValuePtrE
__ZN3JSC8JSObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
__ZN3JSC8JSObject3putEPNS_9ExecStateEjPNS_7JSValueE
__ZN3JSC8JSObject4markEv
__ZN3JSC8Profiler13stopProfilingEPNS_9ExecStateERKNS_7UStringE
__ZN3JSC8Profiler14startProfilingEPNS_9ExecStateERKNS_7UStringE
......@@ -260,7 +255,6 @@ __ZN3JSC8Profiler8profilerEv
__ZN3JSC8jsStringEPNS_12JSGlobalDataERKNS_7UStringE
__ZN3JSC9CodeBlockD1Ev
__ZN3JSC9CodeBlockD2Ev
__ZN3JSC9constructEPNS_9ExecStateENS_10JSValuePtrENS_13ConstructTypeERKNS_13ConstructDataERKNS_7ArgListE
__ZN3JSCeqERKNS_7UStringEPKc
__ZN3JSCgtERKNS_7UStringES2_
__ZN3JSCltERKNS_7UStringES2_
......@@ -311,7 +305,6 @@ __ZNK3JSC16JSVariableObject21getPropertyAttributesEPNS_9ExecStateERKNS_10Identif
__ZNK3JSC17DebuggerCallFrame10thisObjectEv
__ZNK3JSC17DebuggerCallFrame12functionNameEv
__ZNK3JSC17DebuggerCallFrame4typeEv
__ZNK3JSC17DebuggerCallFrame8evaluateERKNS_7UStringERNS_10JSValuePtrE
__ZNK3JSC4Node8toStringEv
__ZNK3JSC6JSCell12toThisObjectEPNS_9ExecStateE
__ZNK3JSC6JSCell12toThisStringEPNS_9ExecStateE
......@@ -329,7 +322,6 @@ __ZNK3JSC7JSValue16toUInt32SlowCaseEPNS_9ExecStateERb
__ZNK3JSC7JSValue7toFloatEPNS_9ExecStateE
__ZNK3JSC7JSValue9toIntegerEPNS_9ExecStateE
__ZNK3JSC7Machine14retrieveCallerEPNS_9ExecStateEPNS_16InternalFunctionE
__ZNK3JSC7Machine18retrieveLastCallerEPNS_9ExecStateERiRlRNS_7UStringERNS_10JSValuePtrE
__ZNK3JSC7UString10UTF8StringEb
__ZNK3JSC7UString14toStrictUInt32EPb
__ZNK3JSC7UString5asciiEv
......@@ -361,3 +353,11 @@ __ZTVN3JSC8JSObjectE
__ZTVN3JSC8JSStringE
_jscore_fastmalloc_introspection
_kJSClassDefinitionEmpty
__ZN3JSC11JSImmediate9prototypeEPNS_7JSValueEPNS_9ExecStateE
__ZN3JSC11StructureID25changePrototypeTransitionEPS0_PNS_7JSValueE
__ZN3JSC12StringObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectES7_RKNS_7ArgListEE
__ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectEPNS_7JSValueERKNS_7ArgListE
__ZN3JSC9constructEPNS_9ExecStateEPNS_7JSValueENS_13ConstructTypeERKNS_13ConstructDataERKNS_7ArgListE
__ZNK3JSC17DebuggerCallFrame8evaluateERKNS_7UStringERPNS_7JSValueE
__ZNK3JSC7Machine18retrieveLastCallerEPNS_9ExecStateERiRlRNS_7UStringERPNS_7JSValueE
......@@ -35,10 +35,6 @@
#include "wrec/WREC.h"
#include "ResultType.h"
#if PLATFORM(MAC)
#include <sys/sysctl.h>
#endif
using namespace std;
namespace JSC {
......@@ -179,7 +175,7 @@ ALWAYS_INLINE JSValuePtr CTI::getConstant(CallFrame* callFrame, int src)
inline uintptr_t CTI::asInteger(JSValuePtr value)
{
return reinterpret_cast<uintptr_t>(value.payload());
return reinterpret_cast<uintptr_t>(value);
}
// get arg puts an arg from the SF register array into a h/w register
......
......@@ -674,7 +674,7 @@ unsigned CodeGenerator::addConstant(const Identifier& ident)
RegisterID* CodeGenerator::addConstant(JSValuePtr v)
{
pair<JSValueMap::iterator, bool> result = m_jsValueMap.add(v.payload(), m_nextConstant);
pair<JSValueMap::iterator, bool> result = m_jsValueMap.add(v, m_nextConstant);
if (result.second) {
RegisterID& constant = m_calleeRegisters[m_nextConstant];
......
......@@ -331,8 +331,8 @@ namespace JSC {
PassRefPtr<LabelID> emitComplexJumpScopes(LabelID* target, ControlFlowContext* topScope, ControlFlowContext* bottomScope);
struct JSValueHashTraits : HashTraits<JSValue*> {
static void constructDeletedValue(JSValue*& slot) { slot = JSImmediate::impossibleValue().payload(); }
static bool isDeletedValue(JSValue* value) { return value == JSImmediate::impossibleValue().payload(); }
static void constructDeletedValue(JSValue*& slot) { slot = JSImmediate::impossibleValue(); }
static bool isDeletedValue(JSValue* value) { return value == JSImmediate::impossibleValue(); }
};
typedef HashMap<JSValue*, unsigned, PtrHash<JSValue*>, JSValueHashTraits> JSValueMap;
......
......@@ -4385,7 +4385,7 @@ JSValue* Machine::cti_op_add(CTI_ARGS)
bool rightIsNumber = fastIsNumber(v2, right);
if (rightIsNumber && fastIsNumber(v1, left))
return jsNumber(ARG_globalData, left + right).payload();
return jsNumber(ARG_globalData, left + right);
CallFrame* callFrame = ARG_callFrame;
......@@ -4397,7 +4397,7 @@ JSValue* Machine::cti_op_add(CTI_ARGS)
VM_THROW_EXCEPTION();
}
return JSValuePtr(jsString(ARG_globalData, value.release())).payload();
return JSValuePtr(jsString(ARG_globalData, value.release()));
}
if (rightIsNumber & leftIsString) {
......@@ -4409,13 +4409,13 @@ JSValue* Machine::cti_op_add(CTI_ARGS)
throwOutOfMemoryError(callFrame);
VM_THROW_EXCEPTION();
}
return JSValuePtr(jsString(ARG_globalData, value.release())).payload();
return JSValuePtr(jsString(ARG_globalData, value.release()));
}
// All other cases are pretty uncommon
JSValuePtr result = jsAddSlowCase(callFrame, v1, v2);
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_pre_inc(CTI_ARGS)
......@@ -4427,7 +4427,7 @@ JSValue* Machine::cti_op_pre_inc(CTI_ARGS)
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsNumber(ARG_globalData, v->toNumber(callFrame) + 1);
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
void Machine::cti_timeout_check(CTI_ARGS)
......@@ -4555,7 +4555,7 @@ JSValue* Machine::cti_op_get_by_id(CTI_ARGS)
ctiRepatchCallByReturnAddress(CTI_RETURN_ADDRESS, reinterpret_cast<void*>(cti_op_get_by_id_second));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_get_by_id_second(CTI_ARGS)
......@@ -4572,7 +4572,7 @@ JSValue* Machine::cti_op_get_by_id_second(CTI_ARGS)
ARG_globalData->machine->tryCTICacheGetByID(callFrame, callFrame->codeBlock(), CTI_RETURN_ADDRESS, baseValue, ident, slot);
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_get_by_id_generic(CTI_ARGS)
......@@ -4587,7 +4587,7 @@ JSValue* Machine::cti_op_get_by_id_generic(CTI_ARGS)
JSValuePtr result = baseValue->get(callFrame, ident, slot);
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_get_by_id_fail(CTI_ARGS)
......@@ -4605,7 +4605,7 @@ JSValue* Machine::cti_op_get_by_id_fail(CTI_ARGS)
ctiRepatchCallByReturnAddress(CTI_RETURN_ADDRESS, reinterpret_cast<void*>(cti_op_get_by_id_generic));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_instanceof(CTI_ARGS)
......@@ -4632,7 +4632,7 @@ JSValue* Machine::cti_op_instanceof(CTI_ARGS)
}
if (!asObject(baseVal)->structureID()->typeInfo().implementsHasInstance())
return JSValuePtr(jsBoolean(false)).payload();
return JSValuePtr(jsBoolean(false));
if (!proto->isObject()) {
throwError(callFrame, TypeError, "instanceof called on an object with an invalid prototype property.");
......@@ -4640,12 +4640,12 @@ JSValue* Machine::cti_op_instanceof(CTI_ARGS)
}
if (!value->isObject())
return JSValuePtr(jsBoolean(false)).payload();
return JSValuePtr(jsBoolean(false));
JSValuePtr result = jsBoolean(asObject(baseVal)->hasInstance(callFrame, value, proto));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_del_by_id(CTI_ARGS)
......@@ -4659,7 +4659,7 @@ JSValue* Machine::cti_op_del_by_id(CTI_ARGS)
JSValuePtr result = jsBoolean(baseObj->deleteProperty(callFrame, ident));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_mul(CTI_ARGS)
......@@ -4672,12 +4672,12 @@ JSValue* Machine::cti_op_mul(CTI_ARGS)
double left;
double right;
if (fastIsNumber(src1, left) && fastIsNumber(src2, right))
return jsNumber(ARG_globalData, left * right).payload();
return jsNumber(ARG_globalData, left * right);
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsNumber(ARG_globalData, src1->toNumber(callFrame) * src2->toNumber(callFrame));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSObject* Machine::cti_op_new_func(CTI_ARGS)
......@@ -4803,7 +4803,7 @@ JSValue* Machine::cti_op_call_NotJSFunction(CTI_ARGS)
ARG_setCallFrame(previousCallFrame);
VM_CHECK_EXCEPTION();
return returnValue.payload();
return returnValue;
}
ASSERT(callType == CallTypeNone);
......@@ -4896,7 +4896,7 @@ JSValue* Machine::cti_op_resolve(CTI_ARGS)
if (o->getPropertySlot(callFrame, ident, slot)) {
JSValuePtr result = slot.getValue(callFrame, ident);
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
} while (++iter != end);
......@@ -5007,7 +5007,7 @@ JSValue* Machine::cti_op_construct_NotJSConstruct(CTI_ARGS)
JSValuePtr returnValue = constructData.native.function(callFrame, asObject(constrVal), argList);
VM_CHECK_EXCEPTION();
return returnValue.payload();
return returnValue;
}
ASSERT(constructType == ConstructTypeNone);
......@@ -5047,7 +5047,7 @@ JSValue* Machine::cti_op_get_by_val(CTI_ARGS)
}
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
VoidPtrPair Machine::cti_op_resolve_func(CTI_ARGS)
......@@ -5104,12 +5104,12 @@ JSValue* Machine::cti_op_sub(CTI_ARGS)
double left;
double right;
if (fastIsNumber(src1, left) && fastIsNumber(src2, right))
return jsNumber(ARG_globalData, left - right).payload();
return jsNumber(ARG_globalData, left - right);
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsNumber(ARG_globalData, src1->toNumber(callFrame) - src2->toNumber(callFrame));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
void Machine::cti_op_put_by_val(CTI_ARGS)
......@@ -5179,7 +5179,7 @@ JSValue* Machine::cti_op_lesseq(CTI_ARGS)
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsBoolean(jsLessEq(callFrame, ARG_src1, ARG_src2));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
int Machine::cti_op_loop_if_true(CTI_ARGS)
......@@ -5203,19 +5203,19 @@ JSValue* Machine::cti_op_negate(CTI_ARGS)
double v;
if (fastIsNumber(src, v))
return jsNumber(ARG_globalData, -v).payload();
return jsNumber(ARG_globalData, -v);
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsNumber(ARG_globalData, -src->toNumber(callFrame));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_resolve_base(CTI_ARGS)
{
CTI_STACK_HACK();
return inlineResolveBase(ARG_callFrame, *ARG_id1, ARG_callFrame->scopeChain()).payload();
return inlineResolveBase(ARG_callFrame, *ARG_id1, ARG_callFrame->scopeChain());
}
JSValue* Machine::cti_op_resolve_skip(CTI_ARGS)
......@@ -5241,7 +5241,7 @@ JSValue* Machine::cti_op_resolve_skip(CTI_ARGS)
if (o->getPropertySlot(callFrame, ident, slot)) {
JSValuePtr result = slot.getValue(callFrame, ident);
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
} while (++iter != end);
......@@ -5271,11 +5271,11 @@ JSValue* Machine::cti_op_resolve_global(CTI_ARGS)
globalObject->structureID()->ref();
vPC[4] = globalObject->structureID();
vPC[5] = slot.cachedOffset();
return result.payload();
return result;
}
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
ARG_globalData->exception = createUndefinedVariableError(callFrame, ident, vPC, callFrame->codeBlock());
......@@ -5292,12 +5292,12 @@ JSValue* Machine::cti_op_div(CTI_ARGS)
double left;
double right;
if (fastIsNumber(src1, left) && fastIsNumber(src2, right))
return jsNumber(ARG_globalData, left / right).payload();
return jsNumber(ARG_globalData, left / right);
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsNumber(ARG_globalData, src1->toNumber(callFrame) / src2->toNumber(callFrame));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_pre_dec(CTI_ARGS)
......@@ -5309,7 +5309,7 @@ JSValue* Machine::cti_op_pre_dec(CTI_ARGS)
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsNumber(ARG_globalData, v->toNumber(callFrame) - 1);
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
int Machine::cti_op_jless(CTI_ARGS)
......@@ -5335,7 +5335,7 @@ JSValue* Machine::cti_op_not(CTI_ARGS)
JSValuePtr result = jsBoolean(!src->toBoolean(callFrame));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
int SFX_CALL Machine::cti_op_jtrue(CTI_ARGS)
......@@ -5378,7 +5378,7 @@ JSValue* Machine::cti_op_eq(CTI_ARGS)
ASSERT(!JSImmediate::areBothImmediateNumbers(src1, src2));
JSValuePtr result = jsBoolean(equalSlowCaseInline(callFrame, src1, src2));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_lshift(CTI_ARGS)
......@@ -5391,14 +5391,14 @@ JSValue* Machine::cti_op_lshift(CTI_ARGS)
int32_t left;
uint32_t right;
if (JSImmediate::areBothImmediateNumbers(val, shift))
return jsNumber(ARG_globalData, JSImmediate::getTruncatedInt32(val) << (JSImmediate::getTruncatedUInt32(shift) & 0x1f)).payload();
return jsNumber(ARG_globalData, JSImmediate::getTruncatedInt32(val) << (JSImmediate::getTruncatedUInt32(shift) & 0x1f));
if (fastToInt32(val, left) && fastToUInt32(shift, right))
return jsNumber(ARG_globalData, left << (right & 0x1f)).payload();
return jsNumber(ARG_globalData, left << (right & 0x1f));
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsNumber(ARG_globalData, (val->toInt32(callFrame)) << (shift->toUInt32(callFrame) & 0x1f));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_bitand(CTI_ARGS)
......@@ -5411,12 +5411,12 @@ JSValue* Machine::cti_op_bitand(CTI_ARGS)
int32_t left;
int32_t right;
if (fastToInt32(src1, left) && fastToInt32(src2, right))
return jsNumber(ARG_globalData, left & right).payload();
return jsNumber(ARG_globalData, left & right);
CallFrame* callFrame = ARG_callFrame;
JSValuePtr result = jsNumber(ARG_globalData, src1->toInt32(callFrame) & src2->toInt32(callFrame));
VM_CHECK_EXCEPTION_AT_END();
return result.payload();
return result;
}
JSValue* Machine::cti_op_rshift(CTI_ARGS)
......@@ -5429,14 +5429,14 @@ JSValue* Machine::cti_op_rshift(CTI_ARGS)
int32_t left;
uint32_t right;
if (JSImmediate::areBothImmediateNumbers(val, shift))
return JSImmediate::rightShiftImmediateNumbers(val, shift).payload();
return JSImmediate::rightShiftImmediateNumbers(val, shift);
if (fastToInt32(val, left) && fastToUInt32(shift, right))