Ignore:
Timestamp:
Oct 23, 2008, 8:55:41 AM (17 years ago)
Author:
Darin Adler
Message:

JavaScriptCore:

2008-10-23 Darin Adler <Darin Adler>

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

  • 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 Adler>

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

WebCore:

2008-10-23 Darin Adler <Darin Adler>

  • bindings/js/ScheduledAction.h:
  • inspector/InspectorController.cpp: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.exp

    r37799 r37812  
    103103__ZN3JSC11Interpreter21shouldPrintExceptionsEv
    104104__ZN3JSC11Interpreter24setShouldPrintExceptionsEb
    105 __ZN3JSC11Interpreter8evaluateEPNS_9ExecStateERNS_10ScopeChainERKNS_10SourceCodeENS_10JSValuePtrE
     105__ZN3JSC11Interpreter8evaluateEPNS_9ExecStateERNS_10ScopeChainERKNS_10SourceCodeEPNS_7JSValueE
    106106__ZN3JSC11JSImmediate12nonInlineNaNEv
    107 __ZN3JSC11JSImmediate8toObjectENS_10JSValuePtrEPNS_9ExecStateE
    108 __ZN3JSC11JSImmediate8toStringENS_10JSValuePtrE
    109 __ZN3JSC11JSImmediate9prototypeENS_10JSValuePtrEPNS_9ExecStateE
     107__ZN3JSC11JSImmediate8toObjectEPNS_7JSValueEPNS_9ExecStateE
     108__ZN3JSC11JSImmediate8toStringEPNS_7JSValueE
    110109__ZN3JSC11ProfileNode4sortEPFbRKN3WTF6RefPtrIS0_EES5_E
    111110__ZN3JSC11ProgramNode6createEPNS_12JSGlobalDataEPNS_14SourceElementsEPN3WTF6VectorISt4pairINS_10IdentifierEjELm16EEEPNS6_INS5_6RefPtrINS_12FuncDeclNodeEEELm16EEERKNS_10SourceCodeEji
     
    118117__ZN3JSC11StructureID21clearEnumerationCacheEv
    119118__ZN3JSC11StructureID24fromDictionaryTransitionEPS0_
    120 __ZN3JSC11StructureID25changePrototypeTransitionEPS0_NS_10JSValuePtrE
    121119__ZN3JSC11StructureID27growPropertyStorageCapacityEv
    122 __ZN3JSC11StructureIDC1ENS_10JSValuePtrERKNS_8TypeInfoE
     120__ZN3JSC11StructureIDC1EPNS_7JSValueERKNS_8TypeInfoE
    123121__ZN3JSC11StructureIDD1Ev
    124122__ZN3JSC12DateInstance4infoE
     
    136134__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    137135__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
    138 __ZN3JSC12StringObject3putEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrERNS_15PutPropertySlotE
    139136__ZN3JSC12StringObject4infoE
    140137__ZN3JSC12StringObjectC2EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEERKNS_7UStringE
     
    148145__ZN3JSC14JSGlobalObject14setTimeoutTimeEj
    149146__ZN3JSC14JSGlobalObject16stopTimeoutCheckEv
    150 __ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrEj
     147__ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEj
    151148__ZN3JSC14JSGlobalObject17startTimeoutCheckEv
    152149__ZN3JSC14JSGlobalObject29markCrossHeapDependentObjectsEv
    153 __ZN3JSC14JSGlobalObject3putEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrERNS_15PutPropertySlotE
     150__ZN3JSC14JSGlobalObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
    154151__ZN3JSC14JSGlobalObject4initEPNS_8JSObjectE
    155152__ZN3JSC14JSGlobalObject4markEv
     
    168165__ZN3JSC16ParserRefCounted5derefEv
    169166__ZN3JSC17PropertyNameArray3addEPNS_7UString3RepE
    170 __ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEEiRKNS_10IdentifierEPFNS_10JSValuePtrES2_PNS_8JSObjectESA_RKNS_7ArgListEE
    171 __ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEiRKNS_10IdentifierEPFNS_10JSValuePtrES2_PNS_8JSObjectES6_RKNS_7ArgListEE
     167__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEN3WTF10PassRefPtrINS_11StructureIDEEEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectESB_RKNS_7ArgListEE
    172168__ZN3JSC17constructFunctionEPNS_9ExecStateERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
    173169__ZN3JSC19constructEmptyArrayEPNS_9ExecStateE
    174170__ZN3JSC19initializeThreadingEv
    175171__ZN3JSC20constructEmptyObjectEPNS_9ExecStateE
    176 __ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectENS_10JSValuePtrERKNS_7ArgListE
    177172__ZN3JSC23setUpStaticFunctionSlotEPNS_9ExecStateEPKNS_9HashEntryEPNS_8JSObjectERKNS_10IdentifierERNS_12PropertySlotE
    178173__ZN3JSC4Heap14allocateNumberEm
     
    185180__ZN3JSC4Heap25protectedObjectTypeCountsEv
    186181__ZN3JSC4Heap26protectedGlobalObjectCountEv
    187 __ZN3JSC4Heap4heapENS_10JSValuePtrE
     182__ZN3JSC4Heap4heapEPNS_7JSValueE
    188183__ZN3JSC4Heap4sizeEv
    189184__ZN3JSC4Heap7collectEv
    190 __ZN3JSC4Heap7protectENS_10JSValuePtrE
     185__ZN3JSC4Heap7protectEPNS_7JSValueE
    191186__ZN3JSC4Heap8allocateEm
    192 __ZN3JSC4Heap9unprotectENS_10JSValuePtrE
    193 __ZN3JSC4callEPNS_9ExecStateENS_10JSValuePtrENS_8CallTypeERKNS_8CallDataES2_RKNS_7ArgListE
     187__ZN3JSC4Heap9unprotectEPNS_7JSValueE
     188__ZN3JSC4callEPNS_9ExecStateEPNS_7JSValueENS_8CallTypeERKNS_8CallDataES3_RKNS_7ArgListE
    194189__ZN3JSC5equalEPKNS_7UString3RepES3_
    195190__ZN3JSC6JSCell11getCallDataERNS_8CallDataE
     
    201196__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    202197__ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
    203 __ZN3JSC6JSCell3putEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrERNS_15PutPropertySlotE
    204 __ZN3JSC6JSCell3putEPNS_9ExecStateEjNS_10JSValuePtrE
     198__ZN3JSC6JSCell3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
     199__ZN3JSC6JSCell3putEPNS_9ExecStateEjPNS_7JSValueE
    205200__ZN3JSC6JSCell9getObjectEv
    206201__ZN3JSC6JSCellnwEmPNS_9ExecStateE
     
    214209__ZN3JSC6Parser5parseEPNS_12JSGlobalDataEPiPNS_7UStringE
    215210__ZN3JSC6strtodEPKcPPc
    216 __ZN3JSC7ArgList10slowAppendENS_10JSValuePtrE
     211__ZN3JSC7ArgList10slowAppendEPNS_7JSValueE
    217212__ZN3JSC7CStringD1Ev
    218213__ZN3JSC7CStringaSERKS0_
     
    236231__ZN3JSC8DebuggerC2Ev
    237232__ZN3JSC8DebuggerD2Ev
    238 __ZN3JSC8JSObject11hasInstanceEPNS_9ExecStateENS_10JSValuePtrES3_
     233__ZN3JSC8JSObject11hasInstanceEPNS_9ExecStateEPNS_7JSValueES4_
    239234__ZN3JSC8JSObject12defineGetterEPNS_9ExecStateERKNS_10IdentifierEPS0_
    240235__ZN3JSC8JSObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPS0_
     
    246241__ZN3JSC8JSObject17createInheritorIDEv
    247242__ZN3JSC8JSObject17putDirectFunctionEPNS_9ExecStateEPNS_16InternalFunctionEj
    248 __ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrEj
    249 __ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateEjNS_10JSValuePtrEj
     243__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueEj
     244__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateEjPNS_7JSValueEj
    250245__ZN3JSC8JSObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
    251 __ZN3JSC8JSObject18getPrimitiveNumberEPNS_9ExecStateERdRNS_10JSValuePtrE
    252 __ZN3JSC8JSObject22fillGetterPropertySlotERNS_12PropertySlotEPNS_10JSValuePtrE
     246__ZN3JSC8JSObject18getPrimitiveNumberEPNS_9ExecStateERdRPNS_7JSValueE
     247__ZN3JSC8JSObject22fillGetterPropertySlotERNS_12PropertySlotEPPNS_7JSValueE
    253248__ZN3JSC8JSObject23allocatePropertyStorageEmm
    254 __ZN3JSC8JSObject3putEPNS_9ExecStateERKNS_10IdentifierENS_10JSValuePtrERNS_15PutPropertySlotE
    255 __ZN3JSC8JSObject3putEPNS_9ExecStateEjNS_10JSValuePtrE
     249__ZN3JSC8JSObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
     250__ZN3JSC8JSObject3putEPNS_9ExecStateEjPNS_7JSValueE
    256251__ZN3JSC8JSObject4markEv
    257252__ZN3JSC8Profiler13stopProfilingEPNS_9ExecStateERKNS_7UStringE
     
    261256__ZN3JSC9CodeBlockD1Ev
    262257__ZN3JSC9CodeBlockD2Ev
    263 __ZN3JSC9constructEPNS_9ExecStateENS_10JSValuePtrENS_13ConstructTypeERKNS_13ConstructDataERKNS_7ArgListE
    264258__ZN3JSCeqERKNS_7UStringEPKc
    265259__ZN3JSCgtERKNS_7UStringES2_
     
    312306__ZNK3JSC17DebuggerCallFrame12functionNameEv
    313307__ZNK3JSC17DebuggerCallFrame4typeEv
    314 __ZNK3JSC17DebuggerCallFrame8evaluateERKNS_7UStringERNS_10JSValuePtrE
    315308__ZNK3JSC4Node8toStringEv
    316309__ZNK3JSC6JSCell12toThisObjectEPNS_9ExecStateE
     
    330323__ZNK3JSC7JSValue9toIntegerEPNS_9ExecStateE
    331324__ZNK3JSC7Machine14retrieveCallerEPNS_9ExecStateEPNS_16InternalFunctionE
    332 __ZNK3JSC7Machine18retrieveLastCallerEPNS_9ExecStateERiRlRNS_7UStringERNS_10JSValuePtrE
    333325__ZNK3JSC7UString10UTF8StringEb
    334326__ZNK3JSC7UString14toStrictUInt32EPb
     
    362354_jscore_fastmalloc_introspection
    363355_kJSClassDefinitionEmpty
     356__ZN3JSC11JSImmediate9prototypeEPNS_7JSValueEPNS_9ExecStateE
     357__ZN3JSC11StructureID25changePrototypeTransitionEPS0_PNS_7JSValueE
     358__ZN3JSC12StringObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueERNS_15PutPropertySlotE
     359__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectES7_RKNS_7ArgListEE
     360__ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectEPNS_7JSValueERKNS_7ArgListE
     361__ZN3JSC9constructEPNS_9ExecStateEPNS_7JSValueENS_13ConstructTypeERKNS_13ConstructDataERKNS_7ArgListE
     362__ZNK3JSC17DebuggerCallFrame8evaluateERKNS_7UStringERPNS_7JSValueE
     363__ZNK3JSC7Machine18retrieveLastCallerEPNS_9ExecStateERiRlRNS_7UStringERPNS_7JSValueE
Note: See TracChangeset for help on using the changeset viewer.