Lines Matching refs:JSC
8 (JSC::Interpreter::privateExecute):
34 (JSC::CodeBlock::dump):
35 (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
39 (JSC::BytecodeGenerator::BytecodeGenerator):
40 (JSC::BytecodeGenerator::emitConstruct):
42 (JSC::BytecodeGenerator::emitGetByIdExceptionInfo):
44 (JSC::Interpreter::privateExecute):
46 (JSC::JIT::privateCompileMainPass):
49 (JSC::JIT::compileOpCall):
50 (JSC::JIT::compileOpCallSlowCase):
52 (JSC::JIT::compileOpCall):
53 (JSC::JIT::compileOpCallSlowCase):
55 (JSC::JIT::privateCompileCTIMachineTrampolines):
56 (JSC::JIT::privateCompileCTINativeCall):
57 (JSC::JIT::emit_op_neq_null):
58 (JSC::JIT::emit_op_convert_this):
59 (JSC::JIT::emit_op_get_callee):
60 (JSC::JIT::emit_op_create_this):
62 (JSC::JIT::privateCompileCTIMachineTrampolines):
63 (JSC::JIT::privateCompileCTINativeCall):
64 (JSC::JIT::emit_op_get_callee):
65 (JSC::JIT::emit_op_create_this):
67 (JSC::DEFINE_STUB_FUNCTION):
68 (JSC::JITThunks::hostFunctionStub):
70 (JSC::JITThunks::ctiNativeConstruct):
71 (JSC::):
73 (JSC::createNotAnObjectError):
75 (JSC::NativeExecutable::create):
76 (JSC::NativeExecutable::NativeExecutable):
78 (JSC::callHostFunctionAsConstructor):
99 (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
100 (JSC::JSObjectWithGlobalObject::globalObject):
118 (JSC::Interpreter::privateExecute):
120 (JSC::JSPropertyNameIterator::get):
130 (JSC::Interpreter::privateExecute):
164 (JSC::Interpreter::callEval):
165 (JSC::Interpreter::privateExecute):
167 (JSC::DEFINE_STUB_FUNCTION):
169 (JSC::InternalFunction::name):
170 (JSC::InternalFunction::displayName):
172 (JSC::JSFunction::name):
173 (JSC::JSFunction::displayName):
175 (JSC::JSGlobalObject::reset):
179 (JSC::RopeBuilder::tryGetValue):
180 (JSC::JSString::getIndex):
182 (JSC::NativeErrorConstructor::NativeErrorConstructor):
185 (JSC::NativeErrorPrototype::NativeErrorPrototype):
188 (JSC::stringProtoFuncReplace):
197 (JSC::Interpreter::privateExecute):
271 (JSC::JSCallbackConstructor::JSCallbackConstructor):
274 (JSC::JSCallbackFunction::JSCallbackFunction):
277 (JSC::):
280 (JSC::::JSCallbackObject):
281 (JSC::::staticFunctionGetter):
304 (JSC::Interpreter::privateExecute):
306 (JSC::DEFINE_STUB_FUNCTION):
310 (JSC::ArrayConstructor::ArrayConstructor):
313 (JSC::ArrayPrototype::ArrayPrototype):
315 (JSC::ArrayPrototype::createStructure):
317 (JSC::BooleanConstructor::BooleanConstructor):
320 (JSC::BooleanPrototype::BooleanPrototype):
323 (JSC::DateConstructor::DateConstructor):
326 (JSC::DatePrototype::DatePrototype):
329 (JSC::ErrorConstructor::ErrorConstructor):
332 (JSC::ErrorPrototype::ErrorPrototype):
335 (JSC::FunctionConstructor::FunctionConstructor):
338 (JSC::FunctionPrototype::FunctionPrototype):
339 (JSC::FunctionPrototype::addFunctionProperties):
342 (JSC::GlobalEvalFunction::GlobalEvalFunction):
345 (JSC::InternalFunction::InternalFunction):
348 (JSC::JSValue::getCallData):
349 (JSC::JSValue::getConstructData):
351 (JSC::JSFunction::JSFunction):
354 (JSC::JSGlobalObject::reset):
356 (JSC::JSGlobalObject::JSGlobalObject):
358 (JSC::JSONObject::JSONObject):
362 (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
364 (JSC::JSObjectWithGlobalObject::createStructure):
365 (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
367 (JSC::JSValue::isValidCallee):
370 (JSC::setUpStaticFunctionSlot):
372 (JSC::MathObject::MathObject):
375 (JSC::NativeErrorConstructor::NativeErrorConstructor):
378 (JSC::NativeErrorPrototype::NativeErrorPrototype):
381 (JSC::NumberConstructor::NumberConstructor):
384 (JSC::NumberPrototype::NumberPrototype):
387 (JSC::ObjectConstructor::ObjectConstructor):
390 (JSC::ObjectPrototype::ObjectPrototype):
393 (JSC::PrototypeFunction::PrototypeFunction):
396 (JSC::RegExpConstructor::RegExpConstructor):
397 (JSC::constructRegExp):
400 (JSC::RegExpObject::RegExpObject):
403 (JSC::RegExpPrototype::RegExpPrototype):
406 (JSC::StringConstructor::StringConstructor):
409 (JSC::StringPrototype::StringPrototype):
425 (JSC::RegisterFile::):
427 (JSC::JIT::compileOpCall):
549 (JSC::CodeBlock::dump):
551 (JSC::Interpreter::privateExecute):
564 (JSC::BytecodeGenerator::findScopedProperty):
567 (JSC::Interpreter::resolveSkip):
568 (JSC::Interpreter::resolveGlobalDynamic):
569 (JSC::Interpreter::privateExecute):
571 (JSC::JIT::emit_op_get_scoped_var):
572 (JSC::JIT::emit_op_put_scoped_var):
573 (JSC::JIT::emit_op_resolve_skip):
574 (JSC::JIT::emit_op_resolve_global_dynamic):
575 (JSC::JIT::emitSlow_op_resolve_global_dynamic):
577 (JSC::JIT::emit_op_get_scoped_var):
578 (JSC::JIT::emit_op_put_scoped_var):
579 (JSC::JIT::emit_op_resolve_skip):
589 (JSC::getCount): Removed unneeded initialization of global variable.
607 (JSC::Interpreter::privateExecute):
642 (JSC::CodeBlock::dump):
645 (JSC::BytecodeGenerator::emitCall):
646 (JSC::BytecodeGenerator::emitCallVarargs):
647 (JSC::BytecodeGenerator::emitConstruct):
649 (JSC::BytecodeGenerator::finalDestinationOrIgnored):
651 (JSC::NewExprNode::emitBytecode):
652 (JSC::FunctionCallValueNode::emitBytecode):
653 (JSC::FunctionCallResolveNode::emitBytecode):
654 (JSC::FunctionCallBracketNode::emitBytecode):
655 (JSC::FunctionCallDotNode::emitBytecode):
656 (JSC::CallFunctionCallDotNode::emitBytecode):
657 (JSC::ApplyFunctionCallDotNode::emitBytecode):
659 (JSC::ExecState::init):
660 (JSC::ExecState::noCaller):
662 (JSC::Interpreter::dumpRegisters):
663 (JSC::Interpreter::throwException):
664 (JSC::Interpreter::privateExecute):
666 (JSC::RegisterFile::):
668 (JSC::JIT::privateCompileMainPass):
671 (JSC::JIT::compileOpCallSetupArgs):
672 (JSC::JIT::compileOpConstructSetupArgs):
673 (JSC::JIT::emit_op_call_put_result):
674 (JSC::JIT::compileOpCallVarargs):
675 (JSC::JIT::compileOpCallVarargsSlowCase):
676 (JSC::JIT::compileOpCall):
677 (JSC::JIT::compileOpCallSlowCase):
678 (JSC::JIT::compileOpCallVarargsSetupArgs):
698 (JSC::CodeBlock::dump):
701 (JSC::BytecodeGenerator::emitReturn):
703 (JSC::Interpreter::privateExecute):
705 (JSC::JIT::privateCompileMainPass):
708 (JSC::JIT::emit_op_ret_object_or_this):
710 (JSC::JIT::emit_op_ret_object_or_this):
721 (JSC::CodeBlock::dump):
724 (JSC::BytecodeGenerator::BytecodeGenerator):
725 (JSC::BytecodeGenerator::emitReturn):
726 (JSC::BytecodeGenerator::emitConstruct):
728 (JSC::BytecodeGenerator::isConstructor):
730 (JSC::FunctionBodyNode::emitBytecode):
732 (JSC::Interpreter::privateExecute):
734 (JSC::JIT::privateCompileMainPass):
735 (JSC::JIT::privateCompileSlowCases):
738 (JSC::JIT::emit_op_constructor_ret):
740 (JSC::JIT::emit_op_constructor_ret):
768 (JSC::Interpreter::retrieveCaller):
769 (JSC::Interpreter::findFunctionCallFrame):
772 (JSC::Profiler::createCallIdentifier):
774 (JSC::functionProtoFuncToString):
776 (JSC::):
777 (JSC::JSFunction::JSFunction):
778 (JSC::JSFunction::name):
779 (JSC::JSFunction::displayName):
780 (JSC::JSFunction::calculatedDisplayName):
783 (JSC::JSObject::putDirectFunction):
784 (JSC::JSObject::putDirectFunctionWithoutTransition):
787 (JSC::setUpStaticFunctionSlot):
797 (JSC::Interpreter::retrieveCaller):
798 (JSC::Interpreter::findFunctionCallFrame):
801 (JSC::Profiler::createCallIdentifier):
803 (JSC::functionProtoFuncToString):
805 (JSC::):
806 (JSC::JSFunction::JSFunction):
811 (JSC::setUpStaticFunctionSlot):
825 (JSC::Interpreter::retrieveCaller):
826 (JSC::Interpreter::findFunctionCallFrame):
829 (JSC::Profiler::createCallIdentifier):
831 (JSC::functionProtoFuncToString):
833 (JSC::):
834 (JSC::JSFunction::JSFunction):
835 (JSC::JSFunction::name):
836 (JSC::JSFunction::displayName):
837 (JSC::JSFunction::calculatedDisplayName):
840 (JSC::JSObject::putDirectFunction):
841 (JSC::JSObject::putDirectFunctionWithoutTransition):
844 (JSC::setUpStaticFunctionSlot):
861 (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
863 (JSC::JSInterfaceJIT::emitJumpIfNotJSCell):
864 (JSC::JSInterfaceJIT::emitLoadInt32):
865 (JSC::JSInterfaceJIT::tagFor):
866 (JSC::JSInterfaceJIT::payloadFor):
867 (JSC::JSInterfaceJIT::emitLoadDouble):
868 (JSC::JSInterfaceJIT::addressFor):
879 (JSC::CodeBlock::bytecodeOffset):
881 (JSC::ExecState::returnPC):
883 (JSC::Interpreter::unwindCallFrame):
884 (JSC::Interpreter::retrieveLastCaller): Moved bytecode access into a
898 (JSC::Interpreter::privateExecute):
912 (JSC::CallReturnOffsetToBytecodeOffset::CallReturnOffsetToBytecodeOffset):
913 (JSC::getCallReturnOffset):
914 (JSC::CodeBlock::bytecodeOffset):
915 (JSC::CodeBlock::callReturnIndexVector):
917 (JSC::bytecodeOffsetForPC):
919 (JSC::JIT::JIT):
920 (JSC::JIT::privateCompileMainPass):
921 (JSC::JIT::privateCompileLinkPass):
922 (JSC::JIT::privateCompileSlowCases):
923 (JSC::JIT::privateCompile):
925 (JSC::CallRecord::CallRecord):
926 (JSC::JumpTable::JumpTable):
927 (JSC::SwitchRecord::SwitchRecord):
929 (JSC::JIT::compileOpCallVarargsSlowCase):
930 (JSC::JIT::compileOpCall):
932 (JSC::JIT::emitNakedCall):
933 (JSC::JIT::addSlowCase):
934 (JSC::JIT::addJump):
935 (JSC::JIT::emitJumpSlowToHot):
936 (JSC::JIT::isLabeled):
937 (JSC::JIT::map):
938 (JSC::JIT::unmap):
939 (JSC::JIT::isMapped):
940 (JSC::JIT::getMappedPayload):
941 (JSC::JIT::getMappedTag):
942 (JSC::JIT::emitGetVirtualRegister):
944 (JSC::JIT::emit_op_switch_imm):
945 (JSC::JIT::emit_op_switch_char):
946 (JSC::JIT::emit_op_switch_string):
947 (JSC::JIT::emit_op_new_error):
949 (JSC::JIT::emit_op_mov):
950 (JSC::JIT::emit_op_get_global_var):
951 (JSC::JIT::emit_op_put_global_var):
952 (JSC::JIT::emit_op_get_scoped_var):
953 (JSC::JIT::emit_op_put_scoped_var):
954 (JSC::JIT::emit_op_to_primitive):
955 (JSC::JIT::emit_op_resolve_global):
956 (JSC::JIT::emit_op_to_jsnumber):
957 (JSC::JIT::emit_op_catch):
958 (JSC::JIT::emit_op_switch_imm):
959 (JSC::JIT::emit_op_switch_char):
960 (JSC::JIT::emit_op_switch_string):
961 (JSC::JIT::emit_op_new_error):
962 (JSC::JIT::emit_op_convert_this):
964 (JSC::JIT::emit_op_method_check):
965 (JSC::JIT::emitSlow_op_method_check):
967 (JSC::JIT::emit_op_method_check):
968 (JSC::JIT::emitSlow_op_method_check):
969 (JSC::JIT::emit_op_get_by_val):
970 (JSC::JIT::emit_op_get_by_id):
971 (JSC::JIT::emit_op_get_by_pname):
973 (JSC::JITStubCall::call):
975 (JSC::DEFINE_STUB_FUNCTION):
990 (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
1004 (JSC::JIT::compileCTINativeCall):
1006 (JSC::JIT::privateCompileCTINativeCall):
1008 (JSC::JIT::privateCompileCTINativeCall):
1010 (JSC::JIT::emitSlow_op_get_by_val):
1012 (JSC::JIT::emitSlow_op_get_by_val):
1014 (JSC::JITThunks::ctiStub):
1015 (JSC::JITThunks::hostFunctionStub):
1018 (JSC::SpecializedThunkJIT::finalize):
1020 (JSC::charCodeAtThunkGenerator):
1021 (JSC::charAtThunkGenerator):
1022 (JSC::fromCharCodeThunkGenerator):
1023 (JSC::sqrtThunkGenerator):
1024 (JSC::powThunkGenerator):
1026 (JSC::JSFunction::JSFunction):
1028 (JSC::JSGlobalData::getHostFunction):
1030 (JSC::JSGlobalData::getCTIStub):
1032 (JSC::setUpStaticFunctionSlot):
1034 (JSC::StringConstructor::StringConstructor):
1049 (JSC::CodeBlock::dump): Updated for new bytecode operands.
1051 (JSC::CodeBlock::CodeBlock):
1053 (JSC::unmodifiedArgumentsRegister): Added a helper function for mapping
1056 (JSC::CodeBlock::setArgumentsRegister):
1057 (JSC::CodeBlock::argumentsRegister):
1058 (JSC::CodeBlock::usesArguments): Changed from a "usesArguments" bool to
1064 (JSC::BytecodeGenerator::addVar): Factored out a helper function for
1067 (JSC::BytecodeGenerator::BytecodeGenerator): Merged / simplified some
1071 (JSC::BytecodeGenerator::createArgumentsIfNecessary): Updated for new bytecode operands.
1073 (JSC::BytecodeGenerator::emitCallEval): No need to create the arguments
1077 (JSC::BytecodeGenerator::emitReturn): Updated for new bytecode operands.
1079 (JSC::BytecodeGenerator::emitPushScope):
1080 (JSC::BytecodeGenerator::emitPushNewScope): Ditto emitCallEval.
1083 (JSC::BytecodeGenerator::addVar): Factored out a helper function for
1086 (JSC::BytecodeGenerator::registerFor): No more need for special handling
1091 (JSC::ExecState::callerFrame):
1092 (JSC::ExecState::init):
1094 (JSC::CallFrameClosure::resetCallFrame): Nixed optionalCalleeArguments.
1097 (JSC::Interpreter::dumpRegisters):
1098 (JSC::Interpreter::unwindCallFrame):
1099 (JSC::Interpreter::privateExecute):
1100 (JSC::Interpreter::retrieveArguments): Opcodes accessing 'arguments' now
1118 (JSC::RegisterFile::):
1120 (JSC::JIT::compileOpCallInitializeCallFrame):
1121 (JSC::JIT::compileOpCall):
1123 (JSC::JIT::emit_op_tear_off_activation):
1124 (JSC::JIT::emit_op_tear_off_arguments):
1125 (JSC::JIT::emit_op_create_arguments):
1126 (JSC::JIT::emit_op_init_arguments):
1128 (JSC::JIT::emit_op_tear_off_activation):
1129 (JSC::JIT::emit_op_tear_off_arguments):
1130 (JSC::JIT::emit_op_create_arguments):
1131 (JSC::JIT::emit_op_init_arguments): The actual optimization: Removed
1136 (JSC::DEFINE_STUB_FUNCTION):
1138 (JSC::): Updated stubs to support arbitrary 'arguments' registers,
1142 (JSC::JSActivation::copyRegisters): Removed some obfuscatory abstraction.
1145 (JSC::FunctionExecutable::generatedByteCode): Added a helper for accessing
1150 (JSC::JSActivation::getOwnPropertySlot):
1151 (JSC::JSActivation::argumentsGetter):
1206 (JSC::JSFunction::JSFunction):
1207 (JSC::JSFunction::getCallData):
1233 (JSC::JIT::compileOpCallInitializeCallFrame):
1234 (JSC::JIT::compileOpCall):
1236 (JSC::JIT::privateCompileCTIMachineTrampolines):
1239 (JSC::JIT::stringGetByValStubGenerator):
1240 (JSC::JIT::emitSlow_op_get_by_val):
1242 (JSC::JIT::stringGetByValStubGenerator):
1243 (JSC::JIT::emitSlow_op_get_by_val):
1245 (JSC::JITThunks::specializedThunk):
1247 (JSC::JITThunks::ctiNativeCall):
1249 (JSC::SpecializedThunkJIT::finalize):
1251 (JSC::charCodeAtThunkGenerator):
1252 (JSC::charAtThunkGenerator):
1253 (JSC::fromCharCodeThunkGenerator):
1254 (JSC::sqrtThunkGenerator):
1255 (JSC::powThunkGenerator):
1258 (JSC::NativeExecutable::create):
1259 (JSC::NativeExecutable::function):
1260 (JSC::NativeExecutable::NativeExecutable):
1261 (JSC::JSFunction::nativeFunction):
1263 (JSC::JSFunction::JSFunction):
1264 (JSC::JSFunction::~JSFunction):
1265 (JSC::JSFunction::markChildren):
1266 (JSC::JSFunction::getCallData):
1267 (JSC::JSFunction::call):
1268 (JSC::JSFunction::getOwnPropertySlot):
1269 (JSC::JSFunction::getConstructData):
1270 (JSC::JSFunction::construct):
1272 (JSC::JSFunction::scope):
1274 (JSC::JSGlobalData::getThunk):
1276 (JSC::setUpStaticFunctionSlot):
1278 (JSC::StringConstructor::StringConstructor):
1306 (JSC::FunctionExecutable::variableCount):
1307 (JSC::FunctionExecutable::FunctionExecutable):
1319 (JSC::JIT::emitSlow_op_jnless):
1320 (JSC::JIT::emitSlow_op_jless):
1329 (JSC::formatLocaleDate):
1356 (JSC::MIPSAssembler::srl):
1357 (JSC::MIPSAssembler::srlv):
1358 (JSC::MIPSAssembler::sqrtd):
1360 (JSC::MacroAssemblerMIPS::urshift32):
1361 (JSC::MacroAssemblerMIPS::sqrtDouble):
1362 (JSC::MacroAssemblerMIPS::load16):
1363 (JSC::MacroAssemblerMIPS::supportsFloatingPointSqrt):
1370 WebInspector: JSC Should provide heap size info for Timeline panel.
1376 (JSC::Heap::size):
1431 (JSC::JIT::stringGetByValStubGenerator):
1465 (JSC::arrayProtoFuncJoin): Remove branches from the hot code path
1469 (JSC::RegExp::match): resize ovector to 0 instead of clearing to avoid
1472 (JSC::RegExpConstructor::performMatch): Mark ALWAYS_INLINE to make the
1475 (JSC::jsSpliceSubstringsWithSeparators): Inline.
1476 (JSC::stringProtoFuncSubstring): Rewrite boundary condition checks to
1488 (JSC::CodeBlock::CodeBlock):
1489 (JSC::CodeBlock::unlinkCallers):
1491 (JSC::CodeBlock::getBytecodeIndex):
1492 (JSC::CodeBlock::getJITCode):
1493 (JSC::CodeBlock::executablePool):
1494 (JSC::GlobalCodeBlock::GlobalCodeBlock):
1495 (JSC::FunctionCodeBlock::FunctionCodeBlock):
1497 (JSC::Interpreter::executeCall):
1498 (JSC::Interpreter::executeConstruct):
1499 (JSC::Interpreter::prepareForRepeatCall):
1500 (JSC::Interpreter::execute):
1501 (JSC::Interpreter::privateExecute):
1504 (JSC::JIT::unlinkCallOrConstruct):
1505 (JSC::JIT::linkConstruct):
1508 (JSC::JIT::compileOpCall):
1509 (JSC::JIT::compileOpCallSlowCase):
1511 (JSC::JIT::privateCompileCTIMachineTrampolines):
1513 (JSC::JIT::privateCompileCTIMachineTrampolines):
1515 (JSC::JIT::emitSlow_op_get_by_val):
1517 (JSC::JIT::emitSlow_op_get_by_val):
1519 (JSC::DEFINE_STUB_FUNCTION):
1521 (JSC::JITThunks::ctiVirtualConstructLink):
1522 (JSC::JITThunks::ctiVirtualConstruct):
1523 (JSC::):
1525 (JSC::SpecializedThunkJIT::finalize):
1527 (JSC::JSActivation::copyRegisters):
1529 (JSC::isNumericCompareFunction):
1531 (JSC::FunctionExecutable::~FunctionExecutable):
1532 (JSC::FunctionExecutable::compileForCall):
1533 (JSC::FunctionExecutable::compileForConstruct):
1534 (JSC::EvalExecutable::generateJITCode):
1535 (JSC::ProgramExecutable::generateJITCode):
1536 (JSC::FunctionExecutable::generateJITCodeForCall):
1537 (JSC::FunctionExecutable::generateJITCodeForConstruct):
1538 (JSC::FunctionExecutable::markAggregate):
1539 (JSC::FunctionExecutable::reparseExceptionInfo):
1540 (JSC::EvalExecutable::reparseExceptionInfo):
1541 (JSC::FunctionExecutable::recompile):
1543 (JSC::ExecutableBase::ExecutableBase):
1544 (JSC::ExecutableBase::isHostFunction):
1545 (JSC::ExecutableBase::generatedJITCodeForCall):
1546 (JSC::ExecutableBase::generatedJITCodeForConstruct):
1547 (JSC::NativeExecutable::NativeExecutable):
1548 (JSC::EvalExecutable::jitCode):
1549 (JSC::ProgramExecutable::jitCode):
1550 (JSC::FunctionExecutable::bytecodeForCall):
1551 (JSC::FunctionExecutable::isGeneratedForCall):
1552 (JSC::FunctionExecutable::generatedBytecodeForCall):
1553 (JSC::FunctionExecutable::bytecodeForConstruct):
1554 (JSC::FunctionExecutable::isGeneratedForConstruct):
1555 (JSC::FunctionExecutable::generatedBytecodeForConstruct):
1556 (JSC::FunctionExecutable::symbolTable):
1557 (JSC::FunctionExecutable::FunctionExecutable):
1558 (JSC::FunctionExecutable::jitCodeForCall):
1559 (JSC::FunctionExecutable::jitCodeForConstruct):
1561 (JSC::JSActivation::JSActivationData::JSActivationData):
1563 (JSC::JSFunction::~JSFunction):
1564 (JSC::JSFunction::call):
1565 (JSC::JSFunction::construct):
1567 (JSC::JSGlobalData::numericCompareFunction):
1576 (JSC::tryMakeString):
1588 (JSC::JIT::emit_op_jlesseq):
1589 (JSC::JIT::emitBinaryDoubleOp):
1613 (JSC::stringProtoFuncReplace):
1615 (JSC::UString::~UString):
1645 (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy):
1646 (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy):
1661 (JSC::JIT::privateCompile):
1844 (JSC::JSString::replaceCharacter): Don't use size_t and wtf::notFound.
1857 (JSC::JSString::resolveRope): Updated for RopeImpl refactoring.
1859 (JSC::JSString::replaceCharacter): Added a replaceCharacter function, which creates
1863 (JSC::):
1864 (JSC::RopeBuilder::RopeIterator::RopeIterator):
1865 (JSC::RopeBuilder::RopeIterator::operator++):
1866 (JSC::RopeBuilder::RopeIterator::operator*):
1867 (JSC::RopeBuilder::RopeIterator::operator!=):
1868 (JSC::RopeBuilder::RopeIterator::WorkItem::WorkItem):
1869 (JSC::RopeBuilder::RopeIterator::WorkItem::operator!=):
1870 (JSC::RopeBuilder::RopeIterator::skipRopes): Created a RopeIterator abstraction.
1875 (JSC::RopeBuilder::JSString): Added constructors for 2 & 3 UStrings.
1877 (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
1878 (JSC::RopeBuilder::size): Updated for RopeImpl refactoring.
1881 (JSC::jsString): Added jsString functions for 2 & 3 UStrings.
1884 (JSC::RopeImpl::derefFibersNonRecursive):
1886 (JSC::RopeImpl::initializeFiber):
1887 (JSC::RopeImpl::size):
1888 (JSC::RopeImpl::fibers):
1889 (JSC::RopeImpl::deref):
1890 (JSC::RopeImpl::RopeImpl): A little refactoring to make this patch easier:
1897 (JSC::stringProtoFuncReplace): Don't resolve a rope unless we need to. Do
1950 (JSC::regexpToSourceString):
1951 (JSC::regexpName):
1952 (JSC::CodeBlock::dump):
1953 (JSC::CodeBlock::shrinkToFit):
1955 (JSC::CodeBlock::addRegExp):
1956 (JSC::CodeBlock::regexp):
1959 (JSC::BytecodeGenerator::addRegExp):
1960 (JSC::BytecodeGenerator::emitNewRegExp):
1963 (JSC::RegExpNode::emitBytecode):
1965 (JSC::Interpreter::privateExecute):
1967 (JSC::JIT::privateCompileMainPass):
1970 (JSC::JIT::emit_op_new_regexp):
1972 (JSC::DEFINE_STUB_FUNCTION):
1974 (JSC::):
1993 (JSC::Lexer::Lexer): No need to reserve initial capacity in our constructor,
1995 (JSC::Lexer::setCode): Reserve enough space to lex half the source code
1997 (JSC::Lexer::clear): No need to reserve initial capacity here either,
2029 (JSC::JIT::stringGetByValStubGenerator):
2030 (JSC::JIT::emitSlow_op_get_by_val):
2034 (JSC::JIT::stringGetByValStubGenerator):
2035 (JSC::JIT::emitSlow_op_get_by_val):
2037 (JSC::JSInterfaceJIT::emitFastArithImmToInt):
2058 (JSC::DEFINE_STUB_FUNCTION):
2097 (JSC::JIT::privateCompileCTIMachineTrampolines):
2098 (JSC::JIT::emit_op_mov):
2099 (JSC::JIT::emit_op_end):
2100 (JSC::JIT::emit_op_jmp):
2101 (JSC::JIT::emit_op_loop_if_lesseq):
2102 (JSC::JIT::emitSlow_op_loop_if_lesseq):
2103 (JSC::JIT::emit_op_new_object):
2104 (JSC::JIT::emit_op_instanceof):
2105 (JSC::JIT::emitSlow_op_instanceof):
2106 (JSC::JIT::emit_op_new_func):
2107 (JSC::JIT::emit_op_get_global_var):
2108 (JSC::JIT::emit_op_put_global_var):
2109 (JSC::JIT::emit_op_get_scoped_var):
2110 (JSC::JIT::emit_op_put_scoped_var):
2111 (JSC::JIT::emit_op_tear_off_activation):
2112 (JSC::JIT::emit_op_tear_off_arguments):
2113 (JSC::JIT::emit_op_new_array):
2114 (JSC::JIT::emit_op_resolve):
2115 (JSC::JIT::emit_op_to_primitive):
2116 (JSC::JIT::emitSlow_op_to_primitive):
2117 (JSC::JIT::emit_op_strcat):
2118 (JSC::JIT::emit_op_resolve_base):
2119 (JSC::JIT::emit_op_resolve_skip):
2120 (JSC::JIT::emit_op_resolve_global):
2121 (JSC::JIT::emitSlow_op_resolve_global):
2122 (JSC::JIT::emit_op_not):
2123 (JSC::JIT::emitSlow_op_not):
2124 (JSC::JIT::emit_op_jfalse):
2125 (JSC::JIT::emitSlow_op_jfalse):
2126 (JSC::JIT::emit_op_jtrue):
2127 (JSC::JIT::emitSlow_op_jtrue):
2128 (JSC::JIT::emit_op_jeq_null):
2129 (JSC::JIT::emit_op_jneq_null):
2130 (JSC::JIT::emit_op_jneq_ptr):
2131 (JSC::JIT::emit_op_jsr):
2132 (JSC::JIT::emit_op_sret):
2133 (JSC::JIT::emit_op_eq):
2134 (JSC::JIT::emitSlow_op_eq):
2135 (JSC::JIT::emit_op_neq):
2136 (JSC::JIT::emitSlow_op_neq):
2137 (JSC::JIT::compileOpStrictEq):
2138 (JSC::JIT::emit_op_stricteq):
2139 (JSC::JIT::emitSlow_op_stricteq):
2140 (JSC::JIT::emit_op_nstricteq):
2141 (JSC::JIT::emitSlow_op_nstricteq):
2142 (JSC::JIT::emit_op_eq_null):
2143 (JSC::JIT::emit_op_neq_null):
2144 (JSC::JIT::emit_op_resolve_with_base):
2145 (JSC::JIT::emit_op_new_func_exp):
2146 (JSC::JIT::emit_op_throw):
2147 (JSC::JIT::emit_op_get_pnames):
2148 (JSC::JIT::emit_op_next_pname):
2149 (JSC::JIT::emit_op_push_scope):
2150 (JSC::JIT::emit_op_pop_scope):
2151 (JSC::JIT::emit_op_to_jsnumber):
2152 (JSC::JIT::emitSlow_op_to_jsnumber):
2153 (JSC::JIT::emit_op_push_new_scope):
2154 (JSC::JIT::emit_op_catch):
2155 (JSC::JIT::emit_op_jmp_scopes):
2156 (JSC::JIT::emit_op_switch_imm):
2157 (JSC::JIT::emit_op_switch_char):
2158 (JSC::JIT::emit_op_switch_string):
2159 (JSC::JIT::emit_op_new_error):
2160 (JSC::JIT::emit_op_debug):
2161 (JSC::JIT::emit_op_enter):
2162 (JSC::JIT::emit_op_enter_with_activation):
2163 (JSC::JIT::emit_op_create_arguments):
2164 (JSC::JIT::emit_op_init_arguments):
2165 (JSC::JIT::emit_op_convert_this):
2166 (JSC::JIT::emitSlow_op_convert_this):
2167 (JSC::JIT::emit_op_profile_will_call):
2168 (JSC::JIT::emit_op_profile_did_call):
2183 (JSC::ARMAssembler::getOffsetForHalfwordDataTransfer):
2185 (JSC::MacroAssemblerARM::load16):
2201 (JSC::ARMv7Assembler::linkJumpAbsolute):
2238 (JSC::BytecodeGenerator::emitResolve):
2240 (JSC::JIT::emit_op_resolve_global):
2275 (JSC::DEFINE_STUB_FUNCTION):
2289 (JSC::BytecodeGenerator::emitResolve):
2298 (JSC::JIT::emit_op_resolve_global):
2310 (JSC::DEFINE_STUB_FUNCTION):
2332 (JSC::isGlobalResolve):
2333 (JSC::CodeBlock::printStructures):
2334 (JSC::CodeBlock::dump):
2335 (JSC::CodeBlock::derefStructures):
2338 (JSC::BytecodeGenerator::findScopedProperty):
2341 (JSC::BytecodeGenerator::emitResolve):
2342 (JSC::BytecodeGenerator::emitResolveBase):
2343 (JSC::BytecodeGenerator::emitResolveWithBase):
2347 (JSC::FunctionCallResolveNode::emitBytecode):
2348 (JSC::PostfixResolveNode::emitBytecode):
2349 (JSC::PrefixResolveNode::emitBytecode):
2350 (JSC::ReadModifyResolveNode::emitBytecode):
2351 (JSC::AssignResolveNode::emitBytecode):
2356 (JSC::Interpreter::resolveGlobalDynamic):
2357 (JSC::Interpreter::execute):
2358 (JSC::Interpreter::privateExecute):
2361 (JSC::JIT::privateCompileMainPass):
2362 (JSC::JIT::privateCompileSlowCases):
2365 (JSC::JIT::emit_op_resolve_global):
2366 (JSC::JIT::emit_op_resolve_global_dynamic):
2367 (JSC::JIT::emitSlow_op_resolve_global):
2368 (JSC::JIT::emitSlow_op_resolve_global_dynamic):
2371 (JSC::):
2373 (JSC::JSActivation::isDynamicScope):
2376 (JSC::JSGlobalObject::isDynamicScope):
2379 (JSC::JSStaticScopeObject::isDynamicScope):
2390 (JSC::numberProtoFuncToString): Cast to unsigned before checking magnitude,
2402 (JSC::numberProtoFuncToString): Use pointer notation instead of array
2462 (JSC::numberProtoFuncToString): Made radix interpretation a little more
2518 (JSC::CachedTranscendentalFunction::CachedTranscendentalFunction):
2519 (JSC::CachedTranscendentalFunction::~CachedTranscendentalFunction):
2520 (JSC::CachedTranscendentalFunction::operator()):
2521 (JSC::CachedTranscendentalFunction::initialize):
2522 (JSC::CachedTranscendentalFunction::hash):
2525 (JSC::mathProtoFuncSin):
2533 (JSC::SamplingFlags::sample): Use a cast, so Windows will be happy when
2545 (JSC::BytecodeGenerator::emitDebugHook):
2547 (JSC::JIT::emit_op_debug):
2557 (JSC::MacroAssemblerARM::load16):
2559 (JSC::MacroAssemblerARMv7::load16):
2577 (JSC::MacroAssemblerX86Common::load16):
2579 (JSC::CodeBlock::dump):
2582 (JSC::BytecodeGenerator::emitJumpIfTrue):
2584 (JSC::Interpreter::privateExecute):
2586 (JSC::JIT::privateCompileMainPass):
2587 (JSC::JIT::privateCompileSlowCases):
2590 (JSC::JIT::emit_op_jnless):
2591 (JSC::JIT::emitSlow_op_jnless):
2592 (JSC::JIT::emit_op_jless):
2593 (JSC::JIT::emitSlow_op_jless):
2594 (JSC::JIT::emit_op_jlesseq):
2595 (JSC::JIT::emit_op_jnlesseq):
2596 (JSC::JIT::emitSlow_op_jlesseq):
2597 (JSC::JIT::emitSlow_op_jnlesseq):
2599 (JSC::JIT::emit_op_jnless):
2600 (JSC::JIT::emitSlow_op_jnless):
2601 (JSC::JIT::emit_op_jless):
2602 (JSC::JIT::emitSlow_op_jless):
2603 (JSC::JIT::emit_op_jlesseq):
2604 (JSC::JIT::emit_op_jnlesseq):
2605 (JSC::JIT::emitSlow_op_jlesseq):
2606 (JSC::JIT::emitSlow_op_jnlesseq):
2607 (JSC::JIT::emitBinaryDoubleOp):
2609 (JSC::JIT::emitLoadCharacterString):
2610 (JSC::JIT::isOperandConstantImmediateChar):
2612 (JSC::ThunkHelpers::stringImplDataOffset):
2613 (JSC::ThunkHelpers::jsStringLengthOffset):
2614 (JSC::ThunkHelpers::jsStringValueOffset):
2710 (JSC::arrayProtoFuncJoin):
2723 (JSC::DebuggerCallFrame::functionName):
2724 (JSC::DebuggerCallFrame::calculatedFunctionName):
2832 (JSC::ThunkHelpers::stringImplDataOffset):
2834 (JSC::IdentifierTable::~IdentifierTable):
2835 (JSC::IdentifierTable::add):
2836 (JSC::IdentifierCStringTranslator::hash):
2837 (JSC::IdentifierCStringTranslator::equal):
2838 (JSC::IdentifierCStringTranslator::translate):
2839 (JSC::Identifier::add):
2840 (JSC::IdentifierUCharBufferTranslator::hash):
2841 (JSC::IdentifierUCharBufferTranslator::equal):
2842 (JSC::IdentifierUCharBufferTranslator::translate):
2843 (JSC::Identifier::addSlowCase):
2846 (JSC::JSGlobalData::JSGlobalData):
2847 (JSC::JSGlobalData::~JSGlobalData):
2853 (JSC::IdentifierTable::remove):
2854 (JSC::IdentifierTable::literalTable):
2917 (JSC::CodeBlock::derefStructures):
2918 (JSC::CodeBlock::refStructures):
2945 (JSC::MacroAssemblerARM::urshift32):
2947 (JSC::MacroAssemblerARMv7::urshift32):
2949 (JSC::MacroAssemblerX86Common::urshift32):
2951 (JSC::X86Assembler::):
2952 (JSC::X86Assembler::shrl_i8r):
2953 (JSC::X86Assembler::shrl_CLr):
2956 (JSC::JIT::privateCompileMainPass):
2957 (JSC::JIT::privateCompileSlowCases):
2961 (JSC::JIT::emit_op_urshift):
2962 (JSC::JIT::emitSlow_op_urshift):
2966 (JSC::JIT::emit_op_rshift):
2967 (JSC::JIT::emitSlow_op_rshift):
2968 (JSC::JIT::emit_op_urshift):
2969 (JSC::JIT::emitSlow_op_urshift):
2990 (JSC::JIT::emit_op_rshift):
2991 (JSC::JIT::emitSlow_op_rshift):
3005 (JSC::JIT::emitSlow_op_jnless):
3006 (JSC::JIT::emitSlow_op_jless):
3007 (JSC::JIT::emitSlow_op_jnlesseq):
3008 (JSC::JIT::emit_op_mod):
3009 (JSC::JIT::compileBinaryArithOpSlowCase):
3010 (JSC::JIT::emit_op_div):
3011 (JSC::JIT::compileBinaryArithOp):
3013 (JSC::JIT::emit_op_negate):
3014 (JSC::JIT::emitSlow_op_negate):
3015 (JSC::JIT::emit_op_jnless):
3016 (JSC::JIT::emitSlow_op_jnless):
3017 (JSC::JIT::emit_op_jless):
3018 (JSC::JIT::emitSlow_op_jless):
3019 (JSC::JIT::emit_op_jnlesseq):
3020 (JSC::JIT::emitSlow_op_jnlesseq):
3021 (JSC::JIT::emit_op_lshift):
3022 (JSC::JIT::emitSlow_op_lshift):
3023 (JSC::JIT::emit_op_rshift):
3024 (JSC::JIT::emitSlow_op_rshift):
3025 (JSC::JIT::emit_op_bitand):
3026 (JSC::JIT::emitSlow_op_bitand):
3027 (JSC::JIT::emit_op_bitor):
3028 (JSC::JIT::emitSlow_op_bitor):
3029 (JSC::JIT::emit_op_bitxor):
3030 (JSC::JIT::emitSlow_op_bitxor):
3031 (JSC::JIT::emit_op_bitnot):
3032 (JSC::JIT::emitSlow_op_bitnot):
3033 (JSC::JIT::emit_op_post_inc):
3034 (JSC::JIT::emitSlow_op_post_inc):
3035 (JSC::JIT::emit_op_post_dec):
3036 (JSC::JIT::emitSlow_op_post_dec):
3037 (JSC::JIT::emit_op_pre_inc):
3038 (JSC::JIT::emitSlow_op_pre_inc):
3039 (JSC::JIT::emit_op_pre_dec):
3040 (JSC::JIT::emitSlow_op_pre_dec):
3041 (JSC::JIT::emit_op_add):
3042 (JSC::JIT::emitAdd32Constant):
3043 (JSC::JIT::emitSlow_op_add):
3044 (JSC::JIT::emit_op_sub):
3045 (JSC::JIT::emitSub32Constant):
3046 (JSC::JIT::emitSlow_op_sub):
3047 (JSC::JIT::emitBinaryDoubleOp):
3048 (JSC::JIT::emit_op_mul):
3049 (JSC::JIT::emitSlow_op_mul):
3050 (JSC::JIT::emit_op_div):
3051 (JSC::JIT::emitSlow_op_div):
3052 (JSC::JIT::emit_op_mod):
3053 (JSC::JIT::emitSlow_op_mod):
3063 (JSC::ARMAssembler::):
3064 (JSC::ARMAssembler::fsqrtd_r):
3066 (JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
3067 (JSC::MacroAssemblerARM::sqrtDouble):
3121 (JSC::powThunkGenerator):
3142 (JSC::AbstractMacroAssembler::ImmPtr::ImmPtr):
3144 (JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
3145 (JSC::MacroAssemblerARM::loadDouble):
3146 (JSC::MacroAssemblerARM::sqrtDouble):
3148 (JSC::MacroAssemblerARMv7::supportsFloatingPointSqrt):
3149 (JSC::MacroAssemblerARMv7::sqrtDouble):
3151 (JSC::MacroAssemblerX86::loadDouble):
3152 (JSC::MacroAssemblerX86::supportsFloatingPointSqrt):
3154 (JSC::MacroAssemblerX86Common::sqrtDouble):
3156 (JSC::MacroAssemblerX86_64::loadDouble):
3157 (JSC::MacroAssemblerX86_64::supportsFloatingPointSqrt):
3159 (JSC::X86Assembler::):
3160 (JSC::X86Assembler::movsd_mr):
3161 (JSC::X86Assembler::sqrtsd_rr):
3162 (JSC::X86Assembler::X86InstructionFormatter::twoByteOp):
3163 (JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
3169 (JSC::JITThunks::ctiNativeCallThunk):
3171 (JSC::JSInterfaceJIT::emitLoadDouble):
3172 (JSC::JSInterfaceJIT::emitJumpIfImmediateNumber):
3173 (JSC::JSInterfaceJIT::emitJumpIfNotImmediateNumber):
3174 (JSC::JSInterfaceJIT::emitLoadInt32):
3176 (JSC::SpecializedThunkJIT::loadDoubleArgument):
3177 (JSC::SpecializedThunkJIT::loadInt32Argument):
3178 (JSC::SpecializedThunkJIT::returnJSValue):
3179 (JSC::SpecializedThunkJIT::returnDouble):
3180 (JSC::SpecializedThunkJIT::finalize):
3182 (JSC::sqrtThunkGenerator):
3183 (JSC::powThunkGenerator):
3186 (JSC::NativeExecutable::NativeExecutable):
3188 (JSC::JSFunction::JSFunction):
3251 JSC's currentThreadStackBase is not reentrant on some platforms
3261 (JSC::currentThreadStackBaseMutex):
3262 (JSC::currentThreadStackBase):
3313 (JSC::SpecializedThunkJIT::returnJSCell):
3314 (JSC::SpecializedThunkJIT::tagReturnAsJSCell):
3316 (JSC::stringCharLoad):
3317 (JSC::charToString):
3318 (JSC::charCodeAtThunkGenerator):
3319 (JSC::charAtThunkGenerator):
3320 (JSC::fromCharCodeThunkGenerator):
3323 (JSC::SmallStrings::singleCharacterStrings):
3325 (JSC::StringConstructor::StringConstructor):
3346 (JSC::Structure::transitionTableAdd):
3357 (JSC::Structure::transitionTableAdd):
3404 (JSC::SpecializedThunkJIT::argumentToVirtualRegister):
3440 (JSC::JITThunks::~JITThunks):
3441 (JSC::JITThunks::specializedThunk):
3444 (JSC::SpecializedThunkJIT::SpecializedThunkJIT):
3445 (JSC::SpecializedThunkJIT::loadCellArgument):
3446 (JSC::SpecializedThunkJIT::loadJSStringArgument):
3447 (JSC::SpecializedThunkJIT::loadInt32Argument):
3448 (JSC::SpecializedThunkJIT::appendFailure):
3449 (JSC::SpecializedThunkJIT::returnInt32):
3450 (JSC::SpecializedThunkJIT::finalize):
3451 (JSC::SpecializedThunkJIT::argumentToVirtualRegister):
3452 (JSC::SpecializedThunkJIT::tagReturnAsInt32):
3454 (JSC::ThunkHelpers::stringImplDataOffset):
3455 (JSC::ThunkHelpers::jsStringLengthOffset):
3456 (JSC::ThunkHelpers::jsStringValueOffset):
3457 (JSC::charCodeAtThunkGenerator):
3460 (JSC::NativeExecutable::NativeExecutable):
3462 (JSC::JSFunction::JSFunction):
3465 (JSC::JSGlobalData::getThunk):
3467 (JSC::):
3473 (JSC::HashTable::createTable):
3474 (JSC::setUpStaticFunctionSlot):
3476 (JSC::HashEntry::initialize):
3477 (JSC::HashEntry::generator):
3478 (JSC::HashEntry::):
3504 (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
3506 (JSC::JSInterfaceJIT::emitLoadJSCell):
3507 (JSC::JSInterfaceJIT::emitJumpIfNotJSCell):
3508 (JSC::JSInterfaceJIT::emitLoadInt32):
3509 (JSC::JSInterfaceJIT::tagFor):
3510 (JSC::JSInterfaceJIT::payloadFor):
3511 (JSC::JSInterfaceJIT::addressFor):
3532 (JSC::RegisterFile::setGlobalObject):
3533 (JSC::RegisterFile::clearGlobalObject):
3534 (JSC::RegisterFile::globalObject):
3536 (JSC::RegisterFile::RegisterFile): Use WeakGCPtr for managing m_globalObject,
3546 (JSC::JSGlobalObject::~JSGlobalObject): Don't use ==, since a weak
3550 (JSC::WeakGCPtr::clear): Changed to return a bool indicating whether the
3552 (JSC::WeakGCPtr::assign): Changed to forbid assignment of 0 as a shorthand
3635 (JSC::parseInt): Added a FIXME comment about a problem I noticed.
3636 (JSC::parseFloat): Added a FIXME comment about a problem I noticed;
3639 (JSC::UString::toDouble): Added FIXME comments about two problems I
3724 (JSC::ExecutableAllocator::cacheFlush):
3789 (JSC::Heap::protect):
3790 (JSC::Heap::unprotect):
3797 Change lifetime of JSC::IdentifierTables used by WebCores to match AtomicStringTable
3799 Presently JSC's IdentifierTables are owned by the JSGlobalData. For
3807 (JSC::APIEntryShim::APIEntryShim):
3811 (JSC::Heap::protect):
3812 (JSC::Heap::unprotect):
3813 (JSC::Heap::markRoots):
3815 (JSC::JSGlobalData::JSGlobalData):
3816 (JSC::JSGlobalData::~JSGlobalData):
3817 (JSC::JSGlobalData::createContextGroup):
3818 (JSC::JSGlobalData::create):
3819 (JSC::JSGlobalData::sharedInstance):
3821 (JSC::JSGlobalData::):
3822 (JSC::JSGlobalData::isSharedInstance):
3824 (JSC::JSLock::JSLock):
3825 (JSC::JSLock::lock):
3826 (JSC::JSLock::unlock):
3827 (JSC::JSLock::DropAllLocks::DropAllLocks):
3861 Unify JSC::IdentifierTable and WebCore::AtomicStringTable implementations.
3880 (JSC::createLiteralTable):
3881 (JSC::deleteLiteralTable):
3882 (JSC::Identifier::add):
3883 (JSC::Identifier::addSlowCase):
3886 (JSC::JSGlobalData::JSGlobalData):
3887 (JSC::JSGlobalData::~JSGlobalData):
3936 [Qt] Remove dependency of JSC to QtGui
3968 (JSC::ARMAssembler::executableCopy):
3970 (JSC::ARMAssembler::):
3971 (JSC::ARMAssembler::bx):
3972 (JSC::ARMAssembler::blx):
3973 (JSC::ARMAssembler::loadBranchTarget):
3974 (JSC::ARMAssembler::jmp):
3975 (JSC::ARMAssembler::getLdrImmAddress):
3977 (JSC::MacroAssemblerARM::jump):
3978 (JSC::MacroAssemblerARM::nearCall):
3979 (JSC::MacroAssemblerARM::call):
3980 (JSC::MacroAssemblerARM::ret):
3981 (JSC::MacroAssemblerARM::prepareCall):
3982 (JSC::MacroAssemblerARM::call32):
4003 (JSC::SmallStringsStorage::rep):
4004 (JSC::SmallStringsStorage::SmallStringsStorage):
4021 Always default to a small stack type for uses of the JSC API. It is
4030 (JSC::Interpreter::execute):
4031 (JSC::Interpreter::prepareForRepeatCall):
4043 (JSC::arrayProtoFuncToString):
4044 (JSC::arrayProtoFuncToLocaleString):
4045 (JSC::arrayProtoFuncJoin):
4049 (JSC::Heap::registerThread):
4050 Use the concept of making JSC run on an exclusiveThread instead of
4054 (JSC::JSGlobalData::JSGlobalData):
4055 (JSC::JSGlobalData::createNonDefault):
4056 (JSC::JSGlobalData::create):
4057 (JSC::JSGlobalData::createLeaked):
4058 (JSC::JSGlobalData::sharedInstance):
4090 (JSC::IdentifierTable::~IdentifierTable):
4091 (JSC::IdentifierTable::add):
4094 (JSC::IdentifierTable::remove):
4095 (JSC::IdentifierTable::literalTable):
4103 Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
4105 JSC::UStringImpl and WebCore::StringImpl (soon to be renamed to
4120 (JSC::Identifier::add):
4122 (JSC::Identifier::equal):
4193 (JSC::CodeBlock::dump):
4194 (JSC::CodeBlock::shrinkToFit):
4198 (JSC::BytecodeGenerator::emitLoad):
4201 (JSC::RegExpNode::emitBytecode):
4203 (JSC::Interpreter::privateExecute):
4205 (JSC::JIT::privateCompileMainPass):
4210 (JSC::):
4239 (JSC::RopeImpl::RopeImpl):
4241 (JSC::UStringImpl::UStringImpl):
4269 (JSC::AbstractMacroAssembler::ExtendedAddress::ExtendedAddress):
4271 (JSC::MacroAssembler::branchTest8):
4273 (JSC::MacroAssemblerX86Common::branchTest8):
4275 (JSC::MacroAssemblerX86_64::branchTest8):
4277 (JSC::X86Assembler::cmpb_im):
4278 (JSC::X86Assembler::testb_im):
4280 (JSC::SamplingTool::dump):
4283 (JSC::Yarr::CharacterClassConstructor::charClass):
4285 (JSC::Yarr::RegexGenerator::matchCharacterClass):
4286 (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy):
4287 (JSC::Yarr::RegexGenerator::generatePatternCharacterNonGreedy):
4288 (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy):
4290 (JSC::Yarr::CharacterClassTable::create):
4291 (JSC::Yarr::CharacterClassTable::CharacterClassTable):
4292 (JSC::Yarr::CharacterClass::CharacterClass):
4330 (JSC::JSString::resolveRope):
4332 (JSC::):
4333 (JSC::RopeBuilder::JSString):
4334 (JSC::RopeBuilder::~JSString):
4335 (JSC::RopeBuilder::appendStringInConstruct):
4336 (JSC::RopeBuilder::JSStringFinalizerStruct::):
4338 (JSC::RopeImpl::derefFibersNonRecursive):
4339 (JSC::RopeImpl::destructNonRecursive):
4341 (JSC::RopeImpl::tryCreateUninitialized):
4342 (JSC::RopeImpl::isRope):
4343 (JSC::RopeImpl::deref):
4344 (JSC::RopeImpl::RopeImpl):
4347 (JSC::UStringImplBase::isInvalid):
4348 (JSC::UStringImplBase::ref):
4349 (JSC::UStringImplBase::UStringImplBase):
4350 (JSC::UStringImplBase::):
4351 (JSC::UStringImpl::UStringImpl):
4360 particular JSC).
4411 * config.h: JS_EXPORTDATA should do nothing on !JSC builds.
4428 (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
4429 (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
4430 (JSC::APICallbackShim::APICallbackShim):
4431 (JSC::APICallbackShim::~APICallbackShim):
4443 (JSC::checkSyntax):
4444 (JSC::evaluate):
4446 (JSC::Identifier::remove):
4447 (JSC::Identifier::checkCurrentIdentifierTable):
4450 (JSC::initializeThreadingOnce):
4452 (JSC::JSGlobalData::create):
4462 (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
4463 (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
4464 (JSC::APICallbackShim::APICallbackShim):
4465 (JSC::APICallbackShim::~APICallbackShim):
4477 (JSC::checkSyntax):
4478 (JSC::evaluate):
4480 (JSC::Identifier::remove):
4481 (JSC::Identifier::checkCurrentIdentifierTable):
4482 (JSC::createIdentifierTableSpecificCallback):
4483 (JSC::createIdentifierTableSpecific):
4485 (JSC::ThreadIdentifierTableData::ThreadIdentifierTableData):
4486 (JSC::defaultIdentifierTable):
4487 (JSC::setDefaultIdentifierTable):
4488 (JSC::currentIdentifierTable):
4489 (JSC::setCurrentIdentifierTable):
4490 (JSC::resetCurrentIdentifierTable):
4492 (JSC::initializeThreadingOnce):
4494 (JSC::JSGlobalData::create):
4532 Moved JSC & WebCore's string uniquing tables to this class.
4535 declarations of classes from JSC and WTF; this will be resolved as we move
4539 (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
4540 (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
4541 (JSC::APICallbackShim::APICallbackShim):
4542 (JSC::APICallbackShim::~APICallbackShim):
4547 (JSC::checkSyntax):
4548 (JSC::evaluate):
4550 (JSC::Identifier::remove):
4551 (JSC::Identifier::checkCurrentIdentifierTable):
4554 (JSC::initializeThreadingOnce):
4556 (JSC::JSGlobalData::create):
4613 Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
4621 (JSC::UStringImpl::create):
4692 (JSC::Yarr::RegexPatternConstructor::atomBackReference):
4693 (JSC::Yarr::RegexPatternConstructor::quantifyAtom):
4695 (JSC::Yarr::RegexGenerator::generateTerm):
4696 (JSC::Yarr::RegexGenerator::RegexGenerator):
4697 (JSC::Yarr::jitCompileRegex):
4699 (JSC::Yarr::RegexCodeBlock::operator!):
4701 (JSC::Yarr::RegexPattern::RegexPattern):
4702 (JSC::Yarr::RegexPattern::reset):
4759 (JSC::CallIdentifier::CallIdentifier):
4877 (JSC::Interpreter::throwException):
4879 (JSC::Interpreter::privateExecute):
4883 (JSC::DEFINE_STUB_FUNCTION):
4889 (JSC::evaluate):
4892 (JSC::):
4896 (JSC::InterruptedExecutionError::exceptionType):
4897 (JSC::TerminatedExecutionError::TerminatedExecutionError):
4898 (JSC::TerminatedExecutionError::exceptionType):
4899 (JSC::TerminatedExecutionError::toString):
4900 (JSC::createTerminatedExecutionException):
4904 (JSC::JSGlobalData::JSGlobalData):
4909 (JSC::JSObject::exceptionType):
4916 (JSC::Terminator::Terminator):
4917 (JSC::Terminator::termianteSoon):
4918 (JSC::Terminator::shouldTerminate):
4942 Support weak maps in JSC
4958 (JSC::JSGlobalObject::registerWeakMap):
4959 (JSC::JSGlobalObject::deregisterWeakMap):
4987 (JSC::InternalFunction::InternalFunction):
4989 (JSC::RopeBuilder::JSString):
4991 (JSC::initializeUString):
4993 (JSC::UString::UString):
4994 (JSC::UString::data):
4995 (JSC::UString::size):
4996 (JSC::UString::isNull):
4997 (JSC::UString::isEmpty):
4998 (JSC::UString::cost):
5009 (JSC::CodeBlock::CodeBlock):
5011 (JSC::CallLinkInfo::CallLinkInfo):
5030 (JSC::Heap::allocateBlock):
5031 (JSC::Heap::freeBlockPtr):
5032 (JSC::currentThreadStackBase):
5033 (JSC::currentThreadStackBase):
5061 (JSC::JSZombie::toThisObject): Nixed the old virtual-type implementation.
5064 (JSC::JSValue::toThisString):
5065 (JSC::JSValue::toThisJSString): Added the inlined implementation.
5085 (JSC::Heap::Heap):
5114 Bug 36871 - Remove JSC::CString
5129 (JSC::DEFINE_STUB_FUNCTION):
5208 (JSC::MIPSAssembler::lbu):
5209 (JSC::MIPSAssembler::linkWithOffset):
5211 (JSC::MacroAssemblerMIPS::load8):
5212 (JSC::MacroAssemblerMIPS::branch8):
5213 (JSC::MacroAssemblerMIPS::branchTest8):
5214 (JSC::MacroAssemblerMIPS::setTest8):
5215 (JSC::MacroAssemblerMIPS::setTest32):
5218 (JSC::JIT::preserveReturnAddressAfterCall):
5219 (JSC::JIT::restoreReturnAddressBeforeReturn):
5222 (JSC::JITThunks::JITThunks):
5224 (JSC::JITStackFrame::returnAddressSlot):
5335 (JSC::ProfileGenerator::willExecute):
5336 (JSC::ProfileGenerator::didExecute):
5342 Bug 36611 - Cleanup JSC::CString
5347 (JSC::CodeBlock::printUnaryOp):
5348 (JSC::CodeBlock::printBinaryOp):
5349 (JSC::CodeBlock::printConditionalJump):
5350 (JSC::CodeBlock::printGetByIdOp):
5351 (JSC::CodeBlock::printPutByIdOp):
5352 (JSC::printGlobalResolveInfo):
5353 (JSC::printStructureStubInfo):
5354 (JSC::CodeBlock::printStructure):
5355 (JSC::CodeBlock::printStructures):
5356 (JSC::CodeBlock::dump):
5363 (JSC::CallIdentifier::c_str):
5365 (JSC::Profile::debugPrintDataSampleStyle):
5367 (JSC::ProfileNode::debugPrintData):
5368 (JSC::ProfileNode::debugPrintDataSampleStyle):
5370 (JSC::parseDate):
5372 (JSC::encode):
5373 (JSC::globalFuncJSCPrint):
5375 (JSC::operator==):
5376 (JSC::UString::toDouble):
5378 (JSC::CString::length):
5379 (JSC::CString::data):
5446 (JSC::Heap::unprotect): return a boolean indicating that the value is now unprotected.
5456 …(JSC::arrayProtoFuncSplice): Some versions of GCC emit a warning about the implicit 64- to 32-bit …
5463 * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSplice): Fixed a typo - length doesn't
5475 * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSplice): We were incorrectly computing
5498 (JSC::Interpreter::privateExecute): Only take the fast negate path if
5504 (JSC::JIT::emit_op_negate):
5505 (JSC::JIT::emitSlow_op_negate): Updated the JIT implementation to match
5512 [Symbian] More efficient aligned memory allocation for JSC Collector
5518 (JSC::Heap::Heap):
5519 (JSC::Heap::~Heap):
5520 (JSC::Heap::destroy):
5521 (JSC::Heap::allocateBlock):
5522 (JSC::Heap::freeBlockPtr):
5552 (JSC::MacroAssemblerARM::branchNeg32):
5554 (JSC::MacroAssemblerX86Common::branchNeg32): Added a branching version
5558 (JSC::JIT::emit_op_negate): Use the branching version of the negate
5561 (JSC::JIT::emitSlow_op_negate): Link the check for overflow to a slow case.
5574 (JSC::UString::from): Changed argument type from 'unsigned int'
5576 (JSC::UString::find): Changed static_cast<int>() to
5578 (JSC::UString::rfind): Ditto.
5580 (JSC::UString::from): Changed argument type from 'unsigned int'
5591 syntax check. The class is not fully functional as the JSC C API
5709 JSC needs an API to allow custom objects to have aprivate GC-accessible properties
5716 (JSC::JSCallbackObjectData::JSCallbackObjectData):
5717 (JSC::JSCallbackObjectData::~JSCallbackObjectData):
5718 (JSC::JSCallbackObjectData::getPrivateProperty):
5719 (JSC::JSCallbackObjectData::setPrivateProperty):
5720 (JSC::JSCallbackObjectData::deletePrivateProperty):
5721 (JSC::JSCallbackObjectData::markChildren):
5722 (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
5723 (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
5724 (JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):
5725 (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
5726 (JSC::JSCallbackObject::getPrivateProperty):
5727 (JSC::JSCallbackObject::setPrivateProperty):
5728 (JSC::JSCallbackObject::deletePrivateProperty):
5729 (JSC::JSCallbackObject::markChildren):
5771 (JSC::JSONStringify):
5792 (JSC::JSGlobalObject::reset):
5804 (JSC::mathProtoFuncRound): This function had a special case for numbers
5829 (JSC::UStringImpl::empty):
5916 (JSC::JSString::getIndexSlowCase):
5917 (JSC::JSString::getStringPropertyDescriptor):
5919 (JSC::jsSingleCharacterSubstring):
5920 (JSC::JSString::getIndex):
5921 (JSC::jsSingleCharacterString):
5922 (JSC::JSString::getStringPropertySlot):
5941 (JSC::JITThunks::JITThunks):
5965 …(JSC::Identifier::add): No need to explicitly hash null reps, this is done in the ststic UStringIm…
5966 …(JSC::Identifier::addSlowCase): UStringImpl::empty() handled & checkCurrentIdentifierTable now cal…
5967 …(JSC::Identifier::checkCurrentIdentifierTable): Replaces checkSameIdentifierTable (this no longer …
5969 …(JSC::Identifier::add): Replace call to checkSameIdentifierTable with call to checkCurrentIdentifi…
5971 …(JSC::UStringImpl::~UStringImpl): Remove call to checkConsistency - this function no longer checks…
5973 … (JSC::UStringOrRopeImpl::UStringOrRopeImpl): Set s_refCountFlagIsIdentifier in static constructor.
5974 …(JSC::UStringImpl::UStringImpl): remove calls to checkConsistency (see above), add new ASSERT to s…
5975 …(JSC::UStringImpl::setHash): ASSERT not static (static strings set the hash in their constructor, …
5976 (JSC::UStringImpl::create): Add missing ASSERT.
5977 … (JSC::UStringImpl::setIsIdentifier): ASSERT !isStatic() (static strings hash set in constructor).
6053 Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl
6055 Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar,
6060 … (JSC::Identifier::add): UStringImpl::empty() now automatically hashes, uas per WebCore strings.
6061 …(JSC::Identifier::addSlowCase): UStringImpl::empty() now automatically hashes, uas per WebCore str…
6063 (JSC::UStringImpl::~UStringImpl): Only call bufferOwnership() once, add missing ASSERTs.
6064 … (JSC::UStringImpl::createUninitialized): Move from .h, not commonly called, no need to inline.
6065 (JSC::UStringImpl::create): Move from .h, not commonly called, no need to inline.
6066 …(JSC::UStringImpl::sharedBuffer): Rewritten to more closely match WebCore implementation, remove n…
6068 …(JSC::UStringImpl::UStringImpl): Automatically hash static strings, ASSERT m_data & m_length are n…
6069 (JSC::UStringImpl::setHash): Add missing ASSERT.
6070 (JSC::UStringImpl::create): Moved to .cpp / added missing check for empty string creation.
6071 (JSC::UStringImpl::adopt): Vector.size() returns size_t, not unsigned.
6072 (JSC::UStringImpl::cost): Renamed m_bufferSubstring -> m_substringBuffer
6073 (JSC::UStringImpl::hash): Reordered in file.
6074 (JSC::UStringImpl::existingHash): Reordered in file.
6075 (JSC::UStringImpl::computeHash): Reordered in file, renamed parameter.
6076 (JSC::UStringImpl::checkConsistency): rewrote ASSERT.
6077 (JSC::UStringImpl::bufferOwnership): Return type should be BufferOwnership.
6078 (JSC::UStringImpl::): Moved friends to head of class.
6137 (JSC::ARMv7Assembler::):
6138 (JSC::ARMv7Assembler::ldrb):
6140 (JSC::MacroAssemblerARMv7::load8):
6141 (JSC::MacroAssemblerARMv7::branch8):
6142 (JSC::MacroAssemblerARMv7::branchTest8):
6143 (JSC::MacroAssemblerARMv7::setTest8):
6149 Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
6154 (JSC::keyForCharacterSwitch):
6156 (JSC::processClauseList):
6158 (JSC::Interpreter::privateExecute):
6160 (JSC::DEFINE_STUB_FUNCTION):
6162 (JSC::arrayProtoFuncToString):
6164 (JSC::Identifier::equal):
6165 (JSC::Identifier::addSlowCase):
6167 (JSC::JSString::resolveRope):
6169 (JSC::UString::toStrictUInt32):
6170 (JSC::equal):
6172 (JSC::UString::data):
6174 (JSC::UStringImpl::characters):
6175 (JSC::UStringImpl::hash):
6176 (JSC::UStringImpl::setHash):
6185 … Change JSC::UStringImpl's implementation of empty() match to match StringImpl's new implementation
6193 (JSC::Identifier::add):
6194 (JSC::Identifier::addSlowCase):
6196 (JSC::PropertyNameArray::add):
6198 (JSC::initializeUString):
6199 (JSC::UString::UString):
6201 (JSC::UStringImpl::empty):
6202 (JSC::UStringImpl::create):
6204 (JSC::UStringImpl::adopt):
6205 (JSC::UStringImpl::createUninitialized):
6206 (JSC::UStringImpl::tryCreateUninitialized):
6290 (JSC::ContinueNode::ContinueNode):
6291 (JSC::BreakNode::BreakNode):
6292 (JSC::ForInNode::ForInNode):
6294 (JSC::CommonIdentifiers::CommonIdentifiers):
6297 (JSC::FunctionPrototype::FunctionPrototype):
6299 (JSC::Identifier::add):
6301 (JSC::PropertyNameArray::add):
6329 (JSC::ARMAssembler::dataTransfer32):
6331 (JSC::ARMAssembler::):
6333 (JSC::MacroAssemblerARM::load8):
6334 (JSC::MacroAssemblerARM::branch8):
6335 (JSC::MacroAssemblerARM::branchTest8):
6376 (JSC::MacroAssemblerX86Common::branch8):
6377 (JSC::MacroAssemblerX86Common::branchTest8):
6378 (JSC::MacroAssemblerX86Common::setTest8):
6382 (JSC::X86Assembler::):
6383 (JSC::X86Assembler::cmpb_im):
6384 (JSC::X86Assembler::testb_im):
6386 (JSC::JIT::emit_op_construct_verify):
6388 (JSC::JIT::emit_op_instanceof):
6389 (JSC::JIT::emit_op_jeq_null):
6390 (JSC::JIT::emit_op_jneq_null):
6391 (JSC::JIT::emit_op_get_pnames):
6392 (JSC::JIT::emit_op_convert_this):
6393 (JSC::JIT::emit_op_construct_verify):
6394 (JSC::JIT::emit_op_to_jsnumber):
6395 (JSC::JIT::emit_op_eq_null):
6396 (JSC::JIT::emit_op_neq_null):
6398 (JSC::TypeInfo::TypeInfo):
6399 (JSC::TypeInfo::type):
6409 (JSC::JSString::resolveRope):
6410 (JSC::JSString::getStringPropertyDescriptor):
6412 (JSC::jsSingleCharacterSubstring):
6413 (JSC::JSString::getIndex):
6414 (JSC::JSString::getStringPropertySlot):
6523 (JSC::JIT::privateCompileCTIMachineTrampolines):
6537 JSC should cache int to Identifier conversion as it does for ordinary strings
6553 (JSC::Identifier::from):
6556 (JSC::NumericStrings::add):
6557 (JSC::NumericStrings::lookup):
6558 (JSC::NumericStrings::lookupSmallString):
6581 (JSC::CodeBlock::dump):
6582 (JSC::CodeBlock::derefStructures):
6583 (JSC::CodeBlock::refStructures):
6585 (JSC::Instruction::Instruction):
6586 (JSC::Instruction::):
6589 (JSC::Interpreter::tryCacheGetByID):
6590 (JSC::Interpreter::privateExecute):
6592 (JSC::JIT::privateCompileMainPass):
6594 (JSC::JIT::compileGetByIdProto):
6595 (JSC::JIT::compileGetByIdSelfList):
6596 (JSC::JIT::compileGetByIdProtoList):
6597 (JSC::JIT::compileGetByIdChainList):
6598 (JSC::JIT::compileGetByIdChain):
6600 (JSC::JIT::privateCompileGetByIdProto):
6601 (JSC::JIT::privateCompileGetByIdSelfList):
6602 (JSC::JIT::privateCompileGetByIdProtoList):
6603 (JSC::JIT::privateCompileGetByIdChainList):
6604 (JSC::JIT::privateCompileGetByIdChain):
6606 (JSC::JIT::privateCompileGetByIdProto):
6607 (JSC::JIT::privateCompileGetByIdSelfList):
6608 (JSC::JIT::privateCompileGetByIdProtoList):
6609 (JSC::JIT::privateCompileGetByIdChainList):
6610 (JSC::JIT::privateCompileGetByIdChain):
6612 (JSC::JITThunks::tryCacheGetByID):
6613 (JSC::DEFINE_STUB_FUNCTION):
6615 (JSC::):
6617 (JSC::JSFunction::getOwnPropertySlot):
6619 (JSC::getStaticPropertySlot):
6620 (JSC::getStaticValueSlot):
6622 (JSC::PropertySlot::):
6623 (JSC::PropertySlot::PropertySlot):
6624 (JSC::PropertySlot::cachedPropertyType):
6625 (JSC::PropertySlot::isCacheable):
6626 (JSC::PropertySlot::isCacheableValue):
6627 (JSC::PropertySlot::setValueSlot):
6628 (JSC::PropertySlot::setCacheableCustom):
6629 (JSC::PropertySlot::setGetterSlot):
6630 (JSC::PropertySlot::setCacheableGetterSlot):
6631 (JSC::PropertySlot::clearOffset):
6632 (JSC::PropertySlot::customGetter):
6642 (JSC::JSObject::putDirectInternal):
6666 direct JSC C API call.
6733 (JSC::AbstractMacroAssembler::Imm32::Imm32):
6735 (JSC::MIPSRegisters::):
6736 (JSC::MIPSAssembler::MIPSAssembler):
6737 (JSC::MIPSAssembler::):
6738 (JSC::MIPSAssembler::JmpSrc::JmpSrc):
6739 (JSC::MIPSAssembler::JmpDst::JmpDst):
6740 (JSC::MIPSAssembler::JmpDst::isUsed):
6741 (JSC::MIPSAssembler::JmpDst::used):
6742 (JSC::MIPSAssembler::emitInst):
6743 (JSC::MIPSAssembler::nop):
6744 (JSC::MIPSAssembler::loadDelayNop):
6745 (JSC::MIPSAssembler::copDelayNop):
6746 (JSC::MIPSAssembler::move):
6747 (JSC::MIPSAssembler::li):
6748 (JSC::MIPSAssembler::lui):
6749 (JSC::MIPSAssembler::addiu):
6750 (JSC::MIPSAssembler::addu):
6751 (JSC::MIPSAssembler::subu):
6752 (JSC::MIPSAssembler::mult):
6753 (JSC::MIPSAssembler::mfhi):
6754 (JSC::MIPSAssembler::mflo):
6755 (JSC::MIPSAssembler::mul):
6756 (JSC::MIPSAssembler::andInsn):
6757 (JSC::MIPSAssembler::andi):
6758 (JSC::MIPSAssembler::nor):
6759 (JSC::MIPSAssembler::orInsn):
6760 (JSC::MIPSAssembler::ori):
6761 (JSC::MIPSAssembler::xorInsn):
6762 (JSC::MIPSAssembler::xori):
6763 (JSC::MIPSAssembler::slt):
6764 (JSC::MIPSAssembler::sltu):
6765 (JSC::MIPSAssembler::sltiu):
6766 (JSC::MIPSAssembler::sll):
6767 (JSC::MIPSAssembler::sllv):
6768 (JSC::MIPSAssembler::sra):
6769 (JSC::MIPSAssembler::srav):
6770 (JSC::MIPSAssembler::lw):
6771 (JSC::MIPSAssembler::lwl):
6772 (JSC::MIPSAssembler::lwr):
6773 (JSC::MIPSAssembler::lhu):
6774 (JSC::MIPSAssembler::sw):
6775 (JSC::MIPSAssembler::jr):
6776 (JSC::MIPSAssembler::jalr):
6777 (JSC::MIPSAssembler::jal):
6778 (JSC::MIPSAssembler::bkpt):
6779 (JSC::MIPSAssembler::bgez):
6780 (JSC::MIPSAssembler::bltz):
6781 (JSC::MIPSAssembler::beq):
6782 (JSC::MIPSAssembler::bne):
6783 (JSC::MIPSAssembler::bc1t):
6784 (JSC::MIPSAssembler::bc1f):
6785 (JSC::MIPSAssembler::newJmpSrc):
6786 (JSC::MIPSAssembler::appendJump):
6787 (JSC::MIPSAssembler::addd):
6788 (JSC::MIPSAssembler::subd):
6789 (JSC::MIPSAssembler::muld):
6790 (JSC::MIPSAssembler::lwc1):
6791 (JSC::MIPSAssembler::ldc1):
6792 (JSC::MIPSAssembler::swc1):
6793 (JSC::MIPSAssembler::sdc1):
6794 (JSC::MIPSAssembler::mtc1):
6795 (JSC::MIPSAssembler::mfc1):
6796 (JSC::MIPSAssembler::truncwd):
6797 (JSC::MIPSAssembler::cvtdw):
6798 (JSC::MIPSAssembler::ceqd):
6799 (JSC::MIPSAssembler::cngtd):
6800 (JSC::MIPSAssembler::cnged):
6801 (JSC::MIPSAssembler::cltd):
6802 (JSC::MIPSAssembler::cled):
6803 (JSC::MIPSAssembler::cueqd):
6804 (JSC::MIPSAssembler::coled):
6805 (JSC::MIPSAssembler::coltd):
6806 (JSC::MIPSAssembler::culed):
6807 (JSC::MIPSAssembler::cultd):
6808 (JSC::MIPSAssembler::label):
6809 (JSC::MIPSAssembler::align):
6810 (JSC::MIPSAssembler::getRelocatedAddress):
6811 (JSC::MIPSAssembler::getDifferenceBetweenLabels):
6812 (JSC::MIPSAssembler::size):
6813 (JSC::MIPSAssembler::executableCopy):
6814 (JSC::MIPSAssembler::getCallReturnOffset):
6815 (JSC::MIPSAssembler::linkJump):
6816 (JSC::MIPSAssembler::linkCall):
6817 (JSC::MIPSAssembler::linkPointer):
6818 (JSC::MIPSAssembler::relinkJump):
6819 (JSC::MIPSAssembler::relinkCall):
6820 (JSC::MIPSAssembler::repatchInt32):
6821 (JSC::MIPSAssembler::repatchPointer):
6822 (JSC::MIPSAssembler::repatchLoadPtrToLEA):
6823 (JSC::MIPSAssembler::relocateJumps):
6824 (JSC::MIPSAssembler::linkWithOffset):
6825 (JSC::MIPSAssembler::linkCallInternal):
6828 (JSC::MacroAssemblerMIPS::MacroAssemblerMIPS):
6829 (JSC::MacroAssemblerMIPS::):
6830 (JSC::MacroAssemblerMIPS::add32):
6831 (JSC::MacroAssemblerMIPS::and32):
6832 (JSC::MacroAssemblerMIPS::lshift32):
6833 (JSC::MacroAssemblerMIPS::mul32):
6834 (JSC::MacroAssemblerMIPS::not32):
6835 (JSC::MacroAssemblerMIPS::or32):
6836 (JSC::MacroAssemblerMIPS::rshift32):
6837 (JSC::MacroAssemblerMIPS::sub32):
6838 (JSC::MacroAssemblerMIPS::xor32):
6839 (JSC::MacroAssemblerMIPS::load32):
6840 (JSC::MacroAssemblerMIPS::load32WithUnalignedHalfWords):
6841 (JSC::MacroAssemblerMIPS::load32WithAddressOffsetPatch):
6842 (JSC::MacroAssemblerMIPS::loadPtrWithPatchToLEA):
6843 (JSC::MacroAssemblerMIPS::loadPtrWithAddressOffsetPatch):
6844 (JSC::MacroAssemblerMIPS::load16):
6845 (JSC::MacroAssemblerMIPS::store32WithAddressOffsetPatch):
6846 (JSC::MacroAssemblerMIPS::store32):
6847 (JSC::MacroAssemblerMIPS::supportsFloatingPoint):
6848 (JSC::MacroAssemblerMIPS::supportsFloatingPointTruncate):
6849 (JSC::MacroAssemblerMIPS::pop):
6850 (JSC::MacroAssemblerMIPS::push):
6851 (JSC::MacroAssemblerMIPS::move):
6852 (JSC::MacroAssemblerMIPS::swap):
6853 (JSC::MacroAssemblerMIPS::signExtend32ToPtr):
6854 (JSC::MacroAssemblerMIPS::zeroExtend32ToPtr):
6855 (JSC::MacroAssemblerMIPS::branch32):
6856 (JSC::MacroAssemblerMIPS::branch32WithUnalignedHalfWords):
6857 (JSC::MacroAssemblerMIPS::branch16):
6858 (JSC::MacroAssemblerMIPS::branchTest32):
6859 (JSC::MacroAssemblerMIPS::jump):
6860 (JSC::MacroAssemblerMIPS::branchAdd32):
6861 (JSC::MacroAssemblerMIPS::branchMul32):
6862 (JSC::MacroAssemblerMIPS::branchSub32):
6863 (JSC::MacroAssemblerMIPS::breakpoint):
6864 (JSC::MacroAssemblerMIPS::nearCall):
6865 (JSC::MacroAssemblerMIPS::call):
6866 (JSC::MacroAssemblerMIPS::ret):
6867 (JSC::MacroAssemblerMIPS::set32):
6868 (JSC::MacroAssemblerMIPS::setTest32):
6869 (JSC::MacroAssemblerMIPS::moveWithPatch):
6870 (JSC::MacroAssemblerMIPS::branchPtrWithPatch):
6871 (JSC::MacroAssemblerMIPS::storePtrWithPatch):
6872 (JSC::MacroAssemblerMIPS::tailRecursiveCall):
6873 (JSC::MacroAssemblerMIPS::makeTailRecursiveCall):
6874 (JSC::MacroAssemblerMIPS::loadDouble):
6875 (JSC::MacroAssemblerMIPS::storeDouble):
6876 (JSC::MacroAssemblerMIPS::addDouble):
6877 (JSC::MacroAssemblerMIPS::subDouble):
6878 (JSC::MacroAssemblerMIPS::mulDouble):
6879 (JSC::MacroAssemblerMIPS::convertInt32ToDouble):
6880 (JSC::MacroAssemblerMIPS::insertRelaxationWords):
6881 (JSC::MacroAssemblerMIPS::branchTrue):
6882 (JSC::MacroAssemblerMIPS::branchFalse):
6883 (JSC::MacroAssemblerMIPS::branchEqual):
6884 (JSC::MacroAssemblerMIPS::branchNotEqual):
6885 (JSC::MacroAssemblerMIPS::branchDouble):
6886 (JSC::MacroAssemblerMIPS::branchTruncateDoubleToInt32):
6887 (JSC::MacroAssemblerMIPS::linkCall):
6888 (JSC::MacroAssemblerMIPS::repatchCall):
6890 (JSC::ExecutableAllocator::cacheFlush):
6893 (JSC::Yarr::RegexGenerator::generateEnter):
6894 (JSC::Yarr::RegexGenerator::generateReturn):
6936 (JSC::Heap::allocateBlock):
6937 (JSC::Heap::freeBlockPtr):
6938 (JSC::currentThreadStackBase):
7067 (JSC::::staticValueGetter):
7068 (JSC::::staticFunctionGetter):
7069 (JSC::::callbackGetter):
7072 (JSC::JSActivation::argumentsGetter):
7075 (JSC::JSFunction::argumentsGetter):
7076 (JSC::JSFunction::callerGetter):
7077 (JSC::JSFunction::lengthGetter):
7080 (JSC::numberConstructorNaNValue):
7081 (JSC::numberConstructorNegInfinity):
7082 (JSC::numberConstructorPosInfinity):
7083 (JSC::numberConstructorMaxValue):
7084 (JSC::numberConstructorMinValue):
7086 (JSC::PropertySlot::functionGetter):
7088 (JSC::PropertySlot::getValue):
7089 (JSC::PropertySlot::setGetterSlot):
7090 (JSC::PropertySlot::setCacheableGetterSlot):
7092 (JSC::regExpConstructorDollar1):
7093 (JSC::regExpConstructorDollar2):
7094 (JSC::regExpConstructorDollar3):
7095 (JSC::regExpConstructorDollar4):
7096 (JSC::regExpConstructorDollar5):
7097 (JSC::regExpConstructorDollar6):
7098 (JSC::regExpConstructorDollar7):
7099 (JSC::regExpConstructorDollar8):
7100 (JSC::regExpConstructorDollar9):
7101 (JSC::regExpConstructorInput):
7102 (JSC::regExpConstructorMultiline):
7103 (JSC::regExpConstructorLastMatch):
7104 (JSC::regExpConstructorLastParen):
7105 (JSC::regExpConstructorLeftContext):
7106 (JSC::regExpConstructorRightContext):
7108 (JSC::regExpObjectGlobal):
7109 (JSC::regExpObjectIgnoreCase):
7110 (JSC::regExpObjectMultiline):
7111 (JSC::regExpObjectSource):
7112 (JSC::regExpObjectLastIndex):
7126 (JSC::PropertySlot::getValue):
7127 (JSC::PropertySlot::setCustom):
7128 (JSC::PropertySlot::setCustomIndex):
7162 (JSC::JSObject::putDirectInternal):
7170 * JavaScriptCore.pri: Add missing implementation file to resolve JSC symbols
7187 (JSC::RegExp::match):
7230 (JSC::getCPUTime):
7244 (JSC::JSArray::JSArray):
7245 (JSC::JSArray::subclassData):
7246 (JSC::JSArray::setSubclassData):
7249 (JSC::RegExpMatchesArray::RegExpMatchesArray):
7250 (JSC::RegExpMatchesArray::~RegExpMatchesArray):
7251 (JSC::RegExpMatchesArray::fillArrayInstance):
7253 (JSC::RegExpMatchesArray::getOwnPropertySlot):
7254 (JSC::RegExpMatchesArray::getOwnPropertyDescriptor):
7255 (JSC::RegExpMatchesArray::put):
7256 (JSC::RegExpMatchesArray::deleteProperty):
7257 (JSC::RegExpMatchesArray::getOwnPropertyNames):
7263 JSC crashes like crazy in the JSPropertyNameIterator destructor
7268 (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
7290 (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
7294 (JSC::JSPropertyNameIterator::setCachedStructure):
7296 (JSC::JSPropertyNameIterator::cachedStructure):
7299 (JSC::Structure::~Structure):
7303 (JSC::WeakGCPtr::hasDeadObject):
7408 (JSC::JIT::privateCompileGetByIdSelfList):
7410 (JSC::JIT::privateCompileGetByIdSelfList):
7428 (JSC::JIT::compileGetByIdProto):
7429 (JSC::JIT::compileGetByIdSelfList):
7430 (JSC::JIT::compileGetByIdProtoList):
7431 (JSC::JIT::compileGetByIdChainList):
7432 (JSC::JIT::compileGetByIdChain):
7434 (JSC::JIT::privateCompileGetByIdProto):
7435 (JSC::JIT::privateCompileGetByIdSelfList):
7436 (JSC::JIT::privateCompileGetByIdProtoList):
7437 (JSC::JIT::privateCompileGetByIdChainList):
7438 (JSC::JIT::privateCompileGetByIdChain):
7440 (JSC::JIT::privateCompileGetByIdProto):
7441 (JSC::JIT::privateCompileGetByIdSelfList):
7442 (JSC::JIT::privateCompileGetByIdProtoList):
7443 (JSC::JIT::privateCompileGetByIdChainList):
7444 (JSC::JIT::privateCompileGetByIdChain):
7446 (JSC::JITThunks::tryCacheGetByID):
7447 (JSC::DEFINE_STUB_FUNCTION):
7449 (JSC::):
7466 (JSC::Interpreter::privateExecute):
7523 Add code that enables SquirrelFish Extreme (a.k.a JSCX, JSC JIT)
7539 (JSC::JSStringBuilder::JSStringBuilder):
7540 (JSC::JSStringBuilder::append):
7541 (JSC::JSStringBuilder::build):
7543 (JSC::StringBuilder::build):
7594 (JSC::UStringImpl::baseSharedBuffer):
7595 (JSC::UStringImpl::~UStringImpl):
7597 (JSC::UStringImpl::create):
7598 (JSC::UStringImpl::data):
7599 (JSC::UStringImpl::UStringImpl):
7641 (JSC::JSString::resolveRope):
7642 (JSC::JSString::getStringPropertyDescriptor):
7644 (JSC::jsSingleCharacterSubstring):
7645 (JSC::JSString::getIndex):
7646 (JSC::jsSingleCharacterString):
7647 (JSC::JSString::getStringPropertySlot):
7649 (JSC::singleCharacterSubstring):
7651 (JSC::UStringImpl::singleCharacterSubstring):
7666 (JSC::JIT::emit_op_put_by_index):
7667 (JSC::JIT::emit_op_put_getter):
7668 (JSC::JIT::emit_op_put_setter):
7669 (JSC::JIT::emit_op_del_by_id):
7670 (JSC::JIT::emit_op_method_check):
7671 (JSC::JIT::emitSlow_op_method_check):
7672 (JSC::JIT::emit_op_get_by_val):
7673 (JSC::JIT::emitSlow_op_get_by_val):
7674 (JSC::JIT::emit_op_put_by_val):
7675 (JSC::JIT::emitSlow_op_put_by_val):
7676 (JSC::JIT::emit_op_get_by_id):
7677 (JSC::JIT::emitSlow_op_get_by_id):
7678 (JSC::JIT::emit_op_put_by_id):
7679 (JSC::JIT::emitSlow_op_put_by_id):
7680 (JSC::JIT::compileGetByIdHotPath):
7681 (JSC::JIT::compileGetByIdSlowCase):
7682 (JSC::JIT::compilePutDirectOffset):
7683 (JSC::JIT::compileGetDirectOffset):
7684 (JSC::JIT::testPrototype):
7685 (JSC::JIT::privateCompilePutByIdTransition):
7686 (JSC::JIT::patchGetByIdSelf):
7687 (JSC::JIT::patchMethodCallProto):
7688 (JSC::JIT::patchPutByIdReplace):
7689 (JSC::JIT::privateCompilePatchGetArrayLength):
7690 (JSC::JIT::privateCompileGetByIdProto):
7691 (JSC::JIT::privateCompileGetByIdSelfList):
7692 (JSC::JIT::privateCompileGetByIdProtoList):
7693 (JSC::JIT::privateCompileGetByIdChainList):
7694 (JSC::JIT::privateCompileGetByIdChain):
7695 (JSC::JIT::emit_op_get_by_pname):
7696 (JSC::JIT::emitSlow_op_get_by_pname):
7732 (JSC::CodeBlock::dump):
7733 (JSC::CodeBlock::derefStructures):
7734 (JSC::CodeBlock::refStructures):
7737 (JSC::Interpreter::resolveGlobal):
7738 (JSC::Interpreter::tryCacheGetByID):
7739 (JSC::Interpreter::privateExecute):
7741 (JSC::JIT::privateCompileMainPass):
7743 (JSC::JITThunks::tryCacheGetByID):
7744 (JSC::DEFINE_STUB_FUNCTION):
7746 (JSC::JSObject::fillGetterPropertySlot):
7748 (JSC::PropertySlot::functionGetter):
7750 (JSC::PropertySlot::isGetter):
7751 (JSC::PropertySlot::isCacheable):
7752 (JSC::PropertySlot::isCacheableValue):
7753 (JSC::PropertySlot::setValueSlot):
7754 (JSC::PropertySlot::setGetterSlot):
7755 (JSC::PropertySlot::setCacheableGetterSlot):
7756 (JSC::PropertySlot::clearOffset):
7757 (JSC::PropertySlot::thisValue):
7797 (JSC::):
7799 (JSC::jsString):
7823 … (JSC::UStringOrRopeImpl::deref): Delegate through to the subclass version of deref to ensure that
7836 (JSC::UStringOrRopeImpl::deref): Call URopeImpl::destructNonRecursive rather than delete
7868 (JSC::keyForCharacterSwitch):
7870 (JSC::Interpreter::privateExecute):
7872 (JSC::DEFINE_STUB_FUNCTION):
7874 (JSC::arrayProtoFuncToString):
7876 (JSC::Identifier::equal):
7877 (JSC::Identifier::addSlowCase):
7879 (JSC::JSString::resolveRope):
7881 (JSC::):
7882 (JSC::RopeBuilder::JSString):
7883 (JSC::RopeBuilder::~JSString):
7884 (JSC::RopeBuilder::appendStringInConstruct):
7885 (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
7886 (JSC::RopeBuilder::JSStringFinalizerStruct::JSStringFinalizerStruct):
7887 (JSC::RopeBuilder::JSStringFinalizerStruct::):
7889 (JSC::UString::toStrictUInt32):
7890 (JSC::equal):
7892 (JSC::UString::isEmpty):
7893 (JSC::UString::size):
7895 (JSC::URopeImpl::derefFibersNonRecursive):
7896 (JSC::URopeImpl::destructNonRecursive):
7898 (JSC::UStringOrRopeImpl::isRope):
7899 (JSC::UStringOrRopeImpl::length):
7900 (JSC::UStringOrRopeImpl::ref):
7901 (JSC::UStringOrRopeImpl::):
7902 (JSC::UStringOrRopeImpl::operator new):
7903 (JSC::UStringOrRopeImpl::UStringOrRopeImpl):
7904 (JSC::UStringImpl::adopt):
7905 (JSC::UStringImpl::createUninitialized):
7906 (JSC::UStringImpl::tryCreateUninitialized):
7907 (JSC::UStringImpl::data):
7908 (JSC::UStringImpl::cost):
7909 (JSC::UStringImpl::deref):
7910 (JSC::UStringImpl::UStringImpl):
7911 (JSC::UStringImpl::):
7912 (JSC::URopeImpl::tryCreateUninitialized):
7913 (JSC::URopeImpl::initializeFiber):
7914 (JSC::URopeImpl::fiberCount):
7915 (JSC::URopeImpl::fibers):
7916 (JSC::URopeImpl::deref):
7917 (JSC::URopeImpl::URopeImpl):
7918 (JSC::URopeImpl::hasOneRef):
7919 (JSC::UStringOrRopeImpl::deref):
7955 (JSC::JIT::privateCompileCTIMachineTrampolines):
7957 (JSC::Rope::destructNonRecursive):
7958 (JSC::Rope::~Rope):
7959 (JSC::JSString::resolveRope):
7960 (JSC::JSString::toBoolean):
7961 (JSC::JSString::getStringPropertyDescriptor):
7963 (JSC::Rope::Fiber::Fiber):
7964 (JSC::Rope::Fiber::deref):
7965 (JSC::Rope::Fiber::ref):
7966 (JSC::Rope::Fiber::refAndGetLength):
7967 (JSC::Rope::Fiber::isRope):
7968 (JSC::Rope::Fiber::rope):
7969 (JSC::Rope::Fiber::isString):
7970 (JSC::Rope::Fiber::string):
7971 (JSC::Rope::Fiber::nonFiber):
7972 (JSC::Rope::tryCreateUninitialized):
7973 (JSC::Rope::append):
7974 (JSC::Rope::fiberCount):
7975 (JSC::Rope::length):
7976 (JSC::Rope::fibers):
7977 (JSC::Rope::Rope):
7978 (JSC::Rope::operator new):
7979 (JSC::):
7980 (JSC::RopeBuilder::JSString):
7981 (JSC::RopeBuilder::~JSString):
7982 (JSC::RopeBuilder::length):
7983 (JSC::RopeBuilder::canGetIndex):
7984 (JSC::RopeBuilder::appendStringInConstruct):
7985 (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
7986 (JSC::RopeBuilder::isRope):
7987 (JSC::RopeBuilder::fiberCount):
7988 (JSC::JSString::getStringPropertySlot):
7990 (JSC::jsString):
7999 (JSC::RegExp::match):
8029 (JSC::Structure::Structure):
8030 (JSC::Structure::~Structure):
8031 (JSC::Structure::addPropertyTransitionToExistingStructure):
8032 (JSC::Structure::addPropertyTransition):
8033 (JSC::Structure::hasTransition):
8035 (JSC::Structure::):
8036 (JSC::Structure::structureTransitionTableContains):
8037 (JSC::Structure::structureTransitionTableGet):
8038 (JSC::Structure::structureTransitionTableHasTransition):
8039 (JSC::Structure::structureTransitionTableRemove):
8040 (JSC::Structure::structureTransitionTableAdd):
8041 (JSC::Structure::structureTransitionTable):
8042 (JSC::Structure::setStructureTransitionTable):
8043 (JSC::Structure::singleTransition):
8044 (JSC::Structure::setSingleTransition):
8057 (JSC::sumWithOverflow):
8058 (JSC::tryMakeString):
8083 (JSC::APICallbackShim::APICallbackShim):
8084 (JSC::APICallbackShim::~APICallbackShim): No need to start/stop the
8095 This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
8100 (JSC::Identifier::equal):
8103 (JSC::globalFuncEscape):
8105 (JSC::gap):
8106 (JSC::Stringifier::indent):
8108 (JSC::numberProtoFuncToFixed):
8109 (JSC::numberProtoFuncToPrecision):
8111 (JSC::RegExp::match):
8113 (JSC::substituteBackreferencesSlow):
8114 (JSC::stringProtoFuncReplace):
8115 (JSC::stringProtoFuncSplit):
8116 (JSC::trimString):
8118 (JSC::UString::UString):
8119 (JSC::UString::from):
8120 (JSC::UString::getCString):
8121 (JSC::UString::ascii):
8122 (JSC::UString::operator[]):
8123 (JSC::UString::toStrictUInt32):
8124 (JSC::UString::find):
8125 (JSC::UString::rfind):
8126 (JSC::UString::substr):
8127 (JSC::operator<):
8128 (JSC::operator>):
8129 (JSC::compare):
8130 (JSC::equal):
8131 (JSC::UString::UTF8String):
8133 (JSC::UString::size):
8134 (JSC::operator==):
8136 (JSC::UStringImpl::create):
8138 (JSC::UStringImpl::create):
8139 (JSC::UStringImpl::size):
8140 (JSC::UStringImpl::computeHash):
8141 (JSC::UStringImpl::UStringImpl):
8152 (JSC::sumWithOverflow):
8153 (JSC::tryMakeString):
8229 (JSC::CallLinkInfo::seenOnce):
8230 (JSC::CallLinkInfo::setSeen):
8231 (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
8232 (JSC::MethodCallLinkInfo::seenOnce):
8233 (JSC::MethodCallLinkInfo::setSeen):
8235 (JSC::JIT::unlinkCall):
8237 (JSC::JIT::patchMethodCallProto):
8251 (JSC::UStringImpl::baseSharedBuffer):
8252 (JSC::UStringImpl::~UStringImpl):
8254 (JSC::UStringImpl::cost):
8255 (JSC::UStringImpl::isIdentifier):
8256 (JSC::UStringImpl::setIsIdentifier):
8257 (JSC::UStringImpl::ref):
8258 (JSC::UStringImpl::deref):
8259 (JSC::UStringImpl::UStringImpl):
8260 (JSC::UStringImpl::bufferOwnerString):
8261 (JSC::UStringImpl::bufferOwnership):
8262 (JSC::UStringImpl::isStatic):
8263 (JSC::UStringImpl::):
8272 (JSC::SmallStrings::markChildren): Since isAnyStringMarked being false
8362 (JSC::Heap::markRoots): Mark the small strings cache last, so it can
8366 (JSC::isMarked):
8367 (JSC::SmallStrings::markChildren): Only keep our strings alive if some
8395 (JSC::JSPropertyNameIterator::JSPropertyNameIterator): Moved this constructor
8398 (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): Added a destructor
8402 (JSC::Structure::setEnumerationCache):
8403 (JSC::Structure::clearEnumerationCache):
8404 (JSC::Structure::enumerationCache): Added a function for clearing a
8430 (JSC::typeName): Use a little capitalization. Don't crash in the case of
8433 (JSC::Heap::objectTypeCounts): The new SPI.
8437 (JSC::CollectorHeapIterator::advance):
8438 (JSC::LiveObjectIterator::operator++):
8439 (JSC::DeadObjectIterator::operator++):
8440 (JSC::ObjectIterator::operator++): Made 2 tweaks to these iterators:
8626 (JSC::SmallStrings::SmallStrings):
8627 (JSC::SmallStrings::clear):
8639 (JSC::arrayProtoFuncToLocaleString):
8640 (JSC::arrayProtoFuncJoin):
8642 (JSC::FunctionExecutable::paramString):
8644 (JSC::constructFunction):
8646 (JSC::encode):
8647 (JSC::decode):
8648 (JSC::globalFuncEscape):
8649 (JSC::globalFuncUnescape):
8651 (JSC::Stringifier::stringify):
8653 (JSC::JSStringBuilder::build):
8655 (JSC::LiteralParser::Lexer::lexString):
8657 (JSC::integerPartNoExp):
8658 (JSC::numberProtoFuncToFixed):
8660 (JSC::StringBuilder::build):
8670 (JSC::UStringImpl::adopt):
8697 (JSC::Fiber::tryGetValue):
8699 (JSC::StringBuilder::release):
8701 (JSC::UString::UString):
8702 (JSC::UString::from):
8703 (JSC::UString::find):
8717 (JSC::nonInlineNaN):
8731 (JSC::JIT::emit_op_mod):
8732 (JSC::JIT::emitSlow_op_mod):
8734 (JSC::JIT::softModulo):
8736 (JSC::JITThunks::ctiSoftModulo):
8760 (JSC::StringRange::StringRange):
8761 (JSC::jsSpliceSubstringsWithSeparators):
8762 (JSC::jsReplaceRange):
8763 (JSC::stringProtoFuncReplace):
8809 (JSC::Structure::propertyStorageSize):
8821 (JSC::jsMakeNontrivialString):
8823 (JSC::tryMakeString):
8824 (JSC::makeString):
8833 (JSC::encode):
8834 (JSC::globalFuncEscape):
8846 (JSC::functionProtoFuncToString):
8848 (JSC::encode):
8849 (JSC::decode):
8850 (JSC::globalFuncEscape):
8863 (JSC::ContinueNode::ContinueNode):
8864 (JSC::BreakNode::BreakNode):
8865 (JSC::ForInNode::ForInNode):
8867 (JSC::CommonIdentifiers::CommonIdentifiers):
8870 (JSC::FunctionPrototype::FunctionPrototype):
8910 (JSC::Debugger::recompileAllJSFunctions):
8912 (JSC::DebuggerCallFrame::calculatedFunctionName):
8914 (JSC::Parser::parse):
8916 (JSC::Profile::Profile):
8918 (JSC::ProfileGenerator::stopProfiling):
8920 (JSC::Error::create):
8921 (JSC::throwError):
8923 (JSC::createError):
8925 (JSC::Identifier::add):
8927 (JSC::PropertyNameArray::add):
8929 (JSC::initializeUString):
8930 (JSC::UString::UString):
8931 (JSC::UString::operator=):
8933 (JSC::UString::isNull):
8934 (JSC::UString::null):
8935 (JSC::UString::rep):
8936 (JSC::UString::UString):
8938 (JSC::UStringImpl::create):
9009 (JSC::WeakGCPtr::clear): Added an interface for clearing a WeakGCPtr,
9035 (JSC::arrayProtoFuncToString):
9036 (JSC::arrayProtoFuncToLocaleString):
9037 (JSC::arrayProtoFuncJoin):
9039 (JSC::callDate):
9041 (JSC::dateProtoFuncToString):
9042 (JSC::dateProtoFuncToUTCString):
9043 (JSC::dateProtoFuncToGMTString):
9045 (JSC::errorProtoFuncToString):
9047 (JSC::throwOutOfMemoryError):
9050 (JSC::JSStringBuilder::releaseJSString):
9051 (JSC::jsMakeNontrivialString):
9053 (JSC::numberProtoFuncToPrecision):
9055 (JSC::objectProtoFuncToString):
9059 (JSC::regExpProtoFuncToString):
9061 (JSC::StringBuilder::append):
9063 (JSC::stringProtoFuncBig):
9064 (JSC::stringProtoFuncSmall):
9065 (JSC::stringProtoFuncBlink):
9066 (JSC::stringProtoFuncBold):
9067 (JSC::stringProtoFuncFixed):
9068 (JSC::stringProtoFuncItalics):
9069 (JSC::stringProtoFuncStrike):
9070 (JSC::stringProtoFuncSub):
9071 (JSC::stringProtoFuncSup):
9072 (JSC::stringProtoFuncFontcolor):
9073 (JSC::stringProtoFuncFontsize):
9074 (JSC::stringProtoFuncAnchor):
9102 (JSC::ARMAssembler::executableCopy):
9104 (JSC::JIT::compileCTIMachineTrampolines):
9106 (JSC::JIT::privateCompileCTIMachineTrampolines):
9108 (JSC::JITThunks::JITThunks):
9110 (JSC::JITThunks::ctiStringLengthTrampoline):
9111 (JSC::JITThunks::ctiVirtualCallLink):
9112 (JSC::JITThunks::ctiVirtualCall):
9113 (JSC::JITThunks::ctiNativeCallThunk):
9256 (JSC::Structure::materializePropertyMap):
9257 (JSC::Structure::addPropertyTransitionToExistingStructure):
9258 (JSC::Structure::addPropertyTransition):
9259 (JSC::Structure::removePropertyTransition):
9260 (JSC::Structure::flattenDictionaryStructure):
9261 (JSC::Structure::addPropertyWithoutTransition):
9262 (JSC::Structure::removePropertyWithoutTransition):
9263 (JSC::Structure::copyPropertyTable):
9264 (JSC::Structure::get):
9265 (JSC::Structure::put):
9266 (JSC::Structure::remove):
9267 (JSC::Structure::insertIntoPropertyMapHashTable):
9268 (JSC::Structure::createPropertyMapHashTable):
9269 (JSC::Structure::rehashPropertyMapHashTable):
9270 (JSC::Structure::checkConsistency):
9348 (JSC::dateUTC): Calls WTF::timeClip().
9358 (JSC::mathProtoFuncRound): Avoid "arg + 0.5".
9395 (JSC::Structure::propertyStorageSize):
9413 JSC is failing to propagate anonymous slot count on some transitions
9429 (JSC::Structure::Structure):
9430 (JSC::Structure::materializePropertyMap):
9431 (JSC::Structure::addPropertyTransition):
9432 (JSC::Structure::changePrototypeTransition):
9433 (JSC::Structure::despecifyFunctionTransition):
9434 (JSC::Structure::getterSetterTransition):
9435 (JSC::Structure::toDictionaryTransition):
9436 (JSC::Structure::flattenDictionaryStructure):
9437 (JSC::Structure::copyPropertyTable):
9438 (JSC::Structure::put):
9439 (JSC::Structure::remove):
9440 (JSC::Structure::insertIntoPropertyMapHashTable):
9441 (JSC::Structure::createPropertyMapHashTable):
9443 (JSC::Structure::create):
9444 (JSC::Structure::hasAnonymousSlots):
9445 (JSC::Structure::anonymousSlotCount):
9505 (JSC::JSNumberCell::createStructure): Call the right Structure::create overload.
9525 (JSC::JSObject::getAnonymousValue):
9541 (JSC::JSCallbackConstructor::createStructure):
9543 (JSC::JSCallbackFunction::createStructure):
9545 (JSC::JSCallbackObject::createStructure):
9548 (JSC::DebuggerActivation::createStructure):
9550 (JSC::Arguments::createStructure):
9552 (JSC::BooleanObject::createStructure):
9554 (JSC::DateInstance::createStructure):
9556 (JSC::DatePrototype::createStructure):
9558 (JSC::FunctionPrototype::createStructure):
9560 (JSC::GetterSetter::createStructure):
9562 (JSC::GlobalEvalFunction::createStructure):
9564 (JSC::InternalFunction::createStructure):
9566 (JSC::JSAPIValueWrapper::createStructure):
9568 (JSC::JSActivation::createStructure):
9570 (JSC::JSArray::createStructure):
9572 (JSC::JSByteArray::createStructure):
9574 (JSC::JSCell::createDummyStructure):
9576 (JSC::JSFunction::createStructure):
9578 (JSC::JSGlobalObject::createStructure):
9580 (JSC::JSNotAnObject::createStructure):
9582 (JSC::JSONObject::createStructure):
9584 (JSC::JSObject::createStructure):
9585 (JSC::JSObject::putAnonymousValue):
9586 (JSC::JSObject::getAnonymousValue):
9588 (JSC::JSPropertyNameIterator::createStructure):
9590 (JSC::JSStaticScopeObject::createStructure):
9592 (JSC::Fiber::createStructure):
9594 (JSC::JSVariableObject::createStructure):
9596 (JSC::JSWrapperObject::createStructure):
9597 (JSC::JSWrapperObject::JSWrapperObject):
9599 (JSC::MathObject::createStructure):
9601 (JSC::NumberConstructor::createStructure):
9603 (JSC::NumberObject::createStructure):
9605 (JSC::RegExpConstructor::createStructure):
9607 (JSC::RegExpObject::createStructure):
9609 (JSC::StringObject::createStructure):
9611 (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
9613 (JSC::Structure::~Structure):
9614 (JSC::Structure::materializePropertyMap):
9616 (JSC::Structure::create):
9617 (JSC::Structure::anonymousSlotCount):
9639 (JSC::DateInstance::DateInstance):
9642 (JSC::constructEmptyObject):
9643 (JSC::constructEmptyArray):
9695 (JSC::ARMThumbImmediate::countLeadingZerosPartial):
9724 (JSC::getCPUTime):
9737 (JSC::MarkStack::MarkStackArray::shrinkAllocation):
9739 (JSC::MarkStack::initializePagesize):
9740 (JSC::MarkStack::allocateStack):
9741 (JSC::MarkStack::releaseStack):
9875 (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
9876 (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
9877 (JSC::APICallbackShim::APICallbackShim):
9878 (JSC::APICallbackShim::~APICallbackShim):
10048 (JSC::DEFINE_STUB_FUNCTION):
10197 Force JSC to create a prototype chain for API classes with a
10217 (JSC::::getOwnPropertyDescriptor):
10264 (JSC::Heap::freeBlocks): Instead of fully marking protected objects,
10325 (JSC::Interpreter::throwException):
10337 (JSC::::get): inline
10347 (JSC::ctiVMThrowTrampoline):
10369 (JSC::Heap::destroy): Moved ASSERTs to here.
10370 (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
10372 (JSC::Heap::freeBlocks): Implemented above algorithm.
10373 (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.
10383 (JSC::Heap::destroy):
10384 (JSC::Heap::freeBlock):
10385 (JSC::Heap::freeBlocks):
10386 (JSC::Heap::shrinkBlocks):
10395 (JSC::UString::spliceSubstringsWithSeparators):
10396 (JSC::UString::replaceRange):
10398 (JSC::UStringImpl::baseSharedBuffer):
10399 (JSC::UStringImpl::sharedBuffer):
10400 (JSC::UStringImpl::~UStringImpl):
10402 (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
10403 (JSC::UntypedPtrAndBitfield::asPtr):
10404 (JSC::UntypedPtrAndBitfield::operator&=):
10405 (JSC::UntypedPtrAndBitfield::operator|=):
10406 (JSC::UntypedPtrAndBitfield::operator&):
10407 (JSC::UStringImpl::create):
10408 (JSC::UStringImpl::cost):
10409 (JSC::UStringImpl::isIdentifier):
10410 (JSC::UStringImpl::setIsIdentifier):
10411 (JSC::UStringImpl::ref):
10412 (JSC::UStringImpl::deref):
10413 (JSC::UStringImpl::checkConsistency):
10414 (JSC::UStringImpl::UStringImpl):
10415 (JSC::UStringImpl::bufferOwnerString):
10416 (JSC::UStringImpl::bufferOwnership):
10417 (JSC::UStringImpl::isStatic):
10441 (JSC::Heap::destroy): Moved ASSERTs to here.
10442 (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
10444 (JSC::Heap::freeBlocks): Implemented above algorithm.
10445 (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.
10457 (JSC::UStringImpl::sharedBuffer):
10458 (JSC::UStringImpl::~UStringImpl):
10460 (JSC::UStringImpl::cost):
10461 (JSC::UStringImpl::checkConsistency):
10462 (JSC::UStringImpl::UStringImpl):
10463 (JSC::UStringImpl::bufferOwnerString):
10464 (JSC::UStringImpl::):
10525 (JSC::JSObject::getPropertySlot): ALWAYS_INLINE both overloads.
10527 (JSC::JSString::JSString): ALWAYS_INLINE the version that takes a UString.
10529 (JSC::operator==): ALWAYS_INLINE the version that compares two UString objects.
10556 (JSC::CallLinkInfo::seenOnce):
10557 (JSC::CallLinkInfo::setSeen):
10558 (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
10559 (JSC::MethodCallLinkInfo::seenOnce):
10560 (JSC::MethodCallLinkInfo::setSeen):
10562 (JSC::JIT::unlinkCall):
10564 (JSC::JIT::patchMethodCallProto):
10566 (JSC::UString::spliceSubstringsWithSeparators):
10567 (JSC::UString::replaceRange):
10570 (JSC::UStringImpl::baseSharedBuffer):
10571 (JSC::UStringImpl::sharedBuffer):
10572 (JSC::UStringImpl::~UStringImpl):
10574 (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
10575 (JSC::UntypedPtrAndBitfield::asPtr):
10576 (JSC::UntypedPtrAndBitfield::operator&=):
10577 (JSC::UntypedPtrAndBitfield::operator|=):
10578 (JSC::UntypedPtrAndBitfield::operator&):
10579 (JSC::UStringImpl::create):
10580 (JSC::UStringImpl::cost):
10581 (JSC::UStringImpl::isIdentifier):
10582 (JSC::UStringImpl::setIsIdentifier):
10583 (JSC::UStringImpl::ref):
10584 (JSC::UStringImpl::deref):
10585 (JSC::UStringImpl::checkConsistency):
10586 (JSC::UStringImpl::UStringImpl):
10587 (JSC::UStringImpl::bufferOwnerString):
10588 (JSC::UStringImpl::bufferOwnership):
10589 (JSC::UStringImpl::isStatic):
10602 (JSC::Fiber::JSString):
10614 (JSC::UStringImpl::sharedBuffer):
10615 (JSC::UStringImpl::~UStringImpl):
10617 (JSC::UStringImpl::cost):
10618 (JSC::UStringImpl::checkConsistency):
10619 (JSC::UStringImpl::UStringImpl):
10620 (JSC::UStringImpl::bufferOwnerString):
10621 (JSC::UStringImpl::):
10636 (JSC::CallLinkInfo::seenOnce):
10637 (JSC::CallLinkInfo::setSeen):
10638 (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
10639 (JSC::MethodCallLinkInfo::seenOnce):
10640 (JSC::MethodCallLinkInfo::setSeen):
10642 (JSC::JIT::unlinkCall):
10644 (JSC::JIT::patchMethodCallProto):
10656 (JSC::jsStringWithFinalizer): Added new mechanism for a string to have an optional
10658 (JSC::):
10659 (JSC::Fiber::JSString):
10660 (JSC::Fiber::~JSString):
10662 … (JSC::JSString::resolveRope): Clear fibers so this doesn't look like a string with a finalizer.
10673 (JSC::jsLess):
10689 (JSC::Interpreter::tryCacheGetByID): Update our cached offset in case
10693 (JSC::JITThunks::tryCacheGetByID):
10694 (JSC::DEFINE_STUB_FUNCTION):
10696 (JSC::normalizePrototypeChain): ditto
10713 (JSC::JSString::resolveRope):
10715 (JSC::UStringImpl::create):
10739 createUninitialized() in JSC are unsafe, since they do not test the result for null.
10748 … - make cases in JSC that do not check the result call createUninitialized(), and cases that do
10757 (JSC::arrayProtoFuncToString):
10759 (JSC::CStringTranslator::translate):
10760 (JSC::UCharBufferTranslator::translate):
10762 (JSC::JSString::resolveRope):
10764 (JSC::HashTable::createTable):
10766 (JSC::HashTable::entry):
10768 (JSC::StringBuilder::release):
10770 (JSC::stringFromCharCodeSlowCase):
10772 (JSC::substituteBackreferencesSlow):
10773 (JSC::stringProtoFuncToLowerCase):
10774 (JSC::stringProtoFuncToUpperCase):
10775 (JSC::stringProtoFuncFontsize):
10776 (JSC::stringProtoFuncLink):
10778 (JSC::Structure::despecifyDictionaryFunction):
10779 (JSC::Structure::get):
10780 (JSC::Structure::despecifyFunction):
10781 (JSC::Structure::put):
10782 (JSC::Structure::remove):
10783 (JSC::Structure::insertIntoPropertyMapHashTable):
10784 (JSC::Structure::checkConsistency):
10786 (JSC::Structure::get):
10788 (JSC::StructureTransitionTableHash::hash):
10790 (JSC::createRep):
10791 (JSC::UString::UString):
10792 (JSC::UString::spliceSubstringsWithSeparators):
10793 (JSC::UString::replaceRange):
10794 (JSC::UString::operator=):
10796 (JSC::UString::adopt):
10797 (JSC::IdentifierRepHash::hash):
10798 (JSC::makeString):
10800 (JSC::UStringImpl::adopt):
10801 (JSC::UStringImpl::create):
10802 (JSC::UStringImpl::createUninitialized):
10803 (JSC::UStringImpl::tryCreateUninitialized):
10804 (JSC::UStringImpl::existingHash):
10814 (JSC::Stringifier::Holder::appendNextProperty):
10815 (JSC::Walker::walk):
10832 * parser/Lexer.cpp: (JSC::Lexer::lex): Bail out quickly on end of stream, not giving the
10856 (JSC::UStringImpl::~UStringImpl):
10858 (JSC::UStringImpl::cost):
10859 (JSC::UStringImpl::deref):
10885 (JSC::::getOwnPropertyNames):
10889 (JSC::DebuggerActivation::getOwnPropertyNames):
10892 (JSC::Arguments::getOwnPropertyNames):
10896 (JSC::JSArray::getOwnPropertyNames):
10899 (JSC::JSByteArray::getOwnPropertyNames):
10902 (JSC::JSFunction::getOwnPropertyNames):
10905 (JSC::JSNotAnObject::getOwnPropertyNames):
10908 (JSC::getClassPropertyNames):
10909 (JSC::JSObject::getPropertyNames):
10910 (JSC::JSObject::getOwnPropertyNames):
10913 (JSC::JSVariableObject::getOwnPropertyNames):
10916 (JSC::ObjectConstructor::ObjectConstructor):
10917 (JSC::objectConstructorGetOwnPropertyNames):
10919 (JSC::RegExpMatchesArray::getOwnPropertyNames):
10921 (JSC::StringObject::getOwnPropertyNames):
10924 (JSC::Structure::getPropertyNames):
10926 (JSC::):
10935 * jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION):
10936 * runtime/Identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
10939 * yarr/RegexCompiler.cpp: (JSC::Yarr::compileRegex):
10992 (JSC::JSArray::JSArray): Initialize missing data members in the two cases
11023 (JSC::regExpProtoFuncToString):
11176 (JSC::RegExp::RegExp):
11192 (JSC::JSArray::putSlowCase): Report extra memory cost for
11216 (JSC::RegExp::RegExp):
11218 (JSC::RegExp::flags):
11230 (JSC::regExpProtoFuncToString):
11242 (JSC::RegExp::RegExp):
11255 (JSC::regExpProtoFuncToString):
11279 (JSC::ARMAssembler::executableCopy): Inline a clean linkBranch code.
11281 (JSC::ARMAssembler::getLdrImmAddress): Use inline function.
11282 (JSC::ARMAssembler::getLdrImmAddressOnPool): Ditto.
11283 (JSC::ARMAssembler::patchPointerInternal): Remove an unnecessary cacheFlush.
11284 (JSC::ARMAssembler::linkJump): Use patchPointerInternal instead of linkBranch.
11285 (JSC::ARMAssembler::linkCall): Ditto.
11286 (JSC::ARMAssembler::relinkCall): Ditto.
11298 (JSC::JIT::compileGetDirectOffset):
11343 (JSC::ctiTrampoline):
11344 (JSC::ctiVMThrowTrampoline):
11345 (JSC::ctiOpThrowNotCaught):
11354 (JSC::JSGlobalObject::init): Disable specific function tracking here,
11384 (JSC::initializeThreadingOnce):
11386 (JSC::JSGlobalData::storeVPtrs):
11387 (JSC::JSGlobalData::JSGlobalData):
11388 (JSC::JSGlobalData::createNonDefault):
11389 (JSC::JSGlobalData::create):
11390 (JSC::JSGlobalData::sharedInstance):
11396 … * runtime/JSArray.cpp: (JSC::JSArray::~JSArray): Assert that vptr is what we expect it to be.
11399 * runtime/JSByteArray.cpp: (JSC::JSByteArray::~JSByteArray): Ditto.
11402 * runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction): Ditto.
11404 * runtime/JSCell.h: (JSC::JSCell::setVPtr): Added a method to substitute vptr for another
11410 (JSC::JSString::~JSString): Assert tha vptr is what we expect it to be.
11411 (JSC::fixupVPtr): Store a previously saved primary vftable pointer (do nothing if building
11413 (JSC::jsSingleCharacterString): Call fixupVPtr in case this is call across DLL boundary.
11414 (JSC::jsSingleCharacterSubstring): Ditto.
11415 (JSC::jsNontrivialString): Ditto.
11416 (JSC::jsString): Ditto.
11417 (JSC::jsSubstring): Ditto.
11418 (JSC::jsOwnedString): Ditto.
11434 (JSC::Structure::Structure):
11435 (JSC::Structure::addPropertyTransition):
11436 (JSC::Structure::changePrototypeTransition):
11437 (JSC::Structure::despecifyFunctionTransition):
11438 (JSC::Structure::addAnonymousSlotsTransition):
11439 (JSC::Structure::getterSetterTransition):
11440 (JSC::Structure::toDictionaryTransition):
11441 (JSC::Structure::addPropertyWithoutTransition):
11442 (JSC::Structure::despecifyAllFunctions):
11444 (JSC::Structure::disableSpecificFunctionTracking): Track a thrash count
11487 (JSC::createIdentifierTableSpecific):
11500 (JSC::createIdentifierTableSpecificCallback):
11516 (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
11517 (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
11518 (JSC::APICallbackShim::APICallbackShim):
11519 (JSC::APICallbackShim::~APICallbackShim):
11531 (JSC::checkSyntax):
11532 (JSC::evaluate):
11537 (JSC::IdentifierTable::~IdentifierTable):
11538 (JSC::IdentifierTable::add):
11539 (JSC::Identifier::remove):
11540 (JSC::Identifier::checkSameIdentifierTable):
11541 (JSC::createIdentifierTableSpecificCallback):
11542 (JSC::createIdentifierTableSpecific):
11543 (JSC::createDefaultDataSpecific):
11549 (JSC::ThreadIdentifierTableData::ThreadIdentifierTableData):
11550 (JSC::defaultIdentifierTable):
11551 (JSC::setDefaultIdentifierTable):
11552 (JSC::currentIdentifierTable):
11553 (JSC::setCurrentIdentifierTable):
11554 (JSC::resetCurrentIdentifierTable):
11559 (JSC::JSGlobalData::createNonDefault):
11560 (JSC::JSGlobalData::create):
11561 (JSC::JSGlobalData::sharedInstance):
11567 (JSC::UStringImpl::destroy):
11572 (JSC::UStringImpl::isIdentifier):
11573 (JSC::UStringImpl::setIsIdentifier):
11574 (JSC::UStringImpl::checkConsistency):
11575 (JSC::UStringImpl::UStringImpl):
11625 (JSC::ARMAssembler::encodeComplexImm): Move tmp declaration to ARMv7
11627 (JSC::ARMAssembler::):
11628 (JSC::ARMAssembler::bkpt):
11652 (JSC::isVFPPresent):
11657 (JSC::RegisterFile::~RegisterFile):
11659 (JSC::RegisterFile::RegisterFile):
11660 (JSC::RegisterFile::grow):
11667 (JSC::JIT::privateCompileCTIMachineTrampolines):
11673 (JSC::getCount):
11675 (JSC::Heap::Heap):
11676 (JSC::Heap::allocateBlock):
11677 (JSC::Heap::freeBlockPtr):
11678 (JSC::currentThreadStackBase):
11679 (JSC::getCurrentPlatformThread):
11680 (JSC::suspendThread):
11681 (JSC::resumeThread):
11682 (JSC::getPlatformThreadRegisters):
11683 (JSC::otherThreadStackPointer):
11687 (JSC::formatLocaleDate):
11689 (JSC::initializeThreading):
11691 (JSC::MarkStack::MarkStackArray::shrinkAllocation):
11696 (JSC::stringProtoFuncLastIndexOf):
11698 (JSC::getCPUTime):
11700 (JSC::UString::from):
11758 (JSC::UStringImpl::computeHash):
11780 (JSC::Identifier::addSlowCase):
11782 (JSC::Identifier::add):
11784 (JSC::PropertyNameArray::add):
11786 (JSC::UStringImpl::isIdentifier):
11793 Refactor JSC API entry/exit to use RAII instead of copy/pasting code.
11797 (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
11798 (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
11799 (JSC::APIEntryShim::APIEntryShim):
11800 (JSC::APICallbackShim::APICallbackShim):
11801 (JSC::APICallbackShim::~APICallbackShim):
11808 (JSC::constructJSCallback):
11810 (JSC::JSCallbackFunction::call):
11812 (JSC::::init):
11813 (JSC::::getOwnPropertySlot):
11814 (JSC::::put):
11815 (JSC::::deleteProperty):
11816 (JSC::::construct):
11817 (JSC::::hasInstance):
11818 (JSC::::call):
11819 (JSC::::getOwnPropertyNames):
11820 (JSC::::toNumber):
11821 (JSC::::toString):
11822 (JSC::::staticValueGetter):
11823 (JSC::::callbackGetter):
11898 (JSC::ExecutableAllocator::cacheFlush):
11917 (JSC::):
11919 (JSC::JSValue::):
11950 (JSC::AbstractMacroAssembler::Imm32::Imm32):
11955 (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
11960 (JSC::X86Registers::):
11961 (JSC::X86Assembler::):
11962 (JSC::X86Assembler::movl_mEAX):
11963 (JSC::X86Assembler::movl_EAXm):
11964 (JSC::X86Assembler::repatchLoadPtrToLEA):
11965 (JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
11970 (JSC::ExecutableAllocator::intializePageSize):
11975 (JSC::JIT::beginUninterruptedSequence):
11976 (JSC::JIT::restoreArgumentReferenceForTrampoline):
11977 (JSC::JIT::emitCount):
11979 (JSC::JIT::privateCompileCTIMachineTrampolines):
11981 (JSC::JIT::privateCompileGetByIdProto):
11982 (JSC::JIT::privateCompileGetByIdProtoList):
11983 (JSC::JIT::privateCompileGetByIdChainList):
11984 (JSC::JIT::privateCompileGetByIdChain):
11986 (JSC::JITThunks::JITThunks):
11989 (JSC::currentThreadStackBase):
11990 (JSC::getPlatformThreadRegisters):
11991 (JSC::otherThreadStackPointer):
11994 (JSC::WREC::Generator::generateEnter):
11995 (JSC::WREC::Generator::generateReturnSuccess):
11996 (JSC::WREC::Generator::generateReturnFailure):
12006 (JSC::Yarr::RegexGenerator::generateEnter):
12007 (JSC::Yarr::RegexGenerator::generateReturn):
12190 (JSC::SmallStringsStorage::SmallStringsStorage):
12192 (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
12193 (JSC::UStringImpl::UStringImpl):
12253 Replace UString::Rep implementation, following introduction of ropes to JSC.
12264 (JSC::JSString::resolveRope):
12266 (JSC::SmallStringsStorage::SmallStringsStorage):
12268 (JSC::initializeUString):
12269 (JSC::createRep):
12270 (JSC::UString::createFromUTF8):
12271 (JSC::UString::createUninitialized):
12272 (JSC::UString::spliceSubstringsWithSeparators):
12273 (JSC::UString::replaceRange):
12274 (JSC::UString::ascii):
12275 (JSC::UString::operator=):
12276 (JSC::UString::toStrictUInt32):
12277 (JSC::equal):
12279 (JSC::UString::isEmpty):
12280 (JSC::UString::cost):
12281 (JSC::makeString):
12283 (JSC::UStringImpl::baseSharedBuffer):
12284 (JSC::UStringImpl::sharedBuffer):
12285 (JSC::UStringImpl::destroy):
12286 (JSC::UStringImpl::computeHash):
12288 (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
12289 (JSC::UntypedPtrAndBitfield::asPtr):
12290 (JSC::UntypedPtrAndBitfield::operator&=):
12291 (JSC::UntypedPtrAndBitfield::operator|=):
12292 (JSC::UntypedPtrAndBitfield::operator&):
12293 (JSC::UStringImpl::create):
12294 (JSC::UStringImpl::createCopying):
12295 (JSC::UStringImpl::createUninitialized):
12296 (JSC::UStringImpl::data):
12297 (JSC::UStringImpl::size):
12298 (JSC::UStringImpl::cost):
12299 (JSC::UStringImpl::hash):
12300 (JSC::UStringImpl::computedHash):
12301 (JSC::UStringImpl::setHash):
12302 (JSC::UStringImpl::identifierTable):
12303 (JSC::UStringImpl::setIdentifierTable):
12304 (JSC::UStringImpl::ref):
12305 (JSC::UStringImpl::deref):
12306 (JSC::UStringImpl::allocChars):
12307 (JSC::UStringImpl::copyChars):
12308 (JSC::UStringImpl::computeHash):
12309 (JSC::UStringImpl::null):
12310 (JSC::UStringImpl::empty):
12311 (JSC::UStringImpl::checkConsistency):
12312 (JSC::UStringImpl::):
12313 (JSC::UStringImpl::UStringImpl):
12314 (JSC::UStringImpl::operator new):
12315 (JSC::UStringImpl::bufferOwnerString):
12316 (JSC::UStringImpl::bufferOwnership):
12317 (JSC::UStringImpl::isStatic):
12352 (JSC::arrayProtoFuncToString):
12354 (JSC::Identifier::equal):
12355 (JSC::CStringTranslator::translate):
12356 (JSC::UCharBufferTranslator::translate):
12357 (JSC::Identifier::addSlowCase):
12359 (JSC::JSString::resolveRope):
12361 (JSC::JSString::Rope::Fiber::refAndGetLength):
12362 (JSC::JSString::Rope::append):
12364 (JSC::StringBuilder::release):
12366 (JSC::stringFromCharCodeSlowCase):
12368 (JSC::substituteBackreferencesSlow):
12369 (JSC::stringProtoFuncToLowerCase):
12370 (JSC::stringProtoFuncToUpperCase):
12371 (JSC::stringProtoFuncFontsize):
12372 (JSC::stringProtoFuncLink):
12374 (JSC::UString::UString):
12375 (JSC::UString::createNonCopying):
12376 (JSC::UString::createFromUTF8):
12378 (JSC::UString::Rep::setHash):
12379 (JSC::UString::~UString):
12380 (JSC::makeString):
12395 (JSC::ExecState::setCalleeArguments):
12396 (JSC::ExecState::setCallerFrame):
12397 (JSC::ExecState::setScopeChain):
12398 (JSC::ExecState::init):
12399 (JSC::ExecState::setArgumentCount):
12400 (JSC::ExecState::setCallee):
12401 (JSC::ExecState::setCodeBlock): Added a little bit of casting so these
12405 (JSC::Register::withInt):
12406 (JSC::Register::Register):
12407 (JSC::Register::operator=): Swapped in assignment operators for constructors.
12425 Fixed intermittent failure seen on Windows buildbot, and in other JSC
12438 (JSC::WeakGCPtr::WeakGCPtr):
12439 (JSC::WeakGCPtr::get):
12440 (JSC::WeakGCPtr::clear):
12441 (JSC::WeakGCPtr::operator*):
12442 (JSC::WeakGCPtr::operator->):
12443 (JSC::WeakGCPtr::operator!):
12444 (JSC::WeakGCPtr::operator bool):
12445 (JSC::WeakGCPtr::operator UnspecifiedBoolType):
12446 (JSC::WeakGCPtr::assign):
12447 (JSC::::operator):
12448 (JSC::operator==):
12449 (JSC::operator!=):
12450 (JSC::static_pointer_cast):
12451 (JSC::const_pointer_cast):
12452 (JSC::getPtr): Added WeakGCPtr to the project.
12602 (JSC::Interpreter::Interpreter): Moved hashtable initialization here to
12606 (JSC::Interpreter::privateExecute): Changed a series of label computations
12627 (JSC::jsAdd): Use the '&&' operator, not the ',' operator.
12646 (JSC::JSCell::operator new):
12667 (JSC::Debugger::recompileAllJSFunctions):
12669 (JSC::Heap::Heap):
12670 (JSC::Heap::destroy):
12671 (JSC::Heap::allocateBlock):
12672 (JSC::Heap::freeBlock):
12673 (JSC::Heap::freeBlockPtr):
12674 (JSC::Heap::freeBlocks):
12675 (JSC::Heap::recordExtraCost):
12676 (JSC::Heap::allocate):
12677 (JSC::Heap::resizeBlocks):
12678 (JSC::Heap::growBlocks):
12679 (JSC::Heap::shrinkBlocks):
12680 (JSC::Heap::markConservatively):
12681 (JSC::Heap::clearMarkBits):
12682 (JSC::Heap::markedCells):
12683 (JSC::Heap::sweep):
12684 (JSC::Heap::markRoots):
12685 (JSC::Heap::objectCount):
12686 (JSC::Heap::addToStatistics):
12687 (JSC::Heap::statistics):
12688 (JSC::Heap::isBusy):
12689 (JSC::Heap::reset):
12690 (JSC::Heap::collectAllGarbage):
12691 (JSC::Heap::primaryHeapBegin):
12692 (JSC::Heap::primaryHeapEnd):
12694 (JSC::): Removed all code pertaining to the number heap, and changed all
12697 (JSC::Heap::allocateNumber): A new optimization to replace the number
12702 (JSC::LiveObjectIterator::LiveObjectIterator):
12703 (JSC::LiveObjectIterator::operator++):
12704 (JSC::DeadObjectIterator::DeadObjectIterator):
12705 (JSC::DeadObjectIterator::operator++):
12706 (JSC::ObjectIterator::ObjectIterator):
12707 (JSC::ObjectIterator::operator++):
12709 (JSC::JSCell::isNumber): Removed all code pertaining to the number heap,
12757 (JSC::Heap::markConservatively):
12791 (JSC::Debugger::recompileAllJSFunctions): Updated to use the Collector
12801 (JSC::Heap::Heap): Updated to use the new allocateBlock function.
12803 (JSC::Heap::destroy): Updated to use the new freeBlocks function.
12805 (JSC::Heap::allocateBlock): New function to initialize a block when
12808 (JSC::Heap::freeBlock): Consolidated the responsibility for running
12811 (JSC::Heap::freeBlocks): Updated to use freeBlock.
12813 (JSC::Heap::recordExtraCost): Sweep the heap in this reporting function,
12816 (JSC::Heap::heapAllocate): Run destructors right before recycling a
12819 (JSC::Heap::resizeBlocks):
12820 (JSC::Heap::growBlocks):
12821 (JSC::Heap::shrinkBlocks): New set of functions for managing the size of
12825 (JSC::isPointerAligned):
12826 (JSC::isHalfCellAligned):
12827 (JSC::isPossibleCell):
12828 (JSC::isCellAligned):
12829 (JSC::Heap::markConservatively): Cleaned up this code a bit.
12831 (JSC::Heap::clearMarkBits):
12832 (JSC::Heap::markedCells): Some helper functions for examining the the mark
12835 (JSC::Heap::sweep): Simplified this function by using a DeadObjectIterator.
12837 (JSC::Heap::markRoots): Reordered some operations for clarity.
12839 (JSC::Heap::objectCount):
12840 (JSC::Heap::addToStatistics):
12841 (JSC::Heap::statistics): Rewrote these functions to calculate an object
12845 (JSC::Heap::reset): New function for resetting the heap once we've
12848 (JSC::Heap::collectAllGarbage): This function matches the old collect()
12852 (JSC::CollectorBitmap::count):
12853 (JSC::CollectorBitmap::isEmpty): Added some helper functions for managing
12856 (JSC::Heap::reportExtraMemoryCost): Changed reporting from cell equivalents
12860 (JSC::CollectorHeapIterator::CollectorHeapIterator):
12861 (JSC::CollectorHeapIterator::operator!=):
12862 (JSC::CollectorHeapIterator::operator*):
12863 (JSC::CollectorHeapIterator::advance):
12864 (JSC::::LiveObjectIterator):
12865 (JSC::::operator):
12866 (JSC::::DeadObjectIterator):
12867 (JSC::::ObjectIterator): New iterators for encapsulating details about
12871 (JSC::JSArray::putSlowCase):
12872 (JSC::JSArray::increaseVectorLength): Delay reporting extra cost until
12877 (JSC::JSCell::):
12878 (JSC::JSCell::createDummyStructure):
12879 (JSC::JSCell::JSCell):
12881 (JSC::JSGlobalData::JSGlobalData):
12885 (JSC::jsSubstring): Don't report extra cost for substrings, since they
12895 (JSC::WeakGCMap::isEmpty):
12896 (JSC::WeakGCMap::uncheckedGet):
12897 (JSC::WeakGCMap::uncheckedBegin):
12898 (JSC::WeakGCMap::uncheckedEnd):
12899 (JSC::::get):
12900 (JSC::::take):
12901 (JSC::::set):
12902 (JSC::::uncheckedRemove): Mentioned above.
12946 (JSC::FunctionExecutable::paramString):
12948 (JSC::constructFunction):
12950 (JSC::encode):
12951 (JSC::decode):
12952 (JSC::globalFuncEscape):
12953 (JSC::globalFuncUnescape):
12955 (JSC::Stringifier::stringify):
12956 (JSC::Stringifier::indent):
12959 (JSC::LiteralParser::Lexer::lexString):
12961 (JSC::integerPartNoExp):
12962 (JSC::numberProtoFuncToFixed):
12963 (JSC::numberProtoFuncToPrecision):
12965 (JSC::jsString):
12967 (JSC::substituteBackreferencesSlow):
12968 (JSC::substituteBackreferences):
12969 (JSC::stringProtoFuncConcat):
12993 (JSC::JIT::emit_op_loop): Implemented in terms of forward variant.
12994 (JSC::JIT::emit_op_loop_if_true): ditto
12995 (JSC::JIT::emitSlow_op_loop_if_true): ditto
12996 (JSC::JIT::emit_op_loop_if_false): ditto
12997 (JSC::JIT::emitSlow_op_loop_if_false): ditto
12998 (JSC::JIT::emit_op_loop_if_less): ditto
12999 (JSC::JIT::emitSlow_op_loop_if_less): ditto
13033 (JSC::escapeQuotes):
13034 (JSC::valueToSourceString):
13035 (JSC::constantName):
13036 (JSC::idName):
13037 (JSC::CodeBlock::registerName):
13038 (JSC::regexpToSourceString):
13039 (JSC::regexpName):
13041 (JSC::substitute):
13043 (JSC::Profiler::createCallIdentifier):
13045 (JSC::callDate):
13047 (JSC::formatDate):
13048 (JSC::formatDateUTCVariant):
13049 (JSC::formatTime):
13050 (JSC::formatTimeUTC):
13052 (JSC::):
13054 (JSC::dateProtoFuncToString):
13055 (JSC::dateProtoFuncToUTCString):
13056 (JSC::dateProtoFuncToDateString):
13057 (JSC::dateProtoFuncToTimeString):
13058 (JSC::dateProtoFuncToGMTString):
13060 (JSC::errorProtoFuncToString):
13062 (JSC::createUndefinedVariableError):
13063 (JSC::createErrorMessage):
13064 (JSC::createInvalidParamError):
13066 (JSC::insertSemicolonIfNeeded):
13067 (JSC::functionProtoFuncToString):
13069 (JSC::objectProtoFuncToString):
13071 (JSC::constructRegExp):
13073 (JSC::RegExpObject::match):
13075 (JSC::regExpProtoFuncCompile):
13076 (JSC::regExpProtoFuncToString):
13078 (JSC::stringProtoFuncBig):
13079 (JSC::stringProtoFuncSmall):
13080 (JSC::stringProtoFuncBlink):
13081 (JSC::stringProtoFuncBold):
13082 (JSC::stringProtoFuncFixed):
13083 (JSC::stringProtoFuncItalics):
13084 (JSC::stringProtoFuncStrike):
13085 (JSC::stringProtoFuncSub):
13086 (JSC::stringProtoFuncSup):
13087 (JSC::stringProtoFuncFontcolor):
13088 (JSC::stringProtoFuncFontsize):
13089 (JSC::stringProtoFuncAnchor):
13091 (JSC::):
13092 (JSC::makeString):
13107 (JSC::DEFINE_STUB_FUNCTION):
13109 (JSC::JSString::JSString):
13110 (JSC::JSString::appendStringInConstruct):
13112 (JSC::jsAddSlowCase):
13114 (JSC::jsString):
13115 (JSC::jsAdd):
13177 Fix a problem that JSC::gregorianDateTimeToMS() returns a negative
13185 (JSC::gregorianDateTimeToMS): Follow the dateToDaysFrom1970() change.
13193 (JSC::DEFINE_STUB_FUNCTION):
13195 (JSC::JSString::JSString):
13196 (JSC::JSString::appendStringInConstruct):
13198 (JSC::jsAddSlowCase):
13200 (JSC::jsString):
13201 (JSC::jsAdd):
13214 (JSC::JITThunks::tryCacheGetByID):
13226 (JSC::DEFINE_STUB_FUNCTION):
13228 (JSC::JSString::JSString):
13229 (JSC::JSString::appendStringInConstruct):
13231 (JSC::jsAddSlowCase):
13233 (JSC::jsString):
13234 (JSC::jsAdd):
13249 (JSC::DebuggerActivation::getOwnPropertyDescriptor):
13252 (JSC::JSObject::propertyIsEnumerable):
13269 (JSC::Interpreter::privateExecute):
13271 (JSC::JIT::privateCompileCTIMachineTrampolines):
13273 (JSC::DEFINE_STUB_FUNCTION):
13275 (JSC::JSString::resolveRope):
13276 (JSC::JSString::toBoolean):
13277 (JSC::JSString::getStringPropertyDescriptor):
13279 (JSC::JSString::Rope::Fiber::deref):
13280 (JSC::JSString::Rope::Fiber::ref):
13281 (JSC::JSString::Rope::Fiber::refAndGetLength):
13282 (JSC::JSString::Rope::append):
13283 (JSC::JSString::JSString):
13284 (JSC::JSString::~JSString):
13285 (JSC::JSString::value):
13286 (JSC::JSString::tryGetValue):
13287 (JSC::JSString::length):
13288 (JSC::JSString::canGetIndex):
13289 (JSC::JSString::appendStringInConstruct):
13290 (JSC::JSString::appendValueInConstructAndIncrementLength):
13291 (JSC::JSString::isRope):
13292 (JSC::JSString::string):
13293 (JSC::JSString::ropeLength):
13294 (JSC::JSString::getStringPropertySlot):
13296 (JSC::jsString):
13297 (JSC::jsAdd):
13298 (JSC::resolveBase):
13307 (JSC::StructureTransitionTable::reifySingleTransition):
13327 (JSC::JIT::emitSlow_op_jless): Fix some backward branches.
13341 (JSC::JSString::Rope::destructNonRecursive):
13342 (JSC::JSString::Rope::~Rope):
13344 (JSC::JSString::Rope::initializeFiber):
13346 (JSC::concatenateStrings):
13358 (JSC::VPtrSet::VPtrSet):
13377 (JSC::Yarr::PatternTerm::PatternTerm): Don't self assign here. Use false instead.
13444 (JSC::Structure::Structure):
13470 …(JSC::Structure::Structure): Disable thread verification on this class since it uses addressOfCoun…
13520 Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
13524 (JSC::::toString):
13529 (JSC::BytecodeGenerator::emitEqualityOp):
13531 (JSC::DebuggerCallFrame::functionName):
13532 (JSC::DebuggerCallFrame::calculatedFunctionName):
13534 (JSC::Interpreter::callEval):
13535 (JSC::Interpreter::privateExecute):
13537 (JSC::DEFINE_STUB_FUNCTION):
13539 (JSC::ProfileGenerator::addParentForConsoleStart):
13541 (JSC::Profiler::willExecute):
13542 (JSC::Profiler::didExecute):
13543 (JSC::Profiler::createCallIdentifier):
13544 (JSC::createCallIdentifierFromFunctionImp):
13547 (JSC::arrayProtoFuncIndexOf):
13548 (JSC::arrayProtoFuncLastIndexOf):
13550 (JSC::constructDate):
13552 (JSC::functionProtoFuncToString):
13554 (JSC::InternalFunction::name):
13555 (JSC::InternalFunction::displayName):
13556 (JSC::InternalFunction::calculatedDisplayName):
13559 (JSC::JSCell::getString):
13561 (JSC::JSValue::getString):
13563 (JSC::gap):
13564 (JSC::Stringifier::Stringifier):
13565 (JSC::Stringifier::appendStringifiedValue):
13567 (JSC::JSObject::putDirectFunction):
13568 (JSC::JSObject::putDirectFunctionWithoutTransition):
13569 (JSC::JSObject::defineOwnProperty):
13572 (JSC::JSPropertyNameIterator::get):
13574 (JSC::JSString::Rope::~Rope):
13575 (JSC::JSString::resolveRope):
13576 (JSC::JSString::getPrimitiveNumber):
13577 (JSC::JSString::toNumber):
13578 (JSC::JSString::toString):
13579 (JSC::JSString::toThisString):
13580 (JSC::JSString::getStringPropertyDescriptor):
13582 (JSC::JSString::Rope::createOrNull):
13583 (JSC::JSString::Rope::operator new):
13584 (JSC::JSString::value):
13585 (JSC::JSString::tryGetValue):
13586 (JSC::JSString::getIndex):
13587 (JSC::JSString::getStringPropertySlot):
13588 (JSC::JSValue::toString):
13591 (JSC::NativeErrorConstructor::NativeErrorConstructor):
13593 (JSC::JSValue::strictEqualSlowCase):
13595 (JSC::JSValue::equalSlowCaseInline):
13596 (JSC::JSValue::strictEqualSlowCaseInline):
13597 (JSC::JSValue::strictEqual):
13598 (JSC::jsLess):
13599 (JSC::jsLessEq):
13600 (JSC::jsAdd):
13601 (JSC::concatenateStrings):
13603 (JSC::PropertyDescriptor::equalTo):
13606 (JSC::stringProtoFuncReplace):
13607 (JSC::stringProtoFuncToLowerCase):
13608 (JSC::stringProtoFuncToUpperCase):
13633 (JSC::JIT::emit_op_loop_if_false): Fix codegen in this version - test was backwards.
13645 (JSC::toPropertyDescriptor):
13654 (JSC::JIT::emit_op_loop_if_false):
13663 (JSC::JIT::emit_op_loop_if_false):
13664 (JSC::JIT::emitSlow_op_loop_if_false):
13673 (JSC::JIT::emitSlow_op_jless):
13682 (JSC::JIT::emitSlow_op_loop_if_less):
13754 (JSC::ExpressionNode::hasConditionContextCodegen): Helper function to determine
13756 (JSC::ExpressionNode::emitBytecodeInConditionContext): Assert not reached - only really
13758 (JSC::UnaryOpNode::expr): Add const version.
13759 (JSC::LogicalNotNode::hasConditionContextCodegen): Returne true only if subexpression
13761 (JSC::LogicalOpNode::hasConditionContextCodegen): Return true.
13763 (JSC::LogicalNotNode::emitBytecodeInConditionContext): Implemented - just swap
13765 (JSC::LogicalOpNode::emitBytecodeInConditionContext): Implemented - handle jumps
13767 (JSC::ConditionalNode::emitBytecode): Use condition context codegen when available.
13768 (JSC::IfNode::emitBytecode): ditto
13769 (JSC::IfElseNode::emitBytecode): ditto
13770 (JSC::DoWhileNode::emitBytecode): ditto
13771 (JSC::WhileNode::emitBytecode): ditto
13772 (JSC::ForNode::emitBytecode): ditto
13778 (JSC::CodeBlock::dump): Handle above.
13780 (JSC::BytecodeGenerator::emitJumpIfTrue): Add peephole for less + jtrue ==> jless.
13781 (JSC::BytecodeGenerator::emitJumpIfFalse): Add handling of backwrds falsey jumps.
13783 (JSC::BytecodeGenerator::emitNodeInConditionContext): Wrapper to handle tracking of
13786 (JSC::Interpreter::privateExecute): Implement the two new opcodes (loop_if_false, jless).
13788 (JSC::JIT::privateCompileMainPass): Implement JIT support for the two new opcodes.
13789 (JSC::JIT::privateCompileSlowCases): ditto
13792 (JSC::JIT::emit_op_jless):
13793 (JSC::JIT::emitSlow_op_jless): ditto
13794 (JSC::JIT::emitBinaryDoubleOp): ditto
13796 (JSC::JIT::emitSlow_op_loop_if_less): ditto
13797 (JSC::JIT::emit_op_loop_if_false): ditto
13798 (JSC::JIT::emitSlow_op_loop_if_false): ditto
13801 (JSC::):
13811 (JSC::StringObject::deleteProperty):
13835 REGRESSION(4.0.3-48777): Crash in JSC::ExecState::propertyNames() (Debug-only?)
13842 (JSC::CachedCall::newCallFrame):
13844 (JSC::AVLTreeAbstractorForArrayCompare::compare_key_key):
13846 (JSC::stringProtoFuncReplace):
13868 (JSC::Interpreter::privateExecute):
13873 (JSC::JIT::privateCompileCTIMachineTrampolines):
13879 (JSC::DEFINE_STUB_FUNCTION):
13885 (JSC::JSString::Rope::~Rope):
13886 (JSC::copyChars):
13887 (JSC::JSString::resolveRope):
13888 (JSC::JSString::getPrimitiveNumber):
13889 (JSC::JSString::toBoolean):
13890 (JSC::JSString::toNumber):
13891 (JSC::JSString::toString):
13892 (JSC::JSString::toThisString):
13893 (JSC::JSString::getStringPropertyDescriptor):
13895 (JSC::JSString::Rope::Fiber::Fiber):
13896 (JSC::JSString::Rope::Fiber::destroy):
13897 (JSC::JSString::Rope::Fiber::isRope):
13898 (JSC::JSString::Rope::Fiber::rope):
13899 (JSC::JSString::Rope::Fiber::string):
13900 (JSC::JSString::Rope::create):
13901 (JSC::JSString::Rope::initializeFiber):
13902 (JSC::JSString::Rope::ropeLength):
13903 (JSC::JSString::Rope::stringLength):
13904 (JSC::JSString::Rope::fibers):
13905 (JSC::JSString::Rope::Rope):
13906 (JSC::JSString::Rope::operator new):
13907 (JSC::JSString::JSString):
13908 (JSC::JSString::value):
13909 (JSC::JSString::length):
13910 (JSC::JSString::isRope):
13911 (JSC::JSString::rope):
13912 (JSC::JSString::string):
13913 (JSC::JSString::canGetIndex):
13914 (JSC::jsSingleCharacterSubstring):
13915 (JSC::JSString::getIndex):
13916 (JSC::jsSubstring):
13917 (JSC::JSString::getStringPropertySlot):
13922 (JSC::jsAdd):
13923 (JSC::concatenateStrings):
13928 (JSC::StringObject::getOwnPropertyNames):
13950 (JSC::):
13951 (JSC::JSZombie::leakedZombieStructure):
13953 (JSC::JSZombie::JSZombie):
13954 (JSC::JSZombie::isZombie):
13955 (JSC::JSZombie::classInfo):
13956 (JSC::JSZombie::isGetterSetter):
13957 (JSC::JSZombie::isAPIValueWrapper):
13958 (JSC::JSZombie::isPropertyNameIterator):
13959 (JSC::JSZombie::getCallData):
13960 (JSC::JSZombie::getConstructData):
13961 (JSC::JSZombie::getUInt32):
13962 (JSC::JSZombie::toPrimitive):
13963 (JSC::JSZombie::getPrimitiveNumber):
13964 (JSC::JSZombie::toBoolean):
13965 (JSC::JSZombie::toNumber):
13966 (JSC::JSZombie::toString):
13967 (JSC::JSZombie::toObject):
13968 (JSC::JSZombie::markChildren):
13969 (JSC::JSZombie::put):
13970 (JSC::JSZombie::deleteProperty):
13971 (JSC::JSZombie::toThisObject):
13972 (JSC::JSZombie::toThisString):
13973 (JSC::JSZombie::toThisJSString):
13974 (JSC::JSZombie::getJSNumber):
13975 (JSC::JSZombie::getOwnPropertySlot):
13981 Add zombies to JSC
13984 Add a compile time flag to make the JSC collector replace "unreachable"
13994 (JSC::Register::Register):
13996 (JSC::MarkedArgumentBuffer::append):
13997 (JSC::ArgList::ArgList):
13999 (JSC::Heap::destroy):
14000 (JSC::Heap::sweep):
14003 (JSC::JSCell::isZombie):
14004 (JSC::JSValue::isZombie):
14006 (JSC::JSValue::decode):
14007 (JSC::JSValue::JSValue):
14041 Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
14043 WebCore presently has to explicitly specify the world before entering into JSC,
14104 (JSC::MarkStack::MarkStackArray::shrinkAllocation):
14115 (JSC::VPtrSet::VPtrSet):
14139 (JSC::Interpreter::privateExecute):
14204 (JSC::Stringifier::StringBuilder::append):
14205 (JSC::Stringifier::stringify):
14206 (JSC::Stringifier::Holder::appendNextProperty):
14235 (JSC::JSValue::JSValue):
14237 (JSC::JSValue::):
14238 (JSC::jsDoubleNumber):
14239 (JSC::JSValue::JSValue): Added a function for making a numeric JSValue
14245 (JSC::mathProtoFuncACos):
14246 (JSC::mathProtoFuncASin):
14247 (JSC::mathProtoFuncATan):
14248 (JSC::mathProtoFuncATan2):
14249 (JSC::mathProtoFuncCos):
14250 (JSC::mathProtoFuncExp):
14251 (JSC::mathProtoFuncLog):
14252 (JSC::mathProtoFuncRandom):
14253 (JSC::mathProtoFuncSin):
14254 (JSC::mathProtoFuncSqrt):
14255 (JSC::mathProtoFuncTan): For these functions, which we expect or know
14274 Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
14280 … since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
14284 …Since the API is in JSC but worlds only exist in WebCore, add callbacks on the JSGlobalData::Clien…
14285 … to allow it to update the current world on entry/exit via the JSC API. This is temporary duck
14294 (JSC::JSGlobalData::ClientData::beginningExecution):
14295 (JSC::JSGlobalData::ClientData::completedExecution):
14334 (JSC::stringProtoFuncLastIndexOf):Add an extra test
14477 (JSC::createRep):
14478 (JSC::UString::UString):
14479 (JSC::UString::from): Move the code to doubleToStringInJavaScriptFormat().
14510 [Qt] Implement symbol hiding for JSC's JIT functions.
14532 (JSC::Interpreter::throwException):
14542 (JSC::ExecutableAllocator::cacheFlush):
14609 (JSC::::getOwnPropertySlot):
14610 (JSC::::put):
14611 (JSC::::deleteProperty):
14612 (JSC::::construct):
14613 (JSC::::hasInstance):
14614 (JSC::::call):
14615 (JSC::::toNumber):
14616 (JSC::::toString):
14617 (JSC::::staticValueGetter):
14618 (JSC::::callbackGetter):
14635 (JSC::ARMAssembler::fmrs_r):
14637 (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
14639 (JSC::JIT::compileOpCall):
14661 (JSC::JIT::compileOpCall):
14663 (JSC::JIT::emit_op_method_check):
14664 (JSC::JIT::compileGetByIdHotPath):
14665 (JSC::JIT::compileGetByIdSlowCase):
14666 (JSC::JIT::emit_op_put_by_id):
14683 (JSC::ARMAssembler::):
14684 (JSC::ARMAssembler::fdivd_r):
14686 (JSC::MacroAssemblerARM::lshift32):
14687 (JSC::MacroAssemblerARM::neg32):
14688 (JSC::MacroAssemblerARM::rshift32):
14689 (JSC::MacroAssemblerARM::branchOr32):
14690 (JSC::MacroAssemblerARM::set8):
14691 (JSC::MacroAssemblerARM::setTest8):
14692 (JSC::MacroAssemblerARM::loadDouble):
14693 (JSC::MacroAssemblerARM::divDouble):
14694 (JSC::MacroAssemblerARM::convertInt32ToDouble):
14695 (JSC::MacroAssemblerARM::zeroDouble):
14699 (JSC::JIT::privateCompileCTIMachineTrampolines):
14766 (JSC::parseDateFromNullTerminatedCharacters):
14773 (JSC::BytecodeGenerator::emitReturn):
14775 (JSC::Interpreter::execute):
14777 (JSC::EvalNode::emitBytecode):
14806 (JSC::BytecodeGenerator::emitReturn):
14808 (JSC::Interpreter::execute):
14810 (JSC::EvalNode::emitBytecode):
14848 (JSC::getCurrentPlatformThread):
14849 (JSC::suspendThread):
14850 (JSC::resumeThread):
14851 (JSC::getPlatformThreadRegisters):
14879 (JSC::JSGlobalData::JSGlobalData):
14884 (JSC::MathObject::MathObject):
14885 (JSC::mathProtoFuncRandom): Use the new hotness.
14888 (JSC::WeakRandom::WeakRandom):
14889 (JSC::WeakRandom::get):
14890 (JSC::WeakRandom::advance): The new hotness.
14901 (JSC::JSGlobalData::resetDateCache): Reset the DST cache when resetting
14905 (JSC::DSTOffsetCache::DSTOffsetCache):
14906 (JSC::DSTOffsetCache::reset): Added a struct for the DST cache.
14912 (JSC::getDSTOffset):
14913 (JSC::gregorianDateTimeToMS):
14914 (JSC::msToGregorianDateTime):
14915 (JSC::parseDateFromNullTerminatedCharacters):
14931 (JSC::DateInstanceCache::DateInstanceCache):
14932 (JSC::DateInstanceCache::reset): Added a helper function for resetting
14936 (JSC::JSGlobalData::resetDateCache): Include resetting the DateInstanceCache
14950 (JSC::callDate):
14952 (JSC::formatTime):
14953 (JSC::formatTimeUTC): Split formatTime into UTC and non-UTC variants.
14957 (JSC::DateInstance::calculateGregorianDateTime):
14958 (JSC::DateInstance::calculateGregorianDateTimeUTC):
14960 (JSC::DateInstance::gregorianDateTime):
14961 (JSC::DateInstance::gregorianDateTimeUTC): Split gregorianDateTime into
14966 (JSC::formatLocaleDate):
14967 (JSC::dateProtoFuncToString):
14968 (JSC::dateProtoFuncToUTCString):
14969 (JSC::dateProtoFuncToISOString):
14970 (JSC::dateProtoFuncToDateString):
14971 (JSC::dateProtoFuncToTimeString):
14972 (JSC::dateProtoFuncGetFullYear):
14973 (JSC::dateProtoFuncGetUTCFullYear):
14974 (JSC::dateProtoFuncToGMTString):
14975 (JSC::dateProtoFuncGetMonth):
14976 (JSC::dateProtoFuncGetUTCMonth):
14977 (JSC::dateProtoFuncGetDate):
14978 (JSC::dateProtoFuncGetUTCDate):
14979 (JSC::dateProtoFuncGetDay):
14980 (JSC::dateProtoFuncGetUTCDay):
14981 (JSC::dateProtoFuncGetHours):
14982 (JSC::dateProtoFuncGetUTCHours):
14983 (JSC::dateProtoFuncGetMinutes):
14984 (JSC::dateProtoFuncGetUTCMinutes):
14985 (JSC::dateProtoFuncGetSeconds):
14986 (JSC::dateProtoFuncGetUTCSeconds):
14987 (JSC::dateProtoFuncGetTimezoneOffset):
14988 (JSC::setNewValueFromTimeArgs):
14989 (JSC::setNewValueFromDateArgs):
14990 (JSC::dateProtoFuncSetYear):
14991 (JSC::dateProtoFuncGetYear): Updated for the gregorianDateTime change above.
15009 (JSC::parseDate): Try to reuse the last parsed Date, if present.
15012 (JSC::JSGlobalData::resetDateCache):
15017 (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Updated for
15021 (JSC::parseDateFromNullTerminatedCharacters):
15022 * wtf/DateMath.h: Changed ExecState to be first parameter, as is the JSC custom.
15038 (JSC::Interpreter::tryCacheGetByID):
15040 (JSC::JITThunks::tryCacheGetByID):
15041 (JSC::DEFINE_STUB_FUNCTION):
15043 (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
15045 (JSC::JSObject::flattenDictionaryObject):
15047 (JSC::normalizePrototypeChain):
15049 (JSC::Structure::flattenDictionaryStructure):
15050 (JSC::comparePropertyMapEntryIndices):
15087 (JSC::Interpreter::privateExecute):
15095 (JSC::gregorianDateTimeToMS):
15096 (JSC::msToGregorianDateTime):
15097 (JSC::parseDateFromNullTerminatedCharacters):
15099 (JSC::GregorianDateTime::GregorianDateTime):
15107 Create better separation in DateMath about the JSC
15108 and non-JSC portions. Also, only expose the non-JSC
15115 (JSC::getUTCOffset):
15116 (JSC::gregorianDateTimeToMS):
15117 (JSC::msToGregorianDateTime):
15118 (JSC::parseDateFromNullTerminatedCharacters):
15120 (JSC::gmtoffset):
15170 (JSC::CachedCall::CachedCall):
15172 (JSC::Interpreter::execute):
15174 (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Made the
15182 (JSC::constructDate):
15183 (JSC::callDate):
15184 (JSC::dateParse):
15185 (JSC::dateUTC):
15187 (JSC::parseDate):
15190 (JSC::DateInstance::gregorianDateTime):
15194 (JSC::setNewValueFromTimeArgs):
15195 (JSC::setNewValueFromDateArgs):
15196 (JSC::dateProtoFuncSetYear):
15198 (JSC::initializeThreadingOnce):
15200 (JSC::JSGlobalData::JSGlobalData):
15206 (JSC::getUTCOffset): Use the new cache. Also, see below.
15207 (JSC::gregorianDateTimeToMS):
15208 (JSC::msToGregorianDateTime):
15209 (JSC::initializeDates):
15210 (JSC::parseDateFromNullTerminatedCharacters): Simplified the way this function
15214 (JSC::GregorianDateTime::GregorianDateTime): Moved most of the code in
15215 DateMath.* into the JSC namespace. The code needed to move so it could
15234 (JSC::JIT::emit_op_rshift):
15236 (JSC::JIT::emitFastArithImmToInt):
15257 (JSC::MacroAssemblerARM::lshift32):
15258 (JSC::MacroAssemblerARM::rshift32):
15260 (JSC::MacroAssemblerARMv7::lshift32):
15261 (JSC::MacroAssemblerARMv7::rshift32):
15264 (JSC::JIT::emit_op_lshift):
15265 (JSC::JIT::emit_op_rshift):
15274 (JSC::JIT::emitPutJITStubArg):
15275 (JSC::JIT::emitPutJITStubArgConstant):
15276 (JSC::JIT::emitGetJITStubArg):
15277 (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
15279 (JSC::JITStubCall::JITStubCall):
15280 (JSC::JITStubCall::getArgument):
15296 (JSC::ARMAssembler::):
15297 (JSC::ARMAssembler::fmrs_r):
15298 (JSC::ARMAssembler::ftosid_r):
15300 (JSC::MacroAssemblerARM::):
15301 (JSC::MacroAssemblerARM::branchDouble):
15302 (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
15329 (JSC::ARMAssembler::getOp2): Use INVALID_IMM
15330 (JSC::ARMAssembler::getImm): Use encodeComplexImm for complex immediate
15331 (JSC::ARMAssembler::moveImm): Ditto.
15332 (JSC::ARMAssembler::encodeComplexImm): Encode a constant by one or two
15336 (JSC::ARMAssembler::):
15337 (JSC::ARMAssembler::movw_r): 16-bit immediate load
15338 (JSC::ARMAssembler::movt_r): High halfword 16-bit immediate load
15339 (JSC::ARMAssembler::getImm16Op2): Encode immediate constant for
15370 (JSC::MacroAssemblerARMv7::):
15371 (JSC::MacroAssemblerARMv7::branchDouble):
15390 (JSC::ARMThumbImmediate::ARMThumbImmediate):
15399 (JSC::CodeBlock::dump):
15414 (JSC::constantName):
15415 (JSC::CodeBlock::registerName):
15416 (JSC::CodeBlock::printUnaryOp):
15417 (JSC::CodeBlock::printBinaryOp):
15418 (JSC::CodeBlock::printConditionalJump):
15419 (JSC::CodeBlock::printGetByIdOp):
15420 (JSC::CodeBlock::printPutByIdOp):
15421 (JSC::CodeBlock::dump):
15423 (JSC::CodeBlock::isConstantRegisterIndex):
15447 (JSC::MacroAssemblerARM::):
15449 (JSC::MacroAssemblerARMv7::):
15451 (JSC::MacroAssemblerX86Common::):
15452 (JSC::MacroAssemblerX86Common::convertInt32ToDouble):
15453 (JSC::MacroAssemblerX86Common::branchDouble):
15454 (JSC::MacroAssemblerX86Common::branchConvertDoubleToInt32):
15456 (JSC::JIT::emitBinaryDoubleOp):
15457 (JSC::JIT::emit_op_div):
15458 (JSC::JIT::emitSlow_op_jnless):
15459 (JSC::JIT::emitSlow_op_jnlesseq):
15461 (JSC::JIT::emit_op_jfalse):
15476 …REGRESSION (r48573): JSC may incorrectly cache chain lookups with a dictionary at the head of the …
15484 (JSC::Interpreter::tryCacheGetByID):
15485 (JSC::Interpreter::privateExecute):
15487 (JSC::JITThunks::tryCacheGetByID):
15522 Superficial change to trigger rebuild of JSC project on Windows,
15532 (JSC::setNewValueFromDateArgs): In the case of applying a change to a date
15541 (JSC::formatLocaleDate):
15554 (JSC::DateInstance::gregorianDateTime):
15557 (JSC::formatLocaleDate):
15558 (JSC::dateProtoFuncToString):
15559 (JSC::dateProtoFuncToUTCString):
15560 (JSC::dateProtoFuncToISOString):
15561 (JSC::dateProtoFuncToDateString):
15562 (JSC::dateProtoFuncToTimeString):
15563 (JSC::dateProtoFuncGetFullYear):
15564 (JSC::dateProtoFuncGetUTCFullYear):
15565 (JSC::dateProtoFuncToGMTString):
15566 (JSC::dateProtoFuncGetMonth):
15567 (JSC::dateProtoFuncGetUTCMonth):
15568 (JSC::dateProtoFuncGetDate):
15569 (JSC::dateProtoFuncGetUTCDate):
15570 (JSC::dateProtoFuncGetDay):
15571 (JSC::dateProtoFuncGetUTCDay):
15572 (JSC::dateProtoFuncGetHours):
15573 (JSC::dateProtoFuncGetUTCHours):
15574 (JSC::dateProtoFuncGetMinutes):
15575 (JSC::dateProtoFuncGetUTCMinutes):
15576 (JSC::dateProtoFuncGetSeconds):
15577 (JSC::dateProtoFuncGetUTCSeconds):
15578 (JSC::dateProtoFuncGetTimezoneOffset):
15579 (JSC::setNewValueFromTimeArgs):
15580 (JSC::setNewValueFromDateArgs):
15581 (JSC::dateProtoFuncSetYear):
15582 (JSC::dateProtoFuncGetYear): Renamed getGregorianDateTime to gregorianDateTime,
15608 (JSC::JSPropertyNameIterator::create):
15640 (JSC::Structure::addPropertyWithoutTransition):
15641 (JSC::Structure::put):
15642 (JSC::Structure::getEnumerablePropertyNames):
15643 (JSC::Structure::checkConsistency):
15653 (JSC::ExecutableAllocator::cacheFlush):
15659 JSC JIT on ARMv7 cannot link jumps >16Mb range
15667 (JSC::ARMv7Assembler::~ARMv7Assembler):
15668 (JSC::ARMv7Assembler::LinkRecord::LinkRecord):
15669 (JSC::ARMv7Assembler::):
15670 (JSC::ARMv7Assembler::executableCopy):
15671 (JSC::ARMv7Assembler::linkJump):
15672 (JSC::ARMv7Assembler::relinkJump):
15673 (JSC::ARMv7Assembler::setInt32):
15674 (JSC::ARMv7Assembler::isB):
15675 (JSC::ARMv7Assembler::isBX):
15676 (JSC::ARMv7Assembler::isMOV_imm_T3):
15677 (JSC::ARMv7Assembler::isMOVT):
15678 (JSC::ARMv7Assembler::isNOP_T1):
15679 (JSC::ARMv7Assembler::isNOP_T2):
15680 (JSC::ARMv7Assembler::linkJumpAbsolute):
15681 (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmFirst):
15682 (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmSecond):
15683 (JSC::ARMv7Assembler::ARMInstructionFormatter::twoWordOp5i6Imm4Reg4EncodedImm):
15685 (JSC::MacroAssemblerARMv7::makeJump):
15686 (JSC::MacroAssemblerARMv7::makeBranch):
15704 (JSC::CodeBlock::dump):
15707 (JSC::BytecodeGenerator::emitGetByVal):
15709 (JSC::BytecodeGenerator::pushOptimisedForIn):
15710 (JSC::BytecodeGenerator::popOptimisedForIn):
15712 (JSC::Interpreter::privateExecute):
15714 (JSC::JIT::privateCompileMainPass):
15715 (JSC::JIT::privateCompileSlowCases):
15718 (JSC::JIT::compileGetDirectOffset):
15719 (JSC::JIT::emit_op_get_by_pname):
15720 (JSC::JIT::emitSlow_op_get_by_pname):
15722 (JSC::ForInNode::emitBytecode):
15725 (JSC::JSPropertyNameIterator::create):
15727 (JSC::JSPropertyNameIterator::getOffset):
15728 (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
15730 (JSC::JSValue::):
15732 (JSC::Structure::addPropertyTransition):
15733 (JSC::Structure::changePrototypeTransition):
15734 (JSC::Structure::despecifyFunctionTransition):
15735 (JSC::Structure::addAnonymousSlotsTransition):
15736 (JSC::Structure::getterSetterTransition):
15737 (JSC::Structure::toDictionaryTransition):
15738 (JSC::Structure::addPropertyWithoutTransition):
15741 (JSC::Structure::propertyStorageCapacity):
15742 (JSC::Structure::propertyStorageSize):
15743 (JSC::Structure::hasNonEnumerableProperties):
15744 (JSC::Structure::hasAnonymousSlots):
15788 (JSC::JSFunction::nativeFunction):
15789 (JSC::JSFunction::scopeChain):
15790 (JSC::JSFunction::setScopeChain):
15791 (JSC::JSFunction::setNativeFunction):
15834 (JSC::JIT::compileOpCall):
15836 (JSC::JIT::emit_op_method_check):
15837 (JSC::JIT::compileGetByIdHotPath):
15838 (JSC::JIT::compileGetByIdSlowCase):
15839 (JSC::JIT::emit_op_put_by_id):
15850 (JSC::constructDate):
15853 (JSC::DateInstance::DateInstance):
15858 (JSC::DatePrototype::DatePrototype): Pass an initializer to our constructor,
15876 (JSC::DateInstanceData::create):
15877 (JSC::DateInstanceData::DateInstanceData):
15878 (JSC::DateInstanceCache::DateInstanceCache):
15879 (JSC::DateInstanceCache::add):
15880 (JSC::DateInstanceCache::lookup):
15897 (JSC::DateInstance::DateInstance):
15898 (JSC::DateInstance::getGregorianDateTime): Use the shared cache.
15904 (JSC::formatLocaleDate):
15905 (JSC::dateProtoFuncToString):
15906 (JSC::dateProtoFuncToUTCString):
15907 (JSC::dateProtoFuncToISOString):
15908 (JSC::dateProtoFuncToDateString):
15909 (JSC::dateProtoFuncToTimeString):
15910 (JSC::dateProtoFuncGetFullYear):
15911 (JSC::dateProtoFuncGetUTCFullYear):
15912 (JSC::dateProtoFuncToGMTString):
15913 (JSC::dateProtoFuncGetMonth):
15914 (JSC::dateProtoFuncGetUTCMonth):
15915 (JSC::dateProtoFuncGetDate):
15916 (JSC::dateProtoFuncGetUTCDate):
15917 (JSC::dateProtoFuncGetDay):
15918 (JSC::dateProtoFuncGetUTCDay):
15919 (JSC::dateProtoFuncGetHours):
15920 (JSC::dateProtoFuncGetUTCHours):
15921 (JSC::dateProtoFuncGetMinutes):
15922 (JSC::dateProtoFuncGetUTCMinutes):
15923 (JSC::dateProtoFuncGetSeconds):
15924 (JSC::dateProtoFuncGetUTCSeconds):
15925 (JSC::dateProtoFuncGetTimezoneOffset):
15926 (JSC::setNewValueFromTimeArgs):
15927 (JSC::setNewValueFromDateArgs):
15928 (JSC::dateProtoFuncSetYear):
15929 (JSC::dateProtoFuncGetYear): Pass an ExecState to these functions, so they
15958 (JSC::Yarr::ByteCompiler::alternativeBodyDisjunction):
15959 (JSC::Yarr::ByteCompiler::alternativeDisjunction):
15960 (JSC::Yarr::ByteCompiler::emitDisjunction):
15962 (JSC::Yarr::RegexGenerator::generateDisjunction):
15986 (JSC::MacroAssemblerARM::ret): Return with link register
15987 (JSC::MacroAssemblerARM::prepareCall): Store the return address in link register
15990 (JSC::JIT::restoreArgumentReference): Ditto.
15991 (JSC::JIT::restoreArgumentReferenceForTrampoline): Ditto.
15997 (JSC::JITStackFrame::returnAddressSlot): Return with the address of thunkReturnAddress
15999 (JSC::Yarr::RegexGenerator::generateEnter): Remove the unnecessary instruction
16042 (JSC::typeName): Added two new types to the type name list in the Collector.
16046 (JSC::JSCell::isPropertyNameIterator):
16048 (JSC::JSPropertyNameIterator::isPropertyNameIterator): Give the Collector
16083 (JSC::formatLocaleDate):
16090 (JSC::JIT::emit_op_next_pname): Slightly tweaked this #ifdef to match the
16101 (JSC::JIT::emit_op_next_pname): Use TimesEight stepping on 64-bit, since
16113 (JSC::DateInstance::getGregorianDateTime): Renamed from "msToGregorianDateTime".
16117 (JSC::formatLocaleDate):
16118 (JSC::dateProtoFuncToString):
16119 (JSC::dateProtoFuncToUTCString):
16120 (JSC::dateProtoFuncToISOString):
16121 (JSC::dateProtoFuncToDateString):
16122 (JSC::dateProtoFuncToTimeString):
16123 (JSC::dateProtoFuncToLocaleString):
16124 (JSC::dateProtoFuncToLocaleDateString):
16125 (JSC::dateProtoFuncToLocaleTimeString):
16126 (JSC::dateProtoFuncGetTime):
16127 (JSC::dateProtoFuncGetFullYear):
16128 (JSC::dateProtoFuncGetUTCFullYear):
16129 (JSC::dateProtoFuncToGMTString):
16130 (JSC::dateProtoFuncGetMonth):
16131 (JSC::dateProtoFuncGetUTCMonth):
16132 (JSC::dateProtoFuncGetDate):
16133 (JSC::dateProtoFuncGetUTCDate):
16134 (JSC::dateProtoFuncGetDay):
16135 (JSC::dateProtoFuncGetUTCDay):
16136 (JSC::dateProtoFuncGetHours):
16137 (JSC::dateProtoFuncGetUTCHours):
16138 (JSC::dateProtoFuncGetMinutes):
16139 (JSC::dateProtoFuncGetUTCMinutes):
16140 (JSC::dateProtoFuncGetSeconds):
16141 (JSC::dateProtoFuncGetUTCSeconds):
16142 (JSC::dateProtoFuncGetTimezoneOffset):
16143 (JSC::setNewValueFromTimeArgs):
16144 (JSC::setNewValueFromDateArgs):
16145 (JSC::dateProtoFuncSetYear):
16146 (JSC::dateProtoFuncGetYear): Also renamed "utc" to "outputIsUTC", for clarity.
16156 (JSC::JIT::emit_op_next_pname):
16166 (JSC::DateInstance::createStructure):
16178 (JSC::JIT::testPrototype):
16179 (JSC::JIT::privateCompilePutByIdTransition): No need to do object type
16212 (JSC::JIT::emit_op_instanceof):
16213 (JSC::JIT::emitSlow_op_instanceof): No need to do object type checks -
16250 Add StructureFlag constant to the various JSC classes and use
16255 (JSC::JSCallbackConstructor::createStructure):
16257 (JSC::JSCallbackFunction::createStructure):
16259 (JSC::JSCallbackObject::createStructure):
16261 (JSC::DebuggerActivation::createStructure):
16263 (JSC::Arguments::createStructure):
16265 (JSC::BooleanObject::createStructure):
16267 (JSC::DatePrototype::createStructure):
16269 (JSC::FunctionPrototype::createStructure):
16271 (JSC::GlobalEvalFunction::createStructure):
16273 (JSC::InternalFunction::createStructure):
16275 (JSC::JSActivation::createStructure):
16277 (JSC::JSArray::createStructure):
16279 (JSC::JSByteArray::createStructure):
16282 (JSC::JSFunction::createStructure):
16284 (JSC::JSGlobalObject::createStructure):
16286 (JSC::JSNotAnObject::createStructure):
16288 (JSC::JSONObject::createStructure):
16290 (JSC::JSObject::createStructure):
16292 (JSC::JSStaticScopeObject::createStructure):
16294 (JSC::JSVariableObject::createStructure):
16296 (JSC::JSWrapperObject::createStructure):
16298 (JSC::MathObject::createStructure):
16300 (JSC::NumberConstructor::createStructure):
16302 (JSC::NumberObject::createStructure):
16304 (JSC::RegExpConstructor::createStructure):
16306 (JSC::RegExpObject::createStructure):
16308 (JSC::StringObject::createStructure):
16310 (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
16322 (JSC::CodeBlock::dump):
16325 (JSC::BytecodeGenerator::emitGetPropertyNames):
16326 (JSC::BytecodeGenerator::emitNextPropertyName):
16333 (JSC::Interpreter::tryCachePutByID):
16334 (JSC::Interpreter::tryCacheGetByID): Updated for rename to
16337 (JSC::Interpreter::privateExecute): Updated for in-RegisterFile
16341 (JSC::JIT::privateCompileMainPass):
16344 (JSC::JIT::emit_op_get_pnames): Updated for in-RegisterFile
16347 (JSC::JIT::emit_op_next_pname): Inlined code generation for op_next_pname.
16350 (JSC::JITThunks::tryCachePutByID):
16351 (JSC::JITThunks::tryCacheGetByID): Updated for rename to
16354 (JSC::DEFINE_STUB_FUNCTION):
16356 (JSC::): Added has_property and to_object stubs. Removed op_next_pname
16360 (JSC::ForInNode::emitBytecode): Updated for in-RegisterFile
16365 (JSC::JSObject::getPropertyNames): Don't do caching at this layer
16369 (JSC::JSPropertyNameIterator::create): Do do caching at this layer.
16370 (JSC::JSPropertyNameIterator::get): Updated for in-RegisterFile
16372 (JSC::JSPropertyNameIterator::markChildren): Mark our JSStrings.
16375 (JSC::JSPropertyNameIterator::size):
16376 (JSC::JSPropertyNameIterator::setCachedStructure):
16377 (JSC::JSPropertyNameIterator::cachedStructure):
16378 (JSC::JSPropertyNameIterator::setCachedPrototypeChain):
16379 (JSC::JSPropertyNameIterator::cachedPrototypeChain):
16380 (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
16381 (JSC::Structure::setEnumerationCache): Don't store iteration state in
16386 (JSC::asCell):
16392 (JSC::normalizePrototypeChain): Renamed countPrototypeChainEntriesAndCheckForProxies
16397 (JSC::PropertyNameArray::add):
16399 (JSC::PropertyNameArrayData::PropertyNameArrayData):
16400 (JSC::PropertyNameArray::data):
16401 (JSC::PropertyNameArray::size):
16402 (JSC::PropertyNameArray::begin):
16403 (JSC::PropertyNameArray::end): Simplified some code here to help with
16408 (JSC::Structure::~Structure):
16409 (JSC::Structure::addPropertyWithoutTransition):
16410 (JSC::Structure::removePropertyWithoutTransition): No need to clear
16416 (JSC::Structure::enumerationCache): Changed the enumeration cache to
16421 (JSC::StructureChain::head): Removed StructureChain::isCacheable because
16458 (JSC::JSCallbackConstructor::createStructure):
16460 (JSC::JSCallbackObject::createStructure):
16462 (JSC::DebuggerActivation::createStructure):
16464 (JSC::Arguments::createStructure):
16466 (JSC::BooleanObject::createStructure):
16468 (JSC::DatePrototype::createStructure):
16470 (JSC::FunctionPrototype::createStructure):
16472 (JSC::GlobalEvalFunction::createStructure):
16474 (JSC::JSAPIValueWrapper::createStructure):
16476 (JSC::JSActivation::createStructure):
16478 (JSC::JSArray::createStructure):
16480 (JSC::JSByteArray::createStructure):
16482 (JSC::JSFunction::createStructure):
16484 (JSC::JSGlobalObject::createStructure):
16486 (JSC::JSNotAnObject::createStructure):
16488 (JSC::JSONObject::createStructure):
16490 (JSC::JSObject::getPropertyNames):
16492 (JSC::JSObject::createStructure):
16494 (JSC::JSStaticScopeObject::createStructure):
16496 (JSC::TypeInfo::overridesGetPropertyNames):
16498 (JSC::JSVariableObject::createStructure):
16500 (JSC::JSWrapperObject::createStructure):
16502 (JSC::MathObject::createStructure):
16504 (JSC::NumberConstructor::createStructure):
16506 (JSC::NumberObject::createStructure):
16508 (JSC::RegExpConstructor::createStructure):
16510 (JSC::RegExpObject::createStructure):
16512 (JSC::StringObject::createStructure):
16514 (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
16516 (JSC::StructureChain::isCacheable):
16538 (JSC::ExecutableAllocator::intializePageSize):
16539 (JSC::ExecutablePool::systemAlloc):
16540 (JSC::ExecutablePool::systemRelease):
16552 (JSC::JSCallbackConstructor::createStructure):
16554 (JSC::JSCallbackFunction::createStructure):
16556 (JSC::JSCallbackObject::createStructure):
16558 (JSC::DebuggerActivation::createStructure):
16560 (JSC::Arguments::createStructure):
16562 (JSC::BooleanObject::createStructure):
16564 (JSC::DatePrototype::createStructure):
16566 (JSC::FunctionPrototype::createStructure):
16568 (JSC::GetterSetter::createStructure):
16570 (JSC::GlobalEvalFunction::createStructure):
16572 (JSC::InternalFunction::createStructure):
16574 (JSC::JSAPIValueWrapper::createStructure):
16576 (JSC::JSActivation::createStructure):
16578 (JSC::JSArray::createStructure):
16579 (JSC::MarkStack::markChildren):
16581 (JSC::JSByteArray::createStructure):
16583 (JSC::JSFunction::createStructure):
16585 (JSC::JSGlobalObject::createStructure):
16587 (JSC::JSNotAnObject::createStructure):
16589 (JSC::JSNumberCell::createStructure):
16591 (JSC::JSONObject::createStructure):
16593 (JSC::JSObject::createStructure):
16595 (JSC::JSPropertyNameIterator::createStructure):
16597 (JSC::JSStaticScopeObject::createStructure):
16599 (JSC::JSString::createStructure):
16601 (JSC::TypeInfo::overridesMarkChildren):
16603 (JSC::JSVariableObject::createStructure):
16605 (JSC::JSWrapperObject::createStructure):
16607 (JSC::MathObject::createStructure):
16609 (JSC::NumberConstructor::createStructure):
16611 (JSC::NumberObject::createStructure):
16613 (JSC::RegExpConstructor::createStructure):
16615 (JSC::RegExpObject::createStructure):
16617 (JSC::StringObject::createStructure):
16619 (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
16631 (JSC::JSCallbackConstructor::createStructure):
16633 (JSC::JSCallbackFunction::createStructure):
16635 (JSC::JSCallbackObject::createStructure):
16637 (JSC::DebuggerActivation::createStructure):
16639 (JSC::DEFINE_STUB_FUNCTION):
16641 (JSC::Arguments::createStructure):
16643 (JSC::BooleanObject::createStructure):
16645 (JSC::DatePrototype::createStructure):
16647 (JSC::FunctionPrototype::createStructure):
16649 (JSC::GlobalEvalFunction::createStructure):
16651 (JSC::InternalFunction::createStructure):
16653 (JSC::JSActivation::createStructure):
16655 (JSC::JSArray::createStructure):
16657 (JSC::JSByteArray::createStructure):
16659 (JSC::JSFunction::createStructure):
16661 (JSC::JSGlobalObject::createStructure):
16663 (JSC::JSNumberCell::createStructure):
16665 (JSC::JSONObject::createStructure):
16667 (JSC::JSObject::createStructure):
16668 (JSC::JSCell::fastGetOwnPropertySlot):
16670 (JSC::JSStaticScopeObject::createStructure):
16672 (JSC::JSString::createStructure):
16674 (JSC::TypeInfo::overridesGetOwnPropertySlot):
16676 (JSC::JSVariableObject::createStructure):
16678 (JSC::JSWrapperObject::createStructure):
16680 (JSC::MathObject::createStructure):
16682 (JSC::NumberConstructor::createStructure):
16684 (JSC::NumberObject::createStructure):
16686 (JSC::RegExpConstructor::createStructure):
16688 (JSC::RegExpObject::createStructure):
16690 (JSC::StringObject::createStructure):
16692 (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
16731 (JSC::FunctionPtr::FunctionPtr):
16736 (JSC::JITStubCall::JITStubCall):
16737 (JSC::JITStubCall::call):
16739 (JSC::DEFINE_STUB_FUNCTION(EncodedJSValue, op_throw)):
16757 (JSC::isTrimWhitespace):
16763 (JSC::trimString):
16785 (JSC::printConditionalJump):
16786 (JSC::CodeBlock::dump):
16788 (JSC::BytecodeGenerator::emitJump):
16789 (JSC::BytecodeGenerator::emitJumpIfTrue):
16790 (JSC::BytecodeGenerator::emitJumpIfFalse):
16791 (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
16792 (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
16793 (JSC::BytecodeGenerator::emitComplexJumpScopes):
16794 (JSC::BytecodeGenerator::emitJumpScopes):
16795 (JSC::BytecodeGenerator::emitNextPropertyName):
16796 (JSC::BytecodeGenerator::emitCatch):
16797 (JSC::BytecodeGenerator::emitJumpSubroutine):
16798 (JSC::prepareJumpTableForImmediateSwitch):
16799 (JSC::prepareJumpTableForCharacterSwitch):
16800 (JSC::prepareJumpTableForStringSwitch):
16801 (JSC::BytecodeGenerator::endSwitch):
16803 (JSC::Label::setLocation):
16804 (JSC::Label::bind):
16806 (JSC::Interpreter::resolve):
16807 (JSC::Interpreter::resolveSkip):
16808 (JSC::Interpreter::resolveGlobal):
16809 (JSC::Interpreter::resolveBase):
16810 (JSC::Interpreter::resolveBaseAndProperty):
16811 (JSC::Interpreter::createExceptionScope):
16812 (JSC::Interpreter::privateExecute):
16815 (JSC::JIT::privateCompile):
16817 (JSC::JIT::emit_op_jnless):
16818 (JSC::JIT::emitSlow_op_jnless):
16819 (JSC::JIT::emit_op_jnlesseq):
16820 (JSC::JIT::emitSlow_op_jnlesseq):
16821 (JSC::JIT::emitBinaryDoubleOp):
16823 (JSC::JIT::emit_op_jmp):
16824 (JSC::JIT::emit_op_loop):
16825 (JSC::JIT::emit_op_loop_if_less):
16826 (JSC::JIT::emitSlow_op_loop_if_less):
16827 (JSC::JIT::emit_op_loop_if_lesseq):
16828 (JSC::JIT::emitSlow_op_loop_if_lesseq):
16829 (JSC::JIT::emit_op_loop_if_true):
16830 (JSC::JIT::emitSlow_op_loop_if_true):
16831 (JSC::JIT::emit_op_jfalse):
16832 (JSC::JIT::emitSlow_op_jfalse):
16833 (JSC::JIT::emit_op_jtrue):
16834 (JSC::JIT::emitSlow_op_jtrue):
16835 (JSC::JIT::emit_op_jeq_null):
16836 (JSC::JIT::emit_op_jneq_null):
16837 (JSC::JIT::emit_op_jneq_ptr):
16838 (JSC::JIT::emit_op_jsr):
16839 (JSC::JIT::emit_op_next_pname):
16840 (JSC::JIT::emit_op_jmp_scopes):
16856 (JSC::markIfNeeded):
16857 (JSC::JSGlobalObject::markChildren): Added code to mark prototypes stored
16862 (JSC::JSObject::getPropertyNames):
16863 (JSC::JSObject::getOwnPropertyNames):
16864 (JSC::JSObject::getEnumerableNamesFromClassInfoTable):
16866 (JSC::JSObject::markChildrenDirect):
16870 (JSC::Structure::setEnumerationCache):
16871 (JSC::Structure::enumerationCache): Moved property name gathering code
16897 (JSC::stringProtoFuncReplace):
16898 (JSC::stringProtoFuncSearch):
16912 (JSC::RegExpObject::match):
16945 (JSC::jscyylex):
16947 (JSC::constructArrayWithSizeQuirk):
16950 (JSC::JSCell::operator new):
16952 (JSC::JSCell::operator new):
16954 (JSC::JSGlobalObject::operator new):
16956 (JSC::JSNumberCell::operator new):
16959 (JSC::jsString):
16960 (JSC::jsSubstring):
16961 (JSC::jsOwnedString):
16964 (JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
16965 (JSC::RegExpConstructorPrivate::lastOvector):
16966 (JSC::RegExpConstructorPrivate::tempOvector):
16967 (JSC::RegExpConstructorPrivate::changeLastOvector):
16968 (JSC::RegExpConstructor::performMatch):
16970 (JSC::stringProtoFuncMatch):
16973 (JSC::Yarr::executeRegex): Inlined a few things that Shark said
16987 (JSC::JIT::compileOpCall):
17008 (JSC::Heap::protect):
17009 (JSC::Heap::unprotect):
17010 (JSC::Heap::markProtectedObjects):
17011 (JSC::Heap::protectedGlobalObjectCount):
17012 (JSC::Heap::protectedObjectCount):
17013 (JSC::Heap::protectedObjectTypeCounts):
17096 (JSC::DateInstance::DateInstance):
17099 (JSC::createTypeError):
17144 (JSC::JIT::emitSlow_op_get_by_val):
17145 (JSC::JIT::emitSlow_op_put_by_val):
17147 (JSC::JIT::emit_op_get_by_val):
17148 (JSC::JIT::emitSlow_op_get_by_val):
17149 (JSC::JIT::emit_op_put_by_val):
17150 (JSC::JIT::emitSlow_op_put_by_val):
17153 (JSC::): Check m_vectorLength instead of m_fastAccessCutoff when
17158 (JSC::JSArray::JSArray):
17159 (JSC::JSArray::getOwnPropertySlot):
17160 (JSC::JSArray::getOwnPropertyDescriptor):
17161 (JSC::JSArray::put):
17162 (JSC::JSArray::putSlowCase):
17163 (JSC::JSArray::deleteProperty):
17164 (JSC::JSArray::getOwnPropertyNames):
17165 (JSC::JSArray::increaseVectorLength):
17166 (JSC::JSArray::setLength):
17167 (JSC::JSArray::pop):
17168 (JSC::JSArray::push):
17169 (JSC::JSArray::sort):
17170 (JSC::JSArray::fillArgList):
17171 (JSC::JSArray::copyToRegisters):
17172 (JSC::JSArray::compactForSorting):
17173 (JSC::JSArray::checkConsistency):
17175 (JSC::JSArray::canGetIndex):
17176 (JSC::JSArray::canSetIndex):
17177 (JSC::JSArray::setIndex):
17178 (JSC::JSArray::markChildrenDirect): Removed m_fastAccessCutoff, and
17201 (JSC::JIT::compileOpCall):
17203 (JSC::JIT::emit_op_to_jsnumber):
17204 (JSC::JIT::emit_op_create_arguments):
17206 (JSC::JIT::emitSlow_op_get_by_val):
17207 (JSC::JIT::emit_op_put_by_val): Test for the empty value tag, instead
17211 (JSC::JSValue::description): Added support for dumping the new empty value,
17215 (JSC::JSValue::JSValue()): Construct JSValue() with the empty value tag.
17217 (JSC::JSValue::JSValue(JSCell*)): Convert null pointer to the empty value
17220 (JSC::JSValue::operator bool): Test for the empty value tag, instead
17329 (JSC::arrayProtoFuncToString):
17342 (JSC::JIT::emit_op_add):
17346 (JSC::JIT::emitSlow_op_add):
17380 (JSC::JIT::compileBinaryArithOpSlowCase):
17381 (JSC::JIT::emitSlow_op_add):
17382 (JSC::JIT::emitSlow_op_mul):
17383 (JSC::JIT::emit_op_sub):
17384 (JSC::JIT::emitSlow_op_sub): Don't take a stub call when operating on
17401 (JSC::evaluateInGlobalCallFrame):
17403 (JSC::DebuggerCallFrame::evaluate):
17405 (JSC::Interpreter::Interpreter):
17406 (JSC::Interpreter::execute):
17407 (JSC::Interpreter::privateExecute):
17408 (JSC::Interpreter::enableSampler):
17409 (JSC::Interpreter::dumpSampleData):
17410 (JSC::Interpreter::startSampling):
17411 (JSC::Interpreter::stopSampling):
17413 (JSC::Interpreter::sampler):
17418 (JSC::checkSyntax):
17419 (JSC::evaluate):
17421 (JSC::EvalExecutable::EvalExecutable):
17422 (JSC::ProgramExecutable::create):
17423 (JSC::ProgramExecutable::ProgramExecutable):
17425 (JSC::JSGlobalData::startSampling):
17426 (JSC::JSGlobalData::stopSampling):
17427 (JSC::JSGlobalData::dumpSampleData):
17430 (JSC::globalFuncEval):
17460 (JSC::JIT::emit_op_add):
17461 (JSC::JIT::emitSlow_op_add):
17483 (JSC::JSGlobalObject::~JSGlobalObject):
17484 (JSC::JSGlobalObject::destroyJSGlobalObjectData):
17486 (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
17487 (JSC::JSGlobalObject::JSGlobalObject):
17528 …(JSC::Heap::markCurrentThreadConservatively): Force jmp_buf to use the appropriate alignment for a…
17558 (JSC::JSCallbackConstructor::JSCallbackConstructor):
17562 (JSC::JSCallbackObject::JSCallbackObject):
17565 (JSC::CodeBlock::addFunctionDecl):
17566 (JSC::CodeBlock::addFunctionExpr):
17568 (JSC::ArrayConstructor::ArrayConstructor):
17571 (JSC::ArrayPrototype::ArrayPrototype):
17574 (JSC::BooleanConstructor::BooleanConstructor):
17577 (JSC::BooleanObject::BooleanObject):
17580 (JSC::BooleanPrototype::BooleanPrototype):
17583 (JSC::DateConstructor::DateConstructor):
17586 (JSC::DateInstance::DateInstance):
17589 (JSC::DatePrototype::DatePrototype):
17592 (JSC::ErrorConstructor::ErrorConstructor):
17595 (JSC::ErrorInstance::ErrorInstance):
17598 (JSC::ErrorPrototype::ErrorPrototype):
17601 (JSC::FunctionConstructor::FunctionConstructor):
17604 (JSC::FunctionPrototype::FunctionPrototype):
17607 (JSC::GlobalEvalFunction::GlobalEvalFunction):
17610 (JSC::InternalFunction::InternalFunction):
17612 (JSC::InternalFunction::InternalFunction):
17614 (JSC::JSActivation::JSActivation):
17616 (JSC::JSActivation::JSActivationData::JSActivationData):
17618 (JSC::JSArray::JSArray):
17621 (JSC::JSByteArray::JSByteArray):
17624 (JSC::JSFunction::JSFunction):
17627 (JSC::JSGlobalObject::JSGlobalObject):
17629 (JSC::JSONObject::JSONObject):
17631 (JSC::JSObject::JSObject):
17632 (JSC::JSObject::setStructure):
17634 (JSC::JSVariableObject::JSVariableObject):
17636 (JSC::JSWrapperObject::JSWrapperObject):
17638 (JSC::MathObject::MathObject):
17641 (JSC::NativeErrorConstructor::NativeErrorConstructor):
17644 (JSC::NativeErrorPrototype::NativeErrorPrototype):
17647 (JSC::NumberConstructor::NumberConstructor):
17650 (JSC::NumberObject::NumberObject):
17653 (JSC::NumberPrototype::NumberPrototype):
17656 (JSC::ObjectConstructor::ObjectConstructor):
17659 (JSC::ObjectPrototype::ObjectPrototype):
17662 (JSC::PropertyNameArrayData::setCachedPrototypeChain):
17664 (JSC::PrototypeFunction::PrototypeFunction):
17667 (JSC::RegExpConstructor::RegExpConstructor):
17670 (JSC::RegExpObject::RegExpObject):
17672 (JSC::RegExpObject::RegExpObjectData::RegExpObjectData):
17674 (JSC::RegExpPrototype::RegExpPrototype):
17677 (JSC::StringConstructor::StringConstructor):
17680 (JSC::StringObject::StringObject):
17683 (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
17685 (JSC::StringPrototype::StringPrototype):
17712 (JSC::JIT::emitSlow_op_add):
17714 (JSC::JIT::emit_op_jfalse):
17715 (JSC::JIT::emit_op_jtrue):
17749 (JSC::ExecutableAllocator::cacheFlush):
17782 (JSC::MarkStack::MarkStackArray::shrinkAllocation):
17784 (JSC::MarkStack::initializePagesize):
17785 (JSC::MarkStack::allocateStack):
17786 (JSC::MarkStack::releaseStack):
17803 (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
17805 (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
17806 (JSC::MacroAssemblerARM::branch32WithUnalignedHalfWords):
17808 (JSC::MacroAssemblerARMv7::load32WithUnalignedHalfWords):
17809 (JSC::MacroAssemblerARMv7::branch32):
17810 (JSC::MacroAssemblerARMv7::branch32WithUnalignedHalfWords):
17812 (JSC::MacroAssemblerX86Common::load32WithUnalignedHalfWords):
17813 (JSC::MacroAssemblerX86Common::branch32WithUnalignedHalfWords):
17816 (JSC::Yarr::RegexGenerator::generatePatternCharacterPair):
17848 (JSC::CachedCall::CachedCall):
17850 (JSC::ExecState::lexicalGlobalObject):
17851 (JSC::ExecState::globalThisValue):
17853 (JSC::Interpreter::dumpRegisters):
17854 (JSC::Interpreter::execute):
17855 (JSC::Interpreter::privateExecute):
17857 (JSC::DEFINE_STUB_FUNCTION):
17859 (JSC::constructFunction):
17861 (JSC::ScopeChainNode::print):
17863 (JSC::ScopeChainNode::ScopeChainNode):
17864 (JSC::ScopeChainNode::~ScopeChainNode):
17865 (JSC::ScopeChainNode::push):
17866 (JSC::ScopeChain::ScopeChain):
17867 (JSC::ScopeChain::globalObject): Added a globalObject data member to ScopeChainNode.
17872 (JSC::JSGlobalObject::init):
17903 (JSC::JIT::privateCompileMainPass):
17904 (JSC::JIT::privateCompileSlowCases):
17907 (JSC::JIT::compileBinaryArithOpSlowCase):
17908 (JSC::JIT::emit_op_div):
17909 (JSC::JIT::emitSlow_op_div):
17911 (JSC::JIT::isOperandConstantImmediateDouble):
17912 (JSC::JIT::addressFor):
17913 (JSC::JIT::emitLoadDouble):
17914 (JSC::JIT::emitLoadInt32ToDouble):
17915 (JSC::JIT::emitJumpSlowCaseIfNotImmediateNumber):
17956 (JSC::getCPUTime):
18031 (JSC::ExecutableAllocator::cacheFlush):
18063 (JSC::EvalCodeCache::get):
18065 (JSC::ScriptSampleRecord::sample):
18066 (JSC::SamplingTool::doRun):
18067 (JSC::SamplingTool::notifyOfScope):
18068 (JSC::compareScriptSampleRecords):
18069 (JSC::SamplingTool::dump):
18071 (JSC::ScriptSampleRecord::ScriptSampleRecord):
18072 (JSC::ScriptSampleRecord::~ScriptSampleRecord):
18073 (JSC::SamplingTool::SamplingTool):
18075 (JSC::BytecodeGenerator::BytecodeGenerator):
18076 (JSC::BytecodeGenerator::emitNewFunction):
18077 (JSC::BytecodeGenerator::emitNewFunctionExpression):
18079 (JSC::BytecodeGenerator::makeFunction):
18081 (JSC::evaluateInGlobalCallFrame):
18083 (JSC::DebuggerCallFrame::evaluate):
18085 (JSC::ScopeNode::ScopeNode):
18087 (JSC::checkSyntax):
18088 (JSC::evaluate):
18090 (JSC::FunctionExecutable::fromGlobalCode):
18092 (JSC::ScriptExecutable::ScriptExecutable):
18093 (JSC::EvalExecutable::EvalExecutable):
18094 (JSC::EvalExecutable::create):
18095 (JSC::ProgramExecutable::ProgramExecutable):
18096 (JSC::FunctionExecutable::create):
18097 (JSC::FunctionExecutable::FunctionExecutable):
18099 (JSC::globalFuncEval):
18161 (JSC::RegisterFile::~RegisterFile):
18184 (JSC::SourceCode::SourceCode):
18197 (JSC::Interpreter::tryCachePutByID):
18199 (JSC::JITThunks::tryCachePutByID):
18208 (JSC::Interpreter::resolveGlobal):
18209 (JSC::Interpreter::tryCachePutByID):
18210 (JSC::Interpreter::tryCacheGetByID):
18212 (JSC::JITThunks::tryCachePutByID):
18213 (JSC::JITThunks::tryCacheGetByID):
18214 (JSC::DEFINE_STUB_FUNCTION):
18216 (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
18218 (JSC::JSObject::removeDirect):
18220 (JSC::Structure::Structure):
18221 (JSC::Structure::getEnumerablePropertyNames):
18222 (JSC::Structure::despecifyDictionaryFunction):
18223 (JSC::Structure::addPropertyTransitionToExistingStructure):
18224 (JSC::Structure::addPropertyTransition):
18225 (JSC::Structure::removePropertyTransition):
18226 (JSC::Structure::toDictionaryTransition):
18227 (JSC::Structure::toCacheableDictionaryTransition):
18228 (JSC::Structure::toUncacheableDictionaryTransition):
18229 (JSC::Structure::fromDictionaryTransition):
18230 (JSC::Structure::removePropertyWithoutTransition):
18232 (JSC::Structure::isDictionary):
18233 (JSC::Structure::isUncacheableDictionary):
18234 (JSC::Structure::):
18236 (JSC::StructureChain::isCacheable):
18267 (JSC::JITThunks::JITThunks):
18298 (JSC::Interpreter::resolveGlobal):
18299 (JSC::Interpreter::tryCachePutByID):
18300 (JSC::Interpreter::tryCacheGetByID):
18302 (JSC::JITThunks::tryCachePutByID):
18303 (JSC::JITThunks::tryCacheGetByID):
18304 (JSC::DEFINE_STUB_FUNCTION):
18306 (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
18308 (JSC::JSObject::removeDirect):
18310 (JSC::Structure::Structure):
18311 (JSC::Structure::getEnumerablePropertyNames):
18312 (JSC::Structure::despecifyDictionaryFunction):
18313 (JSC::Structure::addPropertyTransitionToExistingStructure):
18314 (JSC::Structure::addPropertyTransition):
18315 (JSC::Structure::removePropertyTransition):
18316 (JSC::Structure::toDictionaryTransition):
18317 (JSC::Structure::toCacheableDictionaryTransition):
18318 (JSC::Structure::toUncacheableDictionaryTransition):
18319 (JSC::Structure::fromDictionaryTransition):
18320 (JSC::Structure::removePropertyWithoutTransition):
18322 (JSC::Structure::isDictionary):
18323 (JSC::Structure::isUncacheableDictionary):
18324 (JSC::Structure::):
18326 (JSC::StructureChain::isCacheable):
18340 (JSC::ObjectConstructor::ObjectConstructor):
18341 (JSC::objectConstructorCreate):
18363 (JSC::Heap::allocateBlock):
18364 (JSC::Heap::freeBlock):
18379 (JSC::ObjectConstructor::ObjectConstructor):
18380 (JSC::defineProperties):
18381 (JSC::objectConstructorDefineProperties):
18418 (JSC::DebuggerActivation::defineGetter):
18419 (JSC::DebuggerActivation::defineSetter):
18422 (JSC::Interpreter::privateExecute):
18427 (JSC::JSArray::getOwnPropertySlot):
18429 (JSC::JSGlobalObject::defineGetter):
18430 (JSC::JSGlobalObject::defineSetter):
18433 (JSC::JSObject::defineGetter):
18434 (JSC::JSObject::defineSetter):
18435 (JSC::putDescriptor):
18436 (JSC::JSObject::defineOwnProperty):
18439 (JSC::ObjectConstructor::ObjectConstructor):
18440 (JSC::objectConstructorGetOwnPropertyDescriptor):
18441 (JSC::toPropertyDescriptor):
18442 (JSC::objectConstructorDefineProperty):
18444 (JSC::objectProtoFuncDefineGetter):
18445 (JSC::objectProtoFuncDefineSetter):
18447 (JSC::PropertyDescriptor::writable):
18448 (JSC::PropertyDescriptor::enumerable):
18449 (JSC::PropertyDescriptor::configurable):
18450 (JSC::PropertyDescriptor::isDataDescriptor):
18451 (JSC::PropertyDescriptor::isGenericDescriptor):
18452 (JSC::PropertyDescriptor::isAccessorDescriptor):
18453 (JSC::PropertyDescriptor::getter):
18454 (JSC::PropertyDescriptor::setter):
18455 (JSC::PropertyDescriptor::setDescriptor):
18456 (JSC::PropertyDescriptor::setAccessorDescriptor):
18457 (JSC::PropertyDescriptor::setWritable):
18458 (JSC::PropertyDescriptor::setEnumerable):
18459 (JSC::PropertyDescriptor::setConfigurable):
18460 (JSC::PropertyDescriptor::setSetter):
18461 (JSC::PropertyDescriptor::setGetter):
18462 (JSC::PropertyDescriptor::equalTo):
18463 (JSC::PropertyDescriptor::attributesEqual):
18464 (JSC::PropertyDescriptor::attributesWithOverride):
18466 (JSC::PropertyDescriptor::PropertyDescriptor):
18467 (JSC::PropertyDescriptor::value):
18468 (JSC::PropertyDescriptor::setValue):
18469 (JSC::PropertyDescriptor::isEmpty):
18470 (JSC::PropertyDescriptor::writablePresent):
18471 (JSC::PropertyDescriptor::enumerablePresent):
18472 (JSC::PropertyDescriptor::configurablePresent):
18473 (JSC::PropertyDescriptor::setterPresent):
18474 (JSC::PropertyDescriptor::getterPresent):
18475 (JSC::PropertyDescriptor::operator==):
18476 (JSC::PropertyDescriptor::):
18486 (JSC::ExecutableAllocator::cacheFlush):
18510 (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
18514 (JSC::JIT::beginUninterruptedSequence):
18515 (JSC::JIT::preserveReturnAddressAfterCall):
18516 (JSC::JIT::restoreReturnAddressBeforeReturn):
18517 (JSC::JIT::restoreArgumentReference):
18518 (JSC::JIT::restoreArgumentReferenceForTrampoline):
18521 (JSC::JITThunks::JITThunks):
18525 (JSC::Yarr::RegexGenerator::generateEnter):
18589 (JSC::ARMThumbImmediate::countLeadingZerosPartial):
18591 (JSC::MacroAssemblerARMv7::branchTruncateDoubleToInt32):
18592 (JSC::MacroAssemblerARMv7::moveFixedWidthEncoding):
18689 (JSC::JSObject::putAnonymousValue):
18690 (JSC::JSObject::getAnonymousValue):
18691 (JSC::JSObject::addAnonymousSlots):
18693 (JSC::JSWrapperObject::createStructure):
18694 (JSC::JSWrapperObject::JSWrapperObject):
18695 (JSC::JSWrapperObject::setInternalValue):
18698 (JSC::Structure::~Structure):
18699 (JSC::Structure::materializePropertyMap):
18700 (JSC::Structure::addAnonymousSlotsTransition):
18701 (JSC::Structure::copyPropertyTable):
18702 (JSC::Structure::put):
18703 (JSC::Structure::rehashPropertyMapHashTable):
18705 (JSC::Structure::propertyStorageSize):
18706 (JSC::StructureTransitionTable::reifySingleTransition):
18708 (JSC::StructureTransitionTable::TransitionTable::addSlotTransition):
18709 (JSC::StructureTransitionTable::TransitionTable::removeSlotTransition):
18710 (JSC::StructureTransitionTable::TransitionTable::getSlotTransition):
18711 (JSC::StructureTransitionTable::getAnonymousSlotTransition):
18712 (JSC::StructureTransitionTable::addAnonymousSlotTransition):
18713 (JSC::StructureTransitionTable::removeAnonymousSlotTransition):
18733 (JSC::Heap::allocateBlock): MinGW case added.
18734 (JSC::Heap::freeBlock): MinGW case added.
18755 (JSC::isVFPPresent):
18757 (JSC::MacroAssemblerARM::supportsFloatingPoint):
18817 (JSC::::getOwnPropertyNames):
18820 (JSC::DebuggerActivation::getOwnPropertyNames):
18824 (JSC::JSArray::getOwnPropertyNames):
18827 (JSC::JSByteArray::getOwnPropertyNames):
18830 (JSC::JSNotAnObject::getOwnPropertyNames):
18833 (JSC::JSObject::getOwnPropertyNames):
18836 (JSC::JSVariableObject::getOwnPropertyNames):
18839 (JSC::ObjectConstructor::ObjectConstructor):
18840 (JSC::objectConstructorKeys):
18842 (JSC::RegExpMatchesArray::getOwnPropertyNames):
18844 (JSC::StringObject::getOwnPropertyNames):
18847 (JSC::Structure::getOwnEnumerablePropertyNames):
18848 (JSC::Structure::getEnumerablePropertyNames):
18862 (JSC::JSCallbackConstructor::createStructure):
18864 (JSC::DebuggerActivation::createStructure):
18866 (JSC::BooleanObject::createStructure):
18868 (JSC::DatePrototype::createStructure):
18870 (JSC::FunctionPrototype::createStructure):
18872 (JSC::JSONObject::createStructure):
18874 (JSC::JSObject::createStructure):
18876 (JSC::TypeInfo::hasDefaultGetPropertyNames):
18878 (JSC::JSVariableObject::createStructure):
18880 (JSC::JSWrapperObject::createStructure):
18882 (JSC::MathObject::createStructure):
18884 (JSC::NumberConstructor::createStructure):
18886 (JSC::NumberObject::createStructure):
18888 (JSC::RegExpConstructor::createStructure):
18890 (JSC::RegExpObject::createStructure):
18892 (JSC::StructureChain::isCacheable):
18901 * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
18905 * runtime/Collector.cpp: (JSC::Heap::registerThread): JSC API methods always call this,
18982 (JSC::StructureTransitionTable::StructureTransitionTable):
18983 (JSC::StructureTransitionTable::usingSingleTransitionSlot):
18984 (JSC::StructureTransitionTable::):
18996 (JSC::Structure::Structure):
18997 (JSC::Structure::~Structure):
18998 (JSC::Structure::addPropertyTransitionToExistingStructure):
18999 (JSC::Structure::addPropertyTransition):
19000 (JSC::Structure::addPropertyWithoutTransition):
19001 (JSC::Structure::removePropertyWithoutTransition):
19002 (JSC::Structure::hasTransition):
19004 (JSC::StructureTransitionTable::contains):
19005 (JSC::StructureTransitionTable::get):
19006 (JSC::StructureTransitionTable::hasTransition):
19007 (JSC::StructureTransitionTable::reifySingleTransition):
19009 (JSC::StructureTransitionTable::StructureTransitionTable):
19010 (JSC::StructureTransitionTable::~StructureTransitionTable):
19011 (JSC::StructureTransitionTable::remove):
19012 (JSC::StructureTransitionTable::add):
19013 (JSC::StructureTransitionTable::table):
19014 (JSC::StructureTransitionTable::singleTransition):
19015 (JSC::StructureTransitionTable::usingSingleTransitionSlot):
19016 (JSC::StructureTransitionTable::setSingleTransition):
19017 (JSC::StructureTransitionTable::setTransitionTable):
19018 (JSC::StructureTransitionTable::):
19073 (JSC::ExecutableAllocator::cacheFlush):
19092 (JSC::ExecutableAllocator::cacheFlush): Call IMB_Range to flush
19120 (JSC::dateProtoFuncToISOString):
19241 (JSC::Heap::markConservatively): Removed unneeded call to MarkStack::drain.
19242 (JSC::Heap::markProtectedObjects): Removed unneeded check of the mark
19244 (JSC::Heap::collect): Removed unneeded checks of the mark bit and also
19247 (JSC::typeName): Removed unneeded cast to JSObject*.
19250 (JSC::asArray): Added an overload for JSCell* and changed the JSValue
19252 (JSC::JSArray::markChildrenDirect): Marked this function inline. It's in
19254 (JSC::MarkStack::markChildren): Added. This helper function is used by
19261 (JSC::MarkStack::drain): Changed a local variable from "v" to "value",
19271 (JSC::MarkStack::append): Added the assertion that catches callers
19280 (JSC::Structure::markAggregate): Moved this function here to avoid
19284 (JSC::JSObject::markChildren): Added code to clear
19294 (JSC::JSWrapperObject::createStructure): Added. Fixes a bug where the
19303 (JSC::SmallStrings::markChildren): Changed the name and style of this
19335 (JSC::CodeBlock::markAggregate): Removed unneeded check of the mark
19348 (JSC::GetterSetter::markChildren): Remmoved unneeded check of the mark bit.
19351 (JSC::GlobalEvalFunction::createStructure): Added. Fixes a bug where the
19355 (JSC::JSCell::getObject): Use asObject to avoid a direct static_cast.
19358 (JSC::asObject): Added an overload for JSCell* and changed the JSValue
19360 (JSC::JSValue::get): Use asObject to avoid a direct static_cast.
19363 (JSC::JSWrapperObject::createStructure): Added. Fixes a bug where the
19417 (JSC::ExecutablePool::systemAlloc):
19419 (JSC::ExecutablePool::systemAlloc):
19448 (JSC::RegisterFile::~RegisterFile):
19450 (JSC::RegisterFile::RegisterFile):
19460 (JSC::Parser::parse):
19473 (JSC::unwrapBoxedPrimitive):
19474 (JSC::gap):
19475 (JSC::Stringifier::Stringifier):
19476 (JSC::Stringifier::appendStringifiedValue):
19489 (JSC::Identifier::from):
19491 (JSC::Stringifier::Stringifier):
19525 (JSC::Heap::allocateBlock):
19544 (JSC::MacroAssemblerX86Common::move):
19546 (JSC::CAN_SIGN_EXTEND_8_32):
19559 (JSC::Identifier::from):
19561 (JSC::Stringifier::Stringifier):
19573 (JSC::LiteralParser::parse):
19593 (JSC::Walker::callReviver):
19595 (JSC::Walker::walk):
19631 (JSC::MacroAssemblerX86_64::storePtr):
19632 (JSC::MacroAssemblerX86_64::branchPtr):
19645 (JSC::JSCell::toPrimitive):
19646 (JSC::JSCell::getPrimitiveNumber):
19647 (JSC::JSCell::toBoolean):
19648 (JSC::JSCell::toNumber):
19649 (JSC::JSCell::toString):
19650 (JSC::JSCell::toObject): Removed pure virtual functions from
19656 (JSC::JSCell::JSCell): ditto
19657 (JSC::Heap::heap): Inlined this function because it's trivial.
19662 (JSC::Heap::destroy):
19663 (JSC::Heap::allocateBlock):
19664 (JSC::Heap::freeBlock):
19665 (JSC::Heap::freeBlocks): Renamed freeHeap to freeBlocks, since
19667 (JSC::Heap::heapAllocate):
19668 (JSC::Heap::sweep):
19684 (JSC::Heap::sweep):
19701 (JSC::Heap::heapAllocate): Fixed a long-standing bug: update a few local
19705 (JSC::Heap::sweep): Keep enough free heap space to accomodate
19746 Hopefully fix all the exports from JSC on windows
19780 (JSC::Arguments::getOwnPropertyDescriptor):
19783 (JSC::ArrayPrototype::getOwnPropertyDescriptor):
19787 (JSC::DatePrototype::getOwnPropertyDescriptor):
19790 (JSC::JSArray::getOwnPropertyDescriptor):
19793 (JSC::JSByteArray::getOwnPropertyDescriptor):
19796 (JSC::JSFunction::getOwnPropertyDescriptor):
19799 (JSC::JSGlobalObject::getOwnPropertyDescriptor):
19801 (JSC::JSNotAnObject::getOwnPropertyDescriptor):
19804 (JSC::JSONObject::getOwnPropertySlot):
19805 (JSC::JSONObject::getOwnPropertyDescriptor):
19808 (JSC::JSObject::getOwnPropertyDescriptor):
19809 (JSC::JSObject::getPropertyDescriptor):
19812 (JSC::JSString::getStringPropertyDescriptor):
19813 (JSC::JSString::getOwnPropertyDescriptor):
19816 (JSC::JSVariableObject::symbolTableGet):
19819 (JSC::getStaticPropertyDescriptor):
19820 (JSC::getStaticFunctionDescriptor):
19821 (JSC::getStaticValueDescriptor):
19826 (JSC::MathObject::getOwnPropertySlot):
19827 (JSC::MathObject::getOwnPropertyDescriptor):
19830 (JSC::NumberConstructor::getOwnPropertyDescriptor):
19833 (JSC::ObjectConstructor::ObjectConstructor):
19834 (JSC::objectConstructorGetOwnPropertyDescriptor):
19836 (JSC::PropertyDescriptor::writable):
19837 (JSC::PropertyDescriptor::enumerable):
19838 (JSC::PropertyDescriptor::configurable):
19839 (JSC::PropertyDescriptor::hasAccessors):
19840 (JSC::PropertyDescriptor::setUndefined):
19841 (JSC::PropertyDescriptor::getter):
19842 (JSC::PropertyDescriptor::setter):
19843 (JSC::PropertyDescriptor::setDescriptor):
19844 (JSC::PropertyDescriptor::setAccessorDescriptor):
19846 (JSC::PropertyDescriptor::PropertyDescriptor):
19847 (JSC::PropertyDescriptor::attributes):
19848 (JSC::PropertyDescriptor::isValid):
19849 (JSC::PropertyDescriptor::value):
19851 (JSC::RegExpConstructor::getOwnPropertyDescriptor):
19854 (JSC::RegExpMatchesArray::getOwnPropertyDescriptor):
19856 (JSC::RegExpObject::getOwnPropertyDescriptor):
19859 (JSC::StringObject::getOwnPropertyDescriptor):
19862 (JSC::StringPrototype::getOwnPropertyDescriptor):
19872 The function parameters in JSC get copied a lot - and unnecessarily so.
19888 (JSC::BytecodeGenerator::BytecodeGenerator):
19890 (JSC::BytecodeGenerator::makeFunction):
19892 (JSC::FunctionParameters::FunctionParameters):
19893 (JSC::FunctionBodyNode::FunctionBodyNode):
19894 (JSC::FunctionBodyNode::finishParsing):
19896 (JSC::FunctionBodyNode::parameters):
19897 (JSC::FunctionBodyNode::parameterCount):
19899 (JSC::FunctionExecutable::~FunctionExecutable):
19900 (JSC::FunctionExecutable::compile):
19901 (JSC::FunctionExecutable::reparseExceptionInfo):
19902 (JSC::FunctionExecutable::fromGlobalCode):
19903 (JSC::FunctionExecutable::paramString):
19905 (JSC::FunctionExecutable::FunctionExecutable):
19906 (JSC::FunctionExecutable::parameterCount):
19961 (JSC::EvalCodeCache::get):
19963 (JSC::BytecodeGenerator::BytecodeGenerator):
19964 (JSC::BytecodeGenerator::emitNewFunction):
19965 (JSC::BytecodeGenerator::emitNewFunctionExpression):
19967 (JSC::BytecodeGenerator::makeFunction):
19969 (JSC::Debugger::recompileAllJSFunctions):
19970 (JSC::evaluateInGlobalCallFrame):
19972 (JSC::DebuggerCallFrame::evaluate):
19974 (JSC::Interpreter::execute):
19975 (JSC::Interpreter::prepareForRepeatCall):
19976 (JSC::Interpreter::privateExecute):
19978 (JSC::DEFINE_STUB_FUNCTION):
19980 (JSC::ScopeNodeData::ScopeNodeData):
19981 (JSC::ProgramNode::create):
19982 (JSC::EvalNode::create):
19983 (JSC::FunctionBodyNode::create):
19985 (JSC::ScopeNode::adoptData):
19986 (JSC::FunctionBodyNode::parameterCount):
19989 (JSC::Parser::arena):
19990 (JSC::Parser::Parser):
19991 (JSC::Parser::parse):
19993 (JSC::isNumericCompareFunction):
19994 (JSC::arrayProtoFuncSort):
19996 (JSC::checkSyntax):
19997 (JSC::evaluate):
19999 (JSC::FunctionExecutable::~FunctionExecutable):
20000 (JSC::EvalExecutable::compile):
20001 (JSC::ProgramExecutable::checkSyntax):
20002 (JSC::ProgramExecutable::compile):
20003 (JSC::FunctionExecutable::compile):
20004 (JSC::EvalExecutable::generateJITCode):
20005 (JSC::ProgramExecutable::generateJITCode):
20006 (JSC::FunctionExecutable::generateJITCode):
20007 (JSC::FunctionExecutable::reparseExceptionInfo):
20008 (JSC::EvalExecutable::reparseExceptionInfo):
20009 (JSC::FunctionExecutable::recompile):
20010 (JSC::FunctionExecutable::fromGlobalCode):
20011 (JSC::FunctionExecutable::copyParameters):
20012 (JSC::FunctionExecutable::paramString):
20014 (JSC::ScriptExecutable::ScriptExecutable):
20015 (JSC::ScriptExecutable::sourceID):
20016 (JSC::ScriptExecutable::sourceURL):
20017 (JSC::ScriptExecutable::lineNo):
20018 (JSC::ScriptExecutable::lastLine):
20019 (JSC::ScriptExecutable::usesEval):
20020 (JSC::ScriptExecutable::usesArguments):
20021 (JSC::ScriptExecutable::needsActivation):
20022 (JSC::ScriptExecutable::recordParse):
20023 (JSC::EvalExecutable::bytecode):
20024 (JSC::EvalExecutable::jitCode):
20025 (JSC::ProgramExecutable::bytecode):
20026 (JSC::ProgramExecutable::reparseExceptionInfo):
20027 (JSC::ProgramExecutable::jitCode):
20028 (JSC::FunctionExecutable::FunctionExecutable):
20029 (JSC::FunctionExecutable::make):
20030 (JSC::FunctionExecutable::bytecode):
20031 (JSC::FunctionExecutable::isGenerated):
20032 (JSC::FunctionExecutable::name):
20033 (JSC::FunctionExecutable::parameterCount):
20034 (JSC::FunctionExecutable::jitCode):
20036 (JSC::constructFunction):
20038 (JSC::JSGlobalData::numericCompareFunction):
20040 (JSC::globalFuncEval):
20045 (JSC::ObjectPrototype::put): Landed revised version I had tested but forgot
20063 (JSC::ObjectPrototype::ObjectPrototype): Initialize m_hasNoPropertiesWithUInt32Names
20065 (JSC::ObjectPrototype::put): Clearly m_hasNoPropertiesWithUInt32Names if the new
20067 (JSC::ObjectPrototype::getOwnPropertySlot): Don't call JSObject::getOwnPropertySlot
20092 (JSC::JSFunction::JSFunction): Initialize properly with a VPtrHackExecutable.
20107 (JSC::ScopeNodeData::ScopeNodeData): Made non-inline again.
20140 (JSC::BytecodeGenerator::BytecodeGenerator): Updated since VarStack
20147 (JSC::Lexer::setCode): Pass in ParserArena, used for identifiers.
20148 (JSC::Lexer::makeIdentifier): Changed return type to const Identifier*
20150 (JSC::Lexer::clear): Removed the code to manage m_identifiers and
20155 (JSC::ParserArenaFreeable::operator new): Added. Calls allocateFreeable
20157 (JSC::ParserArenaDeletable::operator new): Changed to call the
20159 (JSC::PropertyNode::PropertyNode): Added new constructor that makes
20162 (JSC::ContinueNode::ContinueNode): Initialize m_ident to nullIdentifier
20164 (JSC::BreakNode::BreakNode): Ditto.
20165 (JSC::CaseClauseNode::CaseClauseNode): Updated to use SourceElements*
20167 (JSC::BlockNode::BlockNode): Ditto.
20168 (JSC::ForInNode::ForInNode): Initialize m_ident to nullIdentifier.
20172 (JSC::ThrowableExpressionData::emitThrowError): Added an overload for
20174 (JSC::SourceElements::singleStatement): Added.
20175 (JSC::SourceElements::lastStatement): Added.
20176 (JSC::RegExpNode::emitBytecode): Changed the throwError code to use
20178 (JSC::SourceElements::emitBytecode): Added. Replaces the old
20181 (JSC::BlockNode::lastStatement): Added.
20182 (JSC::BlockNode::emitBytecode): Changed to use emitBytecode instead of
20184 (JSC::CaseClauseNode::emitBytecode): Added.
20185 (JSC::CaseBlockNode::emitBytecodeForBlock): Changed to use emitBytecode
20187 (JSC::ScopeNodeData::ScopeNodeData): Changed to store the
20189 (JSC::ScopeNode::emitStatementsBytecode): Added.
20190 (JSC::ScopeNode::singleStatement): Added.
20191 (JSC::ProgramNode::emitBytecode): Call emitStatementsBytecode instead
20193 (JSC::EvalNode::emitBytecode): Ditto.
20194 (JSC::FunctionBodyNode::emitBytecode): Call emitStatementsBytecode
20214 (JSC::Parser::parse): Pass the arena to the lexer.
20218 (JSC::Parser::parseFunctionFromGlobalCode): Changed to use the
20223 (JSC::ParserArena::ParserArena): Added. Initializes the new members,
20225 (JSC::ParserArena::freeablePool): Added. Computes the pool pointer,
20227 (JSC::ParserArena::deallocateObjects): Added. Contains the common
20230 (JSC::ParserArena::~ParserArena): Changed to call deallocateObjects.
20231 (JSC::ParserArena::reset): Ditto. Also added code to zero out the
20234 (JSC::ParserArena::makeNumericIdentifier): Added.
20235 (JSC::ParserArena::allocateFreeablePool): Added. Used when the pool
20237 (JSC::ParserArena::isEmpty): Added. No longer inline, which is fine
20239 (JSC::ParserArena::derefWithArena): Make non-inline.
20334 (JSC::CodeBlock::CodeBlock):
20336 (JSC::CodeBlock::ownerExecutable):
20337 (JSC::GlobalCodeBlock::GlobalCodeBlock):
20339 (JSC::EvalCodeCache::get):
20341 (JSC::Debugger::recompileAllJSFunctions):
20343 (JSC::CachedCall::CachedCall):
20345 (JSC::Interpreter::callEval):
20346 (JSC::Interpreter::privateExecute):
20348 (JSC::DEFINE_STUB_FUNCTION):
20350 (JSC::createCallIdentifierFromFunctionImp):
20352 (JSC::Arguments::getArgumentsData):
20353 (JSC::Arguments::Arguments):
20355 (JSC::NativeExecutable::~NativeExecutable):
20356 (JSC::VPtrHackExecutable::~VPtrHackExecutable):
20358 (JSC::ExecutableBase::ExecutableBase):
20359 (JSC::ExecutableBase::~ExecutableBase):
20360 (JSC::ExecutableBase::isHostFunction):
20361 (JSC::NativeExecutable::NativeExecutable):
20362 (JSC::VPtrHackExecutable::VPtrHackExecutable):
20363 (JSC::ScriptExecutable::ScriptExecutable):
20364 (JSC::ScriptExecutable::source):
20365 (JSC::ScriptExecutable::sourceID):
20366 (JSC::ScriptExecutable::sourceURL):
20367 (JSC::ScriptExecutable::lineNo):
20368 (JSC::ScriptExecutable::lastLine):
20369 (JSC::ScriptExecutable::usesEval):
20370 (JSC::ScriptExecutable::usesArguments):
20371 (JSC::ScriptExecutable::needsActivation):
20372 (JSC::EvalExecutable::EvalExecutable):
20373 (JSC::EvalExecutable::create):
20374 (JSC::ProgramExecutable::ProgramExecutable):
20375 (JSC::FunctionExecutable::FunctionExecutable):
20377 (JSC::functionProtoFuncToString):
20379 (JSC::JSFunction::JSFunction):
20380 (JSC::JSFunction::~JSFunction):
20381 (JSC::JSFunction::markChildren):
20382 (JSC::JSFunction::getCallData):
20383 (JSC::JSFunction::call):
20384 (JSC::JSFunction::lengthGetter):
20385 (JSC::JSFunction::getConstructData):
20386 (JSC::JSFunction::construct):
20388 (JSC::JSFunction::executable):
20389 (JSC::JSFunction::jsExecutable):
20390 (JSC::JSFunction::isHostFunction):
20410 (JSC::CodeBlock::CodeBlock):
20412 (JSC::CodeBlock::symbolTable):
20413 (JSC::CodeBlock::sharedSymbolTable):
20414 (JSC::GlobalCodeBlock::GlobalCodeBlock):
20415 (JSC::FunctionCodeBlock::FunctionCodeBlock):
20416 (JSC::FunctionCodeBlock::~FunctionCodeBlock):
20418 (JSC::Interpreter::retrieveArguments):
20420 (JSC::EvalExecutable::generateBytecode):
20421 (JSC::FunctionExecutable::generateBytecode):
20422 (JSC::FunctionExecutable::reparseExceptionInfo):
20423 (JSC::EvalExecutable::reparseExceptionInfo):
20425 (JSC::JSActivation::JSActivationData::JSActivationData):
20426 (JSC::JSActivation::JSActivationData::~JSActivationData):
20447 (JSC::JSNumberCell::toString):
20448 (JSC::JSNumberCell::toThisString): Removed -0 special case.
20453 (JSC::JSValue::toString): Use the cache when converting
20457 (JSC::concatenateStrings): Call toString to take advantage
20461 (JSC::NumericStrings::add):
20462 (JSC::NumericStrings::lookup): The cache.
20465 (JSC::UString::from): Added -0 special case mentioned above.
20486 (JSC::Arguments::getArgumentsData):
20488 (JSC::FunctionExecutable::generateBytecode):
20490 (JSC::FunctionExecutable::FunctionExecutable):
20491 (JSC::FunctionExecutable::variableCount):
20493 (JSC::JSActivation::markChildren):
20513 (JSC::JIT::compileOpCallSetupArgs):
20514 (JSC::JIT::compileOpConstructSetupArgs):
20515 (JSC::JIT::compileOpCallVarargsSetupArgs):
20516 (JSC::JIT::compileOpCall):
20518 (JSC::JIT::emitPutJITStubArg):
20519 (JSC::JIT::emitPutJITStubArgConstant):
20520 (JSC::JIT::emitGetJITStubArg):
20521 (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
20523 (JSC::JIT::privateCompileCTIMachineTrampolines):
20525 (JSC::JIT::privateCompilePutByIdTransition):
20537 (JSC::Structure::hasTransition):
20539 (JSC::Structure::get):
20540 (JSC::StructureTransitionTable::contains):
20542 (JSC::StructureTransitionTable::add):
20578 (JSC::JSObject::putDirectInternal):
20580 (JSC::Structure::~Structure):
20581 (JSC::Structure::addPropertyTransitionToExistingStructure):
20582 (JSC::Structure::addPropertyTransition):
20583 (JSC::Structure::hasTransition):
20585 (JSC::Structure::transitionedFor):
20586 (JSC::Structure::hasTransition):
20587 (JSC::Structure::):
20588 (JSC::StructureTransitionTable::contains):
20589 (JSC::StructureTransitionTable::get):
20591 (JSC::StructureTransitionTableHashTraits::emptyValue):
20592 (JSC::StructureTransitionTable::hasTransition):
20593 (JSC::StructureTransitionTable::remove):
20594 (JSC::StructureTransitionTable::add):
20620 (JSC::CodeBlock::derefStructures):
20621 (JSC::CodeBlock::refStructures):
20622 (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
20623 (JSC::CodeBlock::handlerForBytecodeOffset):
20624 (JSC::CodeBlock::lineNumberForBytecodeOffset):
20625 (JSC::CodeBlock::expressionRangeForBytecodeOffset):
20626 (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
20627 (JSC::CodeBlock::functionRegisterForBytecodeOffset):
20628 (JSC::CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset):
20629 (JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
20631 (JSC::):
20632 (JSC::CodeBlock::source):
20633 (JSC::CodeBlock::sourceOffset):
20634 (JSC::CodeBlock::evalCodeCache):
20635 (JSC::CodeBlock::createRareDataIfNecessary):
20640 (JSC::JIT::linkCall):
20645 (JSC::JIT::compileOpCallInitializeCallFrame):
20646 (JSC::JIT::compileOpCallSetupArgs):
20647 (JSC::JIT::compileOpCallVarargsSetupArgs):
20648 (JSC::JIT::compileOpConstructSetupArgs):
20649 (JSC::JIT::compileOpCallVarargs):
20650 (JSC::JIT::compileOpCall):
20651 (JSC::JIT::compileOpCallSlowCase):
20656 (JSC::JIT::privateCompileCTIMachineTrampolines):
20661 (JSC::DEFINE_STUB_FUNCTION):
20666 (JSC::FunctionExecutable::generateBytecode):
20667 (JSC::FunctionExecutable::recompile):
20668 (JSC::FunctionExecutable::FunctionExecutable):
20670 (JSC::ExecutableBase::):
20671 (JSC::ExecutableBase::ExecutableBase):
20672 (JSC::FunctionExecutable::isHostFunction):
20677 (JSC::JSFunction::~JSFunction):
20733 (JSC::NumberObject::createStructure):
20746 (JSC::EvalCodeBlock::variable):
20747 (JSC::EvalCodeBlock::numVariables):
20748 (JSC::EvalCodeBlock::adoptVariables):
20750 (JSC::BytecodeGenerator::BytecodeGenerator):
20752 (JSC::Interpreter::execute):
20755 (JSC::EvalExecutable::generateBytecode):
20782 (JSC::Structure::addPropertyTransitionToExistingStructure):
20829 (JSC::CodeBlock::CodeBlock):
20830 (JSC::CodeBlock::markAggregate):
20831 (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
20832 (JSC::CodeBlock::lineNumberForBytecodeOffset):
20833 (JSC::CodeBlock::shrinkToFit):
20835 (JSC::CodeBlock::getBytecodeIndex):
20836 (JSC::CodeBlock::discardBytecode):
20837 (JSC::CodeBlock::instructionCount):
20838 (JSC::CodeBlock::getJITCode):
20839 (JSC::CodeBlock::executablePool):
20840 (JSC::CodeBlock::ownerExecutable):
20841 (JSC::CodeBlock::extractExceptionInfo):
20842 (JSC::CodeBlock::addFunctionDecl):
20843 (JSC::CodeBlock::functionDecl):
20844 (JSC::CodeBlock::numberOfFunctionDecls):
20845 (JSC::CodeBlock::addFunctionExpr):
20846 (JSC::CodeBlock::functionExpr):
20847 (JSC::GlobalCodeBlock::GlobalCodeBlock):
20848 (JSC::ProgramCodeBlock::ProgramCodeBlock):
20849 (JSC::EvalCodeBlock::EvalCodeBlock):
20850 (JSC::FunctionCodeBlock::FunctionCodeBlock):
20851 (JSC::NativeCodeBlock::NativeCodeBlock):
20854 (JSC::SamplingTool::doRun):
20856 (JSC::BytecodeGenerator::BytecodeGenerator):
20857 (JSC::BytecodeGenerator::emitNewFunction):
20858 (JSC::BytecodeGenerator::emitNewFunctionExpression):
20861 (JSC::Debugger::recompileAllJSFunctions):
20863 (JSC::CachedCall::CachedCall):
20866 (JSC::Interpreter::unwindCallFrame):
20867 (JSC::Interpreter::throwException):
20868 (JSC::Interpreter::execute):
20869 (JSC::Interpreter::prepareForRepeatCall):
20870 (JSC::Interpreter::debug):
20871 (JSC::Interpreter::privateExecute):
20872 (JSC::Interpreter::retrieveLastCaller):
20875 (JSC::JIT::privateCompile):
20877 (JSC::JIT::compile):
20879 (JSC::JIT::privateCompileCTIMachineTrampolines):
20880 (JSC::JIT::emit_op_new_func):
20881 (JSC::JIT::emit_op_new_func_exp):
20883 (JSC::DEFINE_STUB_FUNCTION):
20885 (JSC::):
20887 (JSC::FunctionBodyNode::reparseDataIfNecessary):
20889 (JSC::EvalNode::partialDestroyData):
20893 (JSC::Profiler::createCallIdentifier):
20894 (JSC::createCallIdentifierFromFunctionImp):
20896 (JSC::Arguments::getArgumentsData):
20897 (JSC::Arguments::Arguments):
20898 (JSC::JSActivation::copyRegisters):
20900 (JSC::isNumericCompareFunction):
20902 (JSC::):
20904 (JSC::Heap::collect):
20906 (JSC::):
20908 (JSC::createUndefinedVariableError):
20909 (JSC::createInvalidParamError):
20910 (JSC::createNotAConstructorError):
20911 (JSC::createNotAFunctionError):
20912 (JSC::createNotAnObjectError):
20914 (JSC::EvalExecutable::generateBytecode):
20915 (JSC::ProgramExecutable::generateBytecode):
20916 (JSC::FunctionExecutable::generateBytecode):
20917 (JSC::EvalExecutable::generateJITCode):
20918 (JSC::ProgramExecutable::generateJITCode):
20919 (JSC::FunctionExecutable::generateJITCode):
20920 (JSC::FunctionExecutable::isHostFunction):
20921 (JSC::FunctionExecutable::markAggregate):
20922 (JSC::FunctionExecutable::reparseExceptionInfo):
20923 (JSC::EvalExecutable::reparseExceptionInfo):
20924 (JSC::FunctionExecutable::recompile):
20925 (JSC::FunctionExecutable::FunctionExecutable):
20927 (JSC::ExecutableBase::~ExecutableBase):
20928 (JSC::ExecutableBase::ExecutableBase):
20929 (JSC::ExecutableBase::source):
20930 (JSC::ExecutableBase::sourceID):
20931 (JSC::ExecutableBase::lastLine):
20932 (JSC::ExecutableBase::usesEval):
20933 (JSC::ExecutableBase::usesArguments):
20934 (JSC::ExecutableBase::needsActivation):
20935 (JSC::ExecutableBase::astNode):
20936 (JSC::ExecutableBase::generatedJITCode):
20937 (JSC::ExecutableBase::getExecutablePool):
20938 (JSC::EvalExecutable::EvalExecutable):
20939 (JSC::EvalExecutable::bytecode):
20940 (JSC::EvalExecutable::varStack):
20941 (JSC::EvalExecutable::evalNode):
20942 (JSC::EvalExecutable::jitCode):
20943 (JSC::ProgramExecutable::ProgramExecutable):
20944 (JSC::ProgramExecutable::reparseExceptionInfo):
20945 (JSC::ProgramExecutable::bytecode):
20946 (JSC::ProgramExecutable::programNode):
20947 (JSC::ProgramExecutable::jitCode):
20948 (JSC::FunctionExecutable::FunctionExecutable):
20949 (JSC::FunctionExecutable::name):
20950 (JSC::FunctionExecutable::bytecode):
20951 (JSC::FunctionExecutable::generatedBytecode):
20952 (JSC::FunctionExecutable::usesEval):
20953 (JSC::FunctionExecutable::usesArguments):
20954 (JSC::FunctionExecutable::parameterCount):
20955 (JSC::FunctionExecutable::paramString):
20956 (JSC::FunctionExecutable::isGenerated):
20957 (JSC::FunctionExecutable::body):
20958 (JSC::FunctionExecutable::jitCode):
20959 (JSC::FunctionExecutable::createNativeThunk):
20961 (JSC::constructFunction):
20963 (JSC::functionProtoFuncToString):
20965 (JSC::JSActivation::JSActivation):
20966 (JSC::JSActivation::markChildren):
20967 (JSC::JSActivation::isDynamicScope):
20968 (JSC::JSActivation::argumentsGetter):
20970 (JSC::JSActivation::JSActivationData::JSActivationData):
20972 (JSC::JSFunction::isHostFunction):
20973 (JSC::JSFunction::JSFunction):
20974 (JSC::JSFunction::~JSFunction):
20975 (JSC::JSFunction::markChildren):
20976 (JSC::JSFunction::getCallData):
20977 (JSC::JSFunction::call):
20978 (JSC::JSFunction::lengthGetter):
20979 (JSC::JSFunction::getConstructData):
20980 (JSC::JSFunction::construct):
20982 (JSC::JSFunction::executable):
20983 (JSC::FunctionExecutable::make):
20985 (JSC::JSGlobalData::JSGlobalData):
20986 (JSC::JSGlobalData::numericCompareFunction):
21002 (JSC::EvalCodeCache::get):
21004 (JSC::Interpreter::callEval):
21006 (JSC::CacheableEvalExecutable::create):
21007 (JSC::CacheableEvalExecutable::CacheableEvalExecutable):
21023 (JSC::Arguments::Arguments):
21025 (JSC::JSGlobalObject::reset):
21026 (JSC::JSGlobalObject::markChildren):
21028 (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
21030 (JSC::ObjectPrototype::ObjectPrototype):
21073 (JSC::Yarr::Interpreter::parenthesesDoBacktrack):
21074 (JSC::Yarr::Interpreter::backtrackParentheses):
21086 (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext):
21087 (JSC::Yarr::Interpreter::tryConsumeCharacter):
21088 (JSC::Yarr::Interpreter::tryConsumeBackReference):
21089 (JSC::Yarr::Interpreter::parenthesesDoBacktrack):
21090 (JSC::Yarr::Interpreter::backtrackParentheses):
21091 (JSC::Yarr::ByteCompiler::ByteCompiler):
21092 (JSC::Yarr::ByteCompiler::compile):
21093 (JSC::Yarr::ByteCompiler::checkInput):
21094 (JSC::Yarr::ByteCompiler::assertionBOL):
21095 (JSC::Yarr::ByteCompiler::assertionEOL):
21096 (JSC::Yarr::ByteCompiler::assertionWordBoundary):
21097 (JSC::Yarr::ByteCompiler::atomPatternCharacter):
21098 (JSC::Yarr::ByteCompiler::atomCharacterClass):
21099 (JSC::Yarr::ByteCompiler::atomBackReference):
21100 (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin):
21101 (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin):
21102 (JSC::Yarr::ByteCompiler::popParenthesesStack):
21103 (JSC::Yarr::ByteCompiler::closeAlternative):
21104 (JSC::Yarr::ByteCompiler::closeBodyAlternative):
21105 (JSC::Yarr::ByteCompiler::atomParenthesesEnd):
21106 (JSC::Yarr::ByteCompiler::regexBegin):
21107 (JSC::Yarr::ByteCompiler::alterantiveBodyDisjunction):
21108 (JSC::Yarr::ByteCompiler::alterantiveDisjunction):
21109 (JSC::Yarr::ByteCompiler::emitDisjunction):
21131 (JSC::EvalExecutable::parse):
21132 (JSC::ProgramExecutable::parse):
21152 (JSC::GlobalCodeBlock::GlobalCodeBlock):
21153 (JSC::GlobalCodeBlock::~GlobalCodeBlock):
21154 (JSC::ProgramCodeBlock::ProgramCodeBlock):
21155 (JSC::EvalCodeBlock::EvalCodeBlock):
21156 (JSC::FunctionCodeBlock::FunctionCodeBlock):
21157 (JSC::NativeCodeBlock::NativeCodeBlock):
21159 (JSC::EvalCodeCache::get):
21161 (JSC::evaluateInGlobalCallFrame):
21163 (JSC::DebuggerCallFrame::evaluate):
21165 (JSC::Interpreter::callEval):
21166 (JSC::Interpreter::execute):
21169 (JSC::FunctionBodyNode::createNativeThunk):
21170 (JSC::FunctionBodyNode::generateBytecode):
21171 (JSC::FunctionBodyNode::bytecodeForExceptionInfoReparse):
21173 (JSC::Parser::parse):
21174 (JSC::Parser::reparse):
21175 (JSC::Parser::parseFunctionFromGlobalCode):
21176 (JSC::::parse):
21178 (JSC::checkSyntax):
21179 (JSC::evaluate):
21181 (JSC::throwError):
21184 (JSC::TemplateExecutable::TemplateExecutable):
21185 (JSC::TemplateExecutable::markAggregate):
21186 (JSC::TemplateExecutable::sourceURL):
21187 (JSC::TemplateExecutable::lineNo):
21188 (JSC::TemplateExecutable::bytecode):
21189 (JSC::TemplateExecutable::jitCode):
21190 (JSC::EvalExecutable::EvalExecutable):
21191 (JSC::ProgramExecutable::ProgramExecutable):
21193 (JSC::constructFunction):
21196 (JSC::JSGlobalData::numericCompareFunction):
21198 (JSC::JSGlobalObject::~JSGlobalObject):
21199 (JSC::JSGlobalObject::markChildren):
21201 (JSC::JSGlobalObject::codeBlocks):
21203 (JSC::globalFuncEval):
21213 (JSC::arrayConstructorIsArray): Removed unneeded isObject call
21224 (JSC::JSCell::inherits): Updated name.
21225 (JSC::JSValue::inherits): Ditto.
21228 (JSC::Debugger::recompileAllJSFunctions):
21230 (JSC::Interpreter::unwindCallFrame):
21232 (JSC::arrayProtoFuncToString):
21233 (JSC::arrayProtoFuncToLocaleString):
21234 (JSC::arrayProtoFuncConcat):
21236 (JSC::booleanProtoFuncToString):
21237 (JSC::booleanProtoFuncValueOf):
21239 (JSC::constructDate):
21241 (JSC::dateProtoFuncToString):
21242 (JSC::dateProtoFuncToUTCString):
21243 (JSC::dateProtoFuncToISOString):
21244 (JSC::dateProtoFuncToDateString):
21245 (JSC::dateProtoFuncToTimeString):
21246 (JSC::dateProtoFuncToLocaleString):
21247 (JSC::dateProtoFuncToLocaleDateString):
21248 (JSC::dateProtoFuncToLocaleTimeString):
21249 (JSC::dateProtoFuncGetTime):
21250 (JSC::dateProtoFuncGetFullYear):
21251 (JSC::dateProtoFuncGetUTCFullYear):
21252 (JSC::dateProtoFuncToGMTString):
21253 (JSC::dateProtoFuncGetMonth):
21254 (JSC::dateProtoFuncGetUTCMonth):
21255 (JSC::dateProtoFuncGetDate):
21256 (JSC::dateProtoFuncGetUTCDate):
21257 (JSC::dateProtoFuncGetDay):
21258 (JSC::dateProtoFuncGetUTCDay):
21259 (JSC::dateProtoFuncGetHours):
21260 (JSC::dateProtoFuncGetUTCHours):
21261 (JSC::dateProtoFuncGetMinutes):
21262 (JSC::dateProtoFuncGetUTCMinutes):
21263 (JSC::dateProtoFuncGetSeconds):
21264 (JSC::dateProtoFuncGetUTCSeconds):
21265 (JSC::dateProtoFuncGetMilliSeconds):
21266 (JSC::dateProtoFuncGetUTCMilliseconds):
21267 (JSC::dateProtoFuncGetTimezoneOffset):
21268 (JSC::dateProtoFuncSetTime):
21269 (JSC::setNewValueFromTimeArgs):
21270 (JSC::setNewValueFromDateArgs):
21271 (JSC::dateProtoFuncSetYear):
21272 (JSC::dateProtoFuncGetYear):
21274 (JSC::functionProtoFuncToString):
21276 (JSC::JSActivation::argumentsGetter):
21279 (JSC::constructRegExp):
21281 (JSC::regExpProtoFuncTest):
21282 (JSC::regExpProtoFuncExec):
21283 (JSC::regExpProtoFuncCompile):
21284 (JSC::regExpProtoFuncToString):
21286 (JSC::ScopeChain::localDepth):
21288 (JSC::stringProtoFuncReplace):
21289 (JSC::stringProtoFuncToString):
21290 (JSC::stringProtoFuncMatch):
21291 (JSC::stringProtoFuncSearch):
21292 (JSC::stringProtoFuncSplit):
21359 (JSC::Arguments::Arguments):
21360 (JSC::Arguments::initializeStandardProperties):
21362 (JSC::JSGlobalObject::reset):
21363 (JSC::JSGlobalObject::markChildren):
21365 (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
21366 (JSC::JSGlobalObject::objectConstructor):
21367 (JSC::JSGlobalObject::objectToStringFunction):
21368 (JSC::JSGlobalObject::objectToLocaleStringFunction):
21370 (JSC::ObjectPrototype::ObjectPrototype):
21377 Remove MarkStack::drain from the JSC exports file
21391 (JSC::MarkStack::drain):
21403 (JSC::ArrayConstructor::ArrayConstructor):
21404 (JSC::arrayConstructorIsArray):
21408 (JSC::MarkStack::drain):
21410 (JSC::JSGlobalObject::reset):
21436 (JSC::JSCallbackConstructor::createStructure):
21438 (JSC::JSCallbackFunction::createStructure):
21441 (JSC::BooleanObject::createStructure):
21443 (JSC::FunctionPrototype::createStructure):
21445 (JSC::InternalFunction::createStructure):
21447 (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
21449 (JSC::JSArray::markChildren):
21451 (JSC::JSArray::markChildrenDirect):
21452 (JSC::MarkStack::drain):
21454 (JSC::JSByteArray::createStructure):
21456 (JSC::MarkStack::append):
21458 (JSC::JSGlobalData::JSGlobalData):
21460 (JSC::JSNumberCell::createStructure):
21462 (JSC::JSONObject::createStructure):
21464 (JSC::JSObject::markChildren):
21466 (JSC::JSObject::markChildrenDirect):
21467 (JSC::JSObject::createStructure):
21469 (JSC::JSString::createStructure):
21471 (JSC::):
21473 (JSC::MarkStack::MarkStack):
21474 (JSC::MarkStack::MarkSet::MarkSet):
21475 (JSC::MarkStack::MarkStackArray::last):
21477 (JSC::MathObject::createStructure):
21479 (JSC::NumberConstructor::createStructure):
21481 (JSC::NumberObject::createStructure):
21483 (JSC::RegExpConstructor::createStructure):
21485 (JSC::RegExpObject::createStructure):
21487 (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
21489 (JSC::TypeInfo::hasDefaultMark):
21544 (JSC::PropertyNode::PropertyNode): Add an overload that takes a double
21610 (JSC::BytecodeGenerator::emitPushNewScope): Added const.
21614 (JSC::Debugger::recompileAllJSFunctions): Moved this function
21621 (JSC::DebuggerCallFrame::functionName): Call asFunction instead
21623 (JSC::DebuggerCallFrame::calculatedFunctionName): Ditto.
21626 (JSC::op_call_JSFunction): Call isHostFunction on the body rather
21628 (JSC::vm_lazyLinkCall): Ditto.
21629 (JSC::op_construct_JSConstruct): Ditto.
21637 (JSC::Lexer::scanRegExp): Changed to use out arguments, and to
21641 (JSC::Lexer::skipRegExp): Added. Version of the function above that
21643 (JSC::Lexer::clear): Removed code to clear m_pattern and m_flags.
21648 (JSC::RegExpNode::RegExpNode): Changed to take const Identifier&.
21650 (JSC::RegExpNode::emitBytecode): Changed since m_pattern and
21652 (JSC::FunctionBodyNode::make): Moved this function here instead
21657 (JSC::Profiler::createCallIdentifier): Changed to use isHostFunction
21660 (JSC::functionProtoFuncToString): Ditto.
21663 (JSC::JSFunction::isHostFunction): Moved here from header.
21664 (JSC::JSFunction::isHostFunctionNonInline): Added.
21665 (JSC::JSFunction::JSFunction): Removed unneeded initialization of
21667 (JSC::JSFunction::setBody): Moved here from header.
21676 (JSC::PropertySlot::functionGetter): Use asFunction instead
21718 (JSC::ARMAssembler::linkBranch):
21719 (JSC::ARMAssembler::executableCopy): Add extra align for constant pool.
21721 (JSC::ARMAssembler::JmpSrc::JmpSrc):
21722 (JSC::ARMAssembler::sizeOfConstantPool):
21723 (JSC::ARMAssembler::jmp):
21724 (JSC::ARMAssembler::linkCall):
21728 (JSC::AssemblerBufferWithConstantPool::flushIfNoSpaceFor): Fix the
21731 (JSC::MacroAssemblerARM::branch32):
21732 (JSC::MacroAssemblerARM::nearCall):
21733 (JSC::MacroAssemblerARM::call):
21734 (JSC::MacroAssemblerARM::branchPtrWithPatch):
21735 (JSC::MacroAssemblerARM::ensureSpace):
21736 (JSC::MacroAssemblerARM::sizeOfConstantPool):
21737 (JSC::MacroAssemblerARM::prepareCall):
21741 (JSC::JIT::compileOpCall):
21743 (JSC::JIT::beginUninterruptedSequence):
21744 (JSC::JIT::endUninterruptedSequence):
21746 (JSC::JIT::emit_op_method_check):
21747 (JSC::JIT::compileGetByIdHotPath):
21748 (JSC::JIT::compileGetByIdSlowCase):
21749 (JSC::JIT::emit_op_put_by_id):
21767 (JSC::Interpreter::privateExecute):
21779 (JSC::MarkStack::MarkStackArray::shrinkAllocation):
21781 (JSC::MarkStack::releaseStack):
21791 (JSC::UString::from):
21807 (JSC::UString::from): Use %lld instead of %I64d for snprintf
21822 (JSC::UString::from):
21832 (JSC::UString::Rep::createEmptyBuffer):
21851 (JSC::JSArray::putSlowCase):
21852 (JSC::JSArray::increaseVectorLength):
21854 (JSC::stringProtoFuncFontsize):
21855 (JSC::stringProtoFuncLink):
21857 (JSC::allocChars):
21858 (JSC::reallocChars):
21859 (JSC::expandCapacity):
21860 (JSC::UString::Rep::reserveCapacity):
21861 (JSC::UString::expandPreCapacity):
21862 (JSC::createRep):
21863 (JSC::concatenate):
21864 (JSC::UString::spliceSubstringsWithSeparators):
21865 (JSC::UString::replaceRange):
21866 (JSC::UString::append):
21867 (JSC::UString::operator=):
21869 (JSC::UString::Rep::createEmptyBuffer):
21918 (JSC::CodeBlock::mark):
21919 (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
21920 (JSC::CodeBlock::shrinkToFit):
21922 (JSC::CodeBlock::addFunction):
21923 (JSC::CodeBlock::function):
21927 (JSC::BytecodeGenerator::BytecodeGenerator):
21928 (JSC::BytecodeGenerator::addConstant):
21929 (JSC::BytecodeGenerator::emitNewFunction):
21930 (JSC::BytecodeGenerator::emitNewFunctionExpression):
21935 (JSC::Interpreter::execute):
21936 (JSC::Interpreter::privateExecute):
21940 (JSC::JIT::emit_op_new_func_exp):
21942 (JSC::DEFINE_STUB_FUNCTION):
21944 (JSC::):
21951 (JSC::FuncExprNode::FuncExprNode):
21952 (JSC::FuncDeclNode::FuncDeclNode):
21954 (JSC::ScopeNodeData::mark):
21955 (JSC::FunctionBodyNode::finishParsing):
21957 (JSC::FunctionBodyNode::ident):
21961 (JSC::FunctionBodyNode::make):
21975 (JSC::Stringifier::appendStringifiedValue):
21988 (JSC::BytecodeGenerator::constRegisterFor):
21990 (JSC::ConstDeclNode::emitCodeSingle):
22012 (JSC::currentThreadStackBase): Haiku uses its own threading system.
22071 (JSC::MarkStack::pageSize):
22073 (JSC::MarkStack::initializePagesize):
22075 (JSC::MarkStack::initializePagesize):
22104 (JSC::CodeBlock::markAggregate):
22107 (JSC::EvalCodeCache::markAggregate):
22109 (JSC::DebuggerActivation::markChildren):
22113 (JSC::RegisterFile::markGlobals):
22114 (JSC::RegisterFile::markCallFrames):
22116 (JSC::ScopeNodeData::markAggregate):
22117 (JSC::EvalNode::markAggregate):
22118 (JSC::FunctionBodyNode::markAggregate):
22120 (JSC::ScopeNode::markAggregate):
22122 (JSC::MarkedArgumentBuffer::markLists):
22125 (JSC::Arguments::markChildren):
22128 (JSC::Heap::markConservatively):
22129 (JSC::Heap::markCurrentThreadConservativelyInternal):
22130 (JSC::Heap::markCurrentThreadConservatively):
22131 (JSC::Heap::markOtherThreadConservatively):
22132 (JSC::Heap::markStackObjectsConservatively):
22133 (JSC::Heap::markProtectedObjects):
22134 (JSC::Heap::collect):
22137 (JSC::GetterSetter::markChildren):
22139 (JSC::GetterSetter::GetterSetter):
22140 (JSC::GetterSetter::createStructure):
22142 (JSC::GlobalEvalFunction::markChildren):
22145 (JSC::JSActivation::markChildren):
22148 (JSC::JSArray::markChildren):
22151 (JSC::JSCell::markCellDirect):
22152 (JSC::JSCell::markChildren):
22153 (JSC::JSValue::markDirect):
22154 (JSC::JSValue::markChildren):
22155 (JSC::JSValue::hasChildren):
22156 (JSC::MarkStack::append):
22157 (JSC::MarkStack::drain):
22159 (JSC::JSFunction::markChildren):
22162 (JSC::JSGlobalData::JSGlobalData):
22165 (JSC::markIfNeeded):
22166 (JSC::JSGlobalObject::markChildren):
22169 (JSC::JSNotAnObject::markChildren):
22172 (JSC::Stringifier::markAggregate):
22173 (JSC::JSONObject::markStringifiers):
22176 (JSC::JSObject::markChildren):
22177 (JSC::JSObject::defineGetter):
22178 (JSC::JSObject::defineSetter):
22181 (JSC::JSPropertyNameIterator::markChildren):
22183 (JSC::JSPropertyNameIterator::createStructure):
22184 (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
22185 (JSC::JSPropertyNameIterator::create):
22187 (JSC::JSStaticScopeObject::markChildren):
22190 (JSC::):
22193 (JSC::JSWrapperObject::markChildren):
22196 (JSC::MarkStack::compact):
22198 (JSC::):
22199 (JSC::MarkStack::MarkStack):
22200 (JSC::MarkStack::append):
22201 (JSC::MarkStack::appendValues):
22202 (JSC::MarkStack::~MarkStack):
22203 (JSC::MarkStack::MarkSet::MarkSet):
22204 (JSC::MarkStack::pageSize):
22208 (JSC::MarkStack::MarkStackArray::MarkStackArray):
22209 (JSC::MarkStack::MarkStackArray::~MarkStackArray):
22210 (JSC::MarkStack::MarkStackArray::expand):
22211 (JSC::MarkStack::MarkStackArray::append):
22212 (JSC::MarkStack::MarkStackArray::removeLast):
22213 (JSC::MarkStack::MarkStackArray::isEmpty):
22214 (JSC::MarkStack::MarkStackArray::size):
22215 (JSC::MarkStack::MarkStackArray::shrinkAllocation):
22217 (JSC::MarkStack::allocateStack):
22218 (JSC::MarkStack::releaseStack):
22220 (JSC::MarkStack::allocateStack):
22221 (JSC::MarkStack::releaseStack):
22225 (JSC::ScopeChain::markAggregate):
22227 (JSC::SmallStrings::mark):
22229 (JSC::Structure::markAggregate):
22276 (JSC::constructDate):
22310 (JSC::Stringifier::appendStringifiedValue):
22323 (JSC::JSGlobalObject::reset):
22325 (JSC::ObjectConstructor::ObjectConstructor):
22326 (JSC::objectConsGetPrototypeOf):
22391 (JSC::LiteralParser::Lexer::lexString):
22439 (JSC::printStructureStubInfo):
22443 (JSC::):
22444 (JSC::CallLinkInfo::seenOnce):
22445 (JSC::CallLinkInfo::setSeen):
22446 (JSC::MethodCallLinkInfo::seenOnce):
22447 (JSC::MethodCallLinkInfo::setSeen):
22451 (JSC::StructureStubInfo::deref):
22455 (JSC::StructureStubInfo::StructureStubInfo):
22456 (JSC::StructureStubInfo::initGetByIdSelf):
22457 (JSC::StructureStubInfo::initGetByIdProto):
22458 (JSC::StructureStubInfo::initGetByIdChain):
22459 (JSC::StructureStubInfo::initGetByIdSelfList):
22460 (JSC::StructureStubInfo::initGetByIdProtoList):
22461 (JSC::StructureStubInfo::initPutByIdTransition):
22462 (JSC::StructureStubInfo::initPutByIdReplace):
22463 (JSC::StructureStubInfo::seenOnce):
22464 (JSC::StructureStubInfo::setSeen):
22468 (JSC::BytecodeGenerator::emitGetById):
22469 (JSC::BytecodeGenerator::emitPutById):
22473 (JSC::JIT::privateCompileCTIMachineTrampolines):
22474 (JSC::JIT::unlinkCall):
22478 (JSC::JIT::compileCTIMachineTrampolines):
22482 (JSC::JIT::compileOpCallSlowCase):
22486 (JSC::JITThunks::JITThunks):
22487 (JSC::JITThunks::tryCachePutByID):
22488 (JSC::JITThunks::tryCacheGetByID):
22489 (JSC::JITStubs::DEFINE_STUB_FUNCTION):
22490 (JSC::JITStubs::getPolymorphicAccessStructureListSlot):
22494 (JSC::JITThunks::ctiStringLengthTrampoline):
22495 (JSC::JITStubs::):
22562 (JSC::ARMAssembler::doubleTransfer):
22564 (JSC::ARM::):
22565 (JSC::ARMAssembler::):
22566 (JSC::ARMAssembler::faddd_r):
22567 (JSC::ARMAssembler::fsubd_r):
22568 (JSC::ARMAssembler::fmuld_r):
22569 (JSC::ARMAssembler::fcmpd_r):
22570 (JSC::ARMAssembler::fdtr_u):
22571 (JSC::ARMAssembler::fdtr_d):
22572 (JSC::ARMAssembler::fmsr_r):
22573 (JSC::ARMAssembler::fsitod_r):
22574 (JSC::ARMAssembler::fmstat):
22576 (JSC::MacroAssemblerARM::):
22577 (JSC::MacroAssemblerARM::supportsFloatingPoint):
22578 (JSC::MacroAssemblerARM::loadDouble):
22579 (JSC::MacroAssemblerARM::storeDouble):
22580 (JSC::MacroAssemblerARM::addDouble):
22581 (JSC::MacroAssemblerARM::subDouble):
22582 (JSC::MacroAssemblerARM::mulDouble):
22583 (JSC::MacroAssemblerARM::convertInt32ToDouble):
22584 (JSC::MacroAssemblerARM::branchDouble):
22600 (JSC::ARMAssembler::baseIndexTransfer32):
22602 (JSC::AbstractMacroAssembler::Imm32::Imm32):
22604 (JSC::MacroAssemblerARM::store32):
22605 (JSC::MacroAssemblerARM::move):
22606 (JSC::MacroAssemblerARM::branch32):
22607 (JSC::MacroAssemblerARM::add32):
22608 (JSC::MacroAssemblerARM::sub32):
22609 (JSC::MacroAssemblerARM::load32):
22611 (JSC::CodeBlock::getBytecodeIndex):
22614 (JSC::JIT::restoreArgumentReference):
22618 (JSC::JITStackFrame::returnAddressSlot):
22629 (JSC::Yarr::Interpreter::allocDisjunctionContext):
22630 (JSC::Yarr::Interpreter::freeDisjunctionContext):
22631 (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
22632 (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
22855 (JSC::Yarr::Interpreter::allocDisjunctionContext):
22856 (JSC::Yarr::Interpreter::freeDisjunctionContext):
22857 (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
22858 (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
22879 (JSC::JITCode::execute): don't pass filler args
22903 (JSC::printStructureStubInfo):
22907 (JSC::):
22908 (JSC::CallLinkInfo::seenOnce):
22909 (JSC::CallLinkInfo::setSeen):
22910 (JSC::MethodCallLinkInfo::seenOnce):
22911 (JSC::MethodCallLinkInfo::setSeen):
22915 (JSC::StructureStubInfo::deref):
22919 (JSC::StructureStubInfo::StructureStubInfo):
22920 (JSC::StructureStubInfo::initGetByIdSelf):
22921 (JSC::StructureStubInfo::initGetByIdProto):
22922 (JSC::StructureStubInfo::initGetByIdChain):
22923 (JSC::StructureStubInfo::initGetByIdSelfList):
22924 (JSC::StructureStubInfo::initGetByIdProtoList):
22925 (JSC::StructureStubInfo::initPutByIdTransition):
22926 (JSC::StructureStubInfo::initPutByIdReplace):
22927 (JSC::StructureStubInfo::seenOnce):
22928 (JSC::StructureStubInfo::setSeen):
22932 (JSC::BytecodeGenerator::emitGetById):
22933 (JSC::BytecodeGenerator::emitPutById):
22937 (JSC::JIT::privateCompileCTIMachineTrampolines):
22938 (JSC::JIT::unlinkCall):
22942 (JSC::JIT::compileCTIMachineTrampolines):
22946 (JSC::JIT::compileOpCallSlowCase):
22950 (JSC::JITThunks::JITThunks):
22951 (JSC::JITThunks::tryCachePutByID):
22952 (JSC::JITThunks::tryCacheGetByID):
22953 (JSC::JITStubs::DEFINE_STUB_FUNCTION):
22954 (JSC::JITStubs::getPolymorphicAccessStructureListSlot):
22958 (JSC::JITThunks::ctiStringLengthTrampoline):
22959 (JSC::JITStubs::):
22975 (JSC::DEFINE_STUB_FUNCTION):
22977 (JSC::): Use "int" instead of "bool" to guarantee a 32-bit result,
23004 (JSC::JSArray::JSArray): Initialize the full vector capacity, to avoid
23031 (JSC::JIT::privateCompileCTIMachineTrampolines): Used #pragma pack to tell
23041 (JSC::JIT::compileOpCallInitializeCallFrame): Fixed an incorrectly signed
23048 (JSC::JSArray::JSArray): Replaced memset_pattern8 with a for loop, since
23053 (JSC::JSObject::JSObject): Removed accidental usage of FIELD_OFFSET --
23060 (JSC::JSValue::): Made the tag signed, to match MSVC's signed enum values.
23079 (JSC::JIT::emit_op_jnless):
23080 (JSC::JIT::emitSlow_op_jnless):
23081 (JSC::JIT::emit_op_jnlesseq):
23082 (JSC::JIT::emitSlow_op_jnlesseq):
23093 (JSC::JIT::emit_op_convert_this):
23096 (JSC::DEFINE_STUB_FUNCTION):
23098 (JSC::): Made the op_convert_this JIT stub return an EncodedJSValue, so
23111 (JSC::MacroAssemblerX86Common::move):
23113 (JSC::X86Assembler::movl_rr): Added an optimization to eliminate
23117 (JSC::JIT::JIT):
23125 (JSC::JIT::compileOpCallVarargs):
23126 (JSC::JIT::compileOpCallVarargsSlowCase):
23127 (JSC::JIT::emit_op_ret):
23128 (JSC::JIT::emit_op_construct_verify):
23129 (JSC::JIT::compileOpCall):
23130 (JSC::JIT::compileOpCallSlowCase): Chain function call results.
23133 (JSC::JIT::emitLoadTag):
23134 (JSC::JIT::emitLoadPayload):
23135 (JSC::JIT::emitLoad):
23136 (JSC::JIT::emitLoad2):
23137 (JSC::JIT::isLabeled):
23138 (JSC::JIT::map):
23139 (JSC::JIT::unmap):
23140 (JSC::JIT::isMapped):
23141 (JSC::JIT::getMappedPayload):
23142 (JSC::JIT::getMappedTag): Use helper functions when loading virtual
23147 (JSC::JIT::emit_op_mov):
23148 (JSC::JIT::emit_op_end):
23149 (JSC::JIT::emit_op_instanceof):
23150 (JSC::JIT::emit_op_get_global_var):
23151 (JSC::JIT::emit_op_put_global_var):
23152 (JSC::JIT::emit_op_get_scoped_var):
23153 (JSC::JIT::emit_op_put_scoped_var):
23154 (JSC::JIT::emit_op_to_primitive):
23155 (JSC::JIT::emit_op_resolve_global):
23156 (JSC::JIT::emit_op_jneq_ptr):
23157 (JSC::JIT::emit_op_next_pname):
23158 (JSC::JIT::emit_op_to_jsnumber):
23159 (JSC::JIT::emit_op_catch): Chain results from these opcodes.
23161 (JSC::JIT::emit_op_profile_will_call):
23162 (JSC::JIT::emit_op_profile_did_call): Load the profiler into regT2 to
23166 (JSC::JIT::emit_op_method_check):
23167 (JSC::JIT::emit_op_get_by_val):
23168 (JSC::JIT::emit_op_get_by_id): Chain results from these opcodes.
23171 (JSC::JITStubCall::addArgument): Always use { regT1, regT0 }, to facilitate
23174 (JSC::JITStubCall::call): Unmap all mapped registers, since our callee
23187 (JSC::JIT::emit_op_jnless):
23188 (JSC::JIT::emit_op_jnlesseq):
23189 (JSC::JIT::emitBinaryDoubleOp):
23198 (JSC::JIT::emit_op_div):
23209 (JSC::JIT::emitSlow_op_jnless):
23210 (JSC::JIT::emitSlow_op_jnlesseq):
23211 (JSC::JIT::emitBinaryDoubleOp):
23226 (JSC::JIT::emit_op_mod):
23227 (JSC::JIT::emitSlow_op_mod):
23237 (JSC::JIT::emit_op_mul):
23238 (JSC::JIT::emitSlow_op_mul):
23251 (JSC::JIT::emit_op_add):
23252 (JSC::JIT::emitAdd32Constant):
23253 (JSC::JIT::emitSlow_op_add):
23254 (JSC::JIT::emit_op_sub):
23255 (JSC::JIT::emitSub32Constant):
23256 (JSC::JIT::emitSlow_op_sub):
23266 (JSC::JIT::emitAdd32Constant):
23267 (JSC::JIT::emitBinaryDoubleOp):
23277 (JSC::JIT::emit_op_post_inc):
23278 (JSC::JIT::emitSlow_op_post_inc):
23279 (JSC::JIT::emit_op_post_dec):
23280 (JSC::JIT::emitSlow_op_post_dec):
23293 (JSC::JIT::emit_op_jnless):
23294 (JSC::JIT::emit_op_jnlesseq):
23295 (JSC::JIT::emit_op_lshift):
23296 (JSC::JIT::emit_op_rshift):
23297 (JSC::JIT::emit_op_bitand):
23298 (JSC::JIT::emit_op_bitor):
23299 (JSC::JIT::emit_op_bitxor):
23301 (JSC::JIT::isOperandConstantImmediateInt):
23302 (JSC::JIT::getOperandConstantImmediateInt):
23312 (JSC::JIT::emitAdd32Constant):
23313 (JSC::JIT::emitBinaryDoubleOp):
23314 (JSC::JIT::emit_op_div):
23316 (JSC::JIT::emitLoadDouble):
23317 (JSC::JIT::emitLoadInt32ToDouble):
23318 (JSC::JIT::emitStoreDouble):
23320 (JSC::JIT::emit_op_jfalse):
23321 (JSC::JIT::emit_op_jtrue):
23328 (JSC::JIT::privateCompileSlowCases):
23331 (JSC::JIT::emit_op_loop_if_less):
23332 (JSC::JIT::emit_op_loop_if_lesseq):
23333 (JSC::JIT::emit_op_resolve_global):
23334 (JSC::JIT::emitSlow_op_resolve_global):
23335 (JSC::JIT::emit_op_eq):
23336 (JSC::JIT::emitSlow_op_eq):
23337 (JSC::JIT::emit_op_neq):
23338 (JSC::JIT::emitSlow_op_neq):
23345 (JSC::JIT::privateCompileSlowCases):
23348 (JSC::JIT::emit_op_loop_if_less):
23349 (JSC::JIT::emit_op_loop_if_lesseq):
23350 (JSC::JIT::emit_op_resolve_global):
23351 (JSC::JIT::emit_op_eq):
23352 (JSC::JIT::emitSlow_op_eq):
23353 (JSC::JIT::emit_op_neq):
23354 (JSC::JIT::emitSlow_op_neq):
23364 (JSC::JIT::privateCompileSlowCases):
23367 (JSC::JIT::emit_op_loop_if_less):
23368 (JSC::JIT::emit_op_loop_if_lesseq):
23369 (JSC::JIT::emit_op_resolve_global):
23370 (JSC::JIT::emitSlow_op_resolve_global):
23371 (JSC::JIT::emit_op_eq):
23372 (JSC::JIT::emitSlow_op_eq):
23373 (JSC::JIT::emit_op_neq):
23374 (JSC::JIT::emitSlow_op_neq):
23385 (JSC::JIT::emit_op_negate):
23386 (JSC::JIT::emit_op_lshift):
23387 (JSC::JIT::emit_op_rshift):
23388 (JSC::JIT::emit_op_bitand):
23389 (JSC::JIT::emitBitAnd32Constant):
23390 (JSC::JIT::emit_op_bitor):
23391 (JSC::JIT::emitBitOr32Constant):
23392 (JSC::JIT::emit_op_bitxor):
23393 (JSC::JIT::emitBitXor32Constant):
23394 (JSC::JIT::emit_op_bitnot):
23395 (JSC::JIT::emit_op_post_inc):
23396 (JSC::JIT::emit_op_post_dec):
23397 (JSC::JIT::emit_op_pre_inc):
23398 (JSC::JIT::emit_op_pre_dec):
23399 (JSC::JIT::emit_op_add):
23400 (JSC::JIT::emitAdd32Constant):
23401 (JSC::JIT::emit_op_sub):
23402 (JSC::JIT::emitSub32ConstantLeft):
23403 (JSC::JIT::emitSub32ConstantRight):
23404 (JSC::JIT::emit_op_mul):
23405 (JSC::JIT::emitSlow_op_mul):
23406 (JSC::JIT::emit_op_div):
23407 (JSC::JIT::emit_op_mod):
23409 (JSC::JIT::emit_op_load_varargs):
23411 (JSC::JIT::emitStoreInt32):
23412 (JSC::JIT::emitStoreCell):
23413 (JSC::JIT::emitStoreBool):
23414 (JSC::JIT::emitStore):
23416 (JSC::JIT::emit_op_instanceof):
23417 (JSC::JIT::emit_op_not):
23418 (JSC::JIT::emit_op_eq):
23419 (JSC::JIT::emitSlow_op_eq):
23420 (JSC::JIT::emit_op_neq):
23421 (JSC::JIT::emitSlow_op_neq):
23422 (JSC::JIT::compileOpStrictEq):
23423 (JSC::JIT::emit_op_eq_null):
23424 (JSC::JIT::emit_op_neq_null):
23426 (JSC::JITStubCall::call):
23439 (JSC::JIT::emitLoad):
23440 (JSC::JIT::emitLoad2):
23442 (JSC::JIT::emit_op_get_by_val):
23443 (JSC::JIT::emitSlow_op_get_by_val):
23444 (JSC::JIT::emit_op_put_by_val):
23445 (JSC::JIT::emitSlow_op_put_by_val):
23446 (JSC::JIT::emit_op_put_by_id):
23447 (JSC::JIT::emitSlow_op_put_by_id):
23448 (JSC::JIT::patchPutByIdReplace):
23460 (JSC::JIT::emitAdd32Constant):
23461 (JSC::JIT::emitBinaryDoubleOp):
23462 (JSC::JIT::emit_op_div):
23471 (JSC::MacroAssemblerX86Common::):
23472 (JSC::MacroAssemblerX86Common::zeroDouble):
23474 (JSC::JIT::emit_op_jfalse):
23475 (JSC::JIT::emit_op_jtrue):
23487 (JSC::JIT::privateCompileCTIMachineTrampolines):
23490 (JSC::JIT::emit_op_method_check):
23491 (JSC::JIT::emit_op_get_by_id):
23492 (JSC::JIT::compileGetByIdHotPath):
23493 (JSC::JIT::compileGetByIdSlowCase):
23494 (JSC::JIT::patchGetByIdSelf):
23495 (JSC::JIT::privateCompilePatchGetArrayLength):
23496 (JSC::JIT::privateCompileGetByIdProto):
23497 (JSC::JIT::privateCompileGetByIdSelfList):
23498 (JSC::JIT::privateCompileGetByIdProtoList):
23499 (JSC::JIT::privateCompileGetByIdChainList):
23500 (JSC::JIT::privateCompileGetByIdChain):
23511 (JSC::JIT::privateCompileCTIMachineTrampolines):
23513 (JSC::JIT::compileOpCallInitializeCallFrame):
23514 (JSC::JIT::compileOpCallSetupArgs):
23515 (JSC::JIT::compileOpConstructSetupArgs):
23516 (JSC::JIT::compileOpCallVarargsSetupArgs):
23517 (JSC::JIT::compileOpCallVarargs):
23518 (JSC::JIT::compileOpCall):
23519 (JSC::JIT::compileOpCallSlowCase):
23530 (JSC::MacroAssemblerX86Common::branchOr32):
23532 (JSC::JIT::emit_op_mul):
23533 (JSC::JIT::emitSlow_op_mul):
23544 (JSC::ForNode::emitBytecode):
23553 (JSC::JIT::emitSlow_op_bitnot):
23554 (JSC::JIT::emit_op_post_inc):
23563 (JSC::JIT::emit_op_bitnot):
23564 (JSC::JIT::emit_op_post_dec):
23565 (JSC::JIT::emit_op_pre_inc):
23566 (JSC::JIT::emitSlow_op_pre_inc):
23567 (JSC::JIT::emit_op_pre_dec):
23568 (JSC::JIT::emitSlow_op_pre_dec):
23577 (JSC::JIT::emit_op_negate):
23578 (JSC::JIT::emitSlow_op_negate):
23580 (JSC::JIT::emit_op_construct_verify):
23581 (JSC::JIT::emitSlow_op_construct_verify):
23590 (JSC::JIT::emit_op_loop_if_true):
23591 (JSC::JIT::emit_op_jfalse):
23592 (JSC::JIT::emit_op_jtrue):
23593 (JSC::JIT::emit_op_jeq_null):
23594 (JSC::JIT::emit_op_jneq_null):
23595 (JSC::JIT::emit_op_eq_null):
23596 (JSC::JIT::emit_op_neq_null):
23620 (JSC::PropertySlot::PropertySlot):
23621 (JSC::PropertySlot::setValueSlot):
23622 (JSC::PropertySlot::setValue):
23623 (JSC::PropertySlot::setRegisterSlot):
23624 (JSC::PropertySlot::setUndefined):
23625 (JSC::PropertySlot::slotBase):
23626 (JSC::PropertySlot::clearOffset):
23636 (JSC::JIT::emit_op_method_check):
23637 (JSC::JIT::emitSlow_op_method_check):
23638 (JSC::JIT::emit_op_get_by_id):
23639 (JSC::JIT::compileGetByIdHotPath):
23640 (JSC::JIT::emitSlow_op_get_by_id):
23641 (JSC::JIT::compileGetByIdSlowCase):
23653 (JSC::JIT::emit_op_to_jsnumber):
23654 (JSC::JIT::emitSlow_op_to_jsnumber):
23655 (JSC::JIT::emit_op_convert_this):
23656 (JSC::JIT::emitSlow_op_convert_this):
23669 (JSC::CodeBlock::dump):
23674 (JSC::Interpreter::privateExecute):
23676 (JSC::JIT::privateCompileMainPass):
23679 (JSC::JIT::emit_op_get_scoped_var):
23680 (JSC::JIT::emit_op_put_scoped_var):
23681 (JSC::JIT::emit_op_to_primitive):
23682 (JSC::JIT::emitSlow_op_to_primitive):
23686 (JSC::FunctionCallResolveNode::emitBytecode):
23698 (JSC::JIT::emitLoad): Accomodate a base register that overlaps with payload
23702 (JSC::JIT::emit_op_mov): Abide by the standard "tag in regT1, payload in
23705 (JSC::JIT::emit_op_get_global_var):
23706 (JSC::JIT::emit_op_put_global_var): Ditto. Also, removed some irrelevent
23718 (JSC::ExecState::optionalCalleeArguments):
23719 (JSC::ExecState::setArgumentCount):
23720 (JSC::ExecState::init):
23722 (JSC::Interpreter::dumpRegisters):
23723 (JSC::Interpreter::unwindCallFrame):
23724 (JSC::Interpreter::privateExecute):
23725 (JSC::Interpreter::retrieveArguments):
23727 (JSC::Register::withInt):
23728 (JSC::Register::):
23729 (JSC::Register::Register):
23730 (JSC::Register::i):
23732 (JSC::JITStubs::cti_op_tear_off_arguments):
23734 (JSC::JSActivation::copyRegisters):
23735 (JSC::Register::arguments):
23737 (JSC::JSActivation::argumentsGetter):
23751 (JSC::X86Assembler::JmpDst::JmpDst): No need to track jump targets in
23755 (JSC::JIT::JIT):
23756 (JSC::JIT::emitTimeoutCheck): Make sure to save and restore the result
23760 (JSC::JIT::privateCompileMainPass):
23761 (JSC::JIT::privateCompileSlowCases): Removed calls to killLastResultRegister()
23766 (JSC::JIT::emit_op_jnless):
23767 (JSC::JIT::emit_op_jnlesseq):
23769 (JSC::JIT::emitGetFromCallFrameHeaderPtr):
23770 (JSC::JIT::emitGetFromCallFrameHeader32):
23772 (JSC::JIT::emit_op_jmp):
23773 (JSC::JIT::emit_op_jfalse):
23774 (JSC::JIT::emit_op_jtrue):
23775 (JSC::JIT::emit_op_jeq_null):
23776 (JSC::JIT::emit_op_jneq_null):
23777 (JSC::JIT::emit_op_jneq_ptr):
23778 (JSC::JIT::emit_op_jsr):
23779 (JSC::JIT::emit_op_sret):
23780 (JSC::JIT::emit_op_jmp_scopes): ditto
23783 (JSC::JITStubCall::JITStubCall):
23784 (JSC::JITStubCall::getArgument): added a mechanism for reloading an argument
23795 (JSC::JIT::emit_op_bitand):
23796 (JSC::JIT::emit_op_bitor):
23797 (JSC::JIT::emit_op_bitxor):
23798 (JSC::JIT::emit_op_add):
23799 (JSC::JIT::emit_op_sub):
23800 (JSC::JIT::emit_op_mul):
23812 (JSC::JIT::emit_op_negate):
23813 (JSC::JIT::emit_op_jnless):
23814 (JSC::JIT::emit_op_jnlesseq):
23815 (JSC::JIT::emit_op_lshift):
23816 (JSC::JIT::emit_op_rshift):
23817 (JSC::JIT::emit_op_bitand):
23818 (JSC::JIT::emitBitAnd32Constant):
23819 (JSC::JIT::emitBitAnd32InPlace):
23820 (JSC::JIT::emit_op_bitor):
23821 (JSC::JIT::emitBitOr32Constant):
23822 (JSC::JIT::emitBitOr32InPlace):
23823 (JSC::JIT::emit_op_bitxor):
23824 (JSC::JIT::emitBitXor32Constant):
23825 (JSC::JIT::emitBitXor32InPlace):
23826 (JSC::JIT::emit_op_bitnot):
23827 (JSC::JIT::emit_op_post_inc):
23828 (JSC::JIT::emit_op_post_dec):
23829 (JSC::JIT::emit_op_pre_inc):
23830 (JSC::JIT::emitSlow_op_pre_inc):
23831 (JSC::JIT::emit_op_pre_dec):
23832 (JSC::JIT::emitSlow_op_pre_dec):
23833 (JSC::JIT::emit_op_add):
23834 (JSC::JIT::emitAdd32Constant):
23835 (JSC::JIT::emitAdd32InPlace):
23836 (JSC::JIT::emitSlow_op_add):
23837 (JSC::JIT::emitSlowAdd32Constant):
23838 (JSC::JIT::emit_op_sub):
23839 (JSC::JIT::emitSlow_op_sub):
23840 (JSC::JIT::emitSub32ConstantLeft):
23841 (JSC::JIT::emitSub32ConstantRight):
23842 (JSC::JIT::emitSub32InPlaceLeft):
23843 (JSC::JIT::emitSub32InPlaceRight):
23844 (JSC::JIT::emitBinaryDoubleOp):
23845 (JSC::JIT::emit_op_mul):
23846 (JSC::JIT::emitMul32InPlace):
23847 (JSC::JIT::emit_op_div):
23848 (JSC::JIT::emit_op_mod):
23850 (JSC::JIT::compileOpCallVarargs):
23852 (JSC::JIT::emit_op_loop_if_less):
23853 (JSC::JIT::emit_op_loop_if_lesseq):
23854 (JSC::JIT::emit_op_instanceof):
23855 (JSC::JIT::emit_op_to_primitive):
23856 (JSC::JIT::emit_op_not):
23857 (JSC::JIT::emit_op_jneq_ptr):
23858 (JSC::JIT::emit_op_eq):
23859 (JSC::JIT::emit_op_neq):
23860 (JSC::JIT::emit_op_to_jsnumber):
23862 (JSC::JIT::emit_op_get_by_val):
23863 (JSC::JIT::emit_op_put_by_val):
23873 (JSC::BytecodeGenerator::emitJumpSubroutine):
23875 (JSC::TryNode::emitBytecode):
23888 (JSC::FunctionCallDotNode::emitBytecode):
23901 (JSC::ExecState::optionalCalleeArguments):
23903 (JSC::Interpreter::unwindCallFrame):
23904 (JSC::Interpreter::privateExecute):
23905 (JSC::Interpreter::retrieveArguments):
23907 (JSC::Register::):
23909 (JSC::JITStubs::cti_op_tear_off_arguments):
23911 (JSC::JSActivation::copyRegisters):
23913 (JSC::JSActivation::argumentsGetter):
23925 (JSC::JIT::compileOpCallVarargs):
23926 (JSC::JIT::compileOpCallVarargsSlowCase):
23927 (JSC::JIT::compileOpCall):
23928 (JSC::JIT::compileOpCallSlowCase):
23930 (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
23931 (JSC::JIT::linkSlowCaseIfNotJSCell):
23933 (JSC::JIT::emit_op_instanceof):
23934 (JSC::JIT::emitSlow_op_instanceof):
23936 (JSC::JIT::emit_op_get_by_val):
23937 (JSC::JIT::emitSlow_op_get_by_val):
23938 (JSC::JIT::emit_op_put_by_val):
23939 (JSC::JIT::emitSlow_op_put_by_val):
23940 (JSC::JIT::emit_op_get_by_id):
23941 (JSC::JIT::emitSlow_op_get_by_id):
23942 (JSC::JIT::emit_op_put_by_id):
23943 (JSC::JIT::emitSlow_op_put_by_id):
23962 (JSC::JIT::emit_op_div): When dividing an int by an int, go ahead and try
23976 (JSC::JIT::emitBinaryDoubleOp): Actually do the comparison in reverse
23994 (JSC::JIT::emit_op_mod):
23995 (JSC::JIT::emitSlow_op_mod):
24004 (JSC::JIT::emitBinaryDoubleOp): For op_jnless and op_jnless_eq, do the
24018 (JSC::JITStubs::cti_op_eq): Don't treat "compare to string" as always
24031 (JSC::JIT::emit_op_negate):
24042 (JSC::JIT::emitSlow_op_eq):
24043 (JSC::JIT::emitSlow_op_neq): Made a vptr comparison a *Ptr operation,
24056 (JSC::JIT::emit_op_eq):
24057 (JSC::JIT::emitSlow_op_eq):
24058 (JSC::JIT::emit_op_neq):
24059 (JSC::JIT::emitSlow_op_neq):
24061 (JSC::JITStubCall::JITStubCall):
24063 (JSC::JITStubs::cti_op_eq):
24064 (JSC::JITStubs::cti_op_eq_strings):
24065 (JSC::JITStubs::cti_op_call_eval):
24067 (JSC::):
24077 (JSC::JIT::emitSlow_op_add): Don't early return here, we still need to call the JIT stub.
24078 (JSC::JIT::emitSlow_op_sub): Ditto.
24093 (JSC::JIT::emit_op_mul):
24094 (JSC::JIT::emitSlow_op_mul):
24095 (JSC::JIT::emitMul32InPlace):
24105 (JSC::JIT::emit_op_add):
24106 (JSC::JIT::emitAdd32Constant):
24107 (JSC::JIT::emitSlow_op_add):
24108 (JSC::JIT::emitSlowAdd32Constant):
24110 (JSC::JIT::getConstantOperandImmediateDouble):
24111 (JSC::JIT::isOperandConstantImmediateDouble):
24120 (JSC::AbstractMacroAssembler::JumpList::jumps): New accesor, used by
24124 (JSC::X86Assembler::ucomisd_rm): New method for comparing register to
24129 (JSC::JIT::emit_op_jnless):
24130 (JSC::JIT::emitSlow_op_jnless):
24131 (JSC::JIT::emit_op_jnlesseq):
24132 (JSC::JIT::emitSlow_op_jnlesseq):
24133 (JSC::JIT::emit_op_add):
24134 (JSC::JIT::emit_op_sub):
24135 (JSC::JIT::emitBinaryDoubleOp):
24136 (JSC::JIT::emit_op_mul):
24137 (JSC::JIT::emit_op_div): Modified emitBinaryDoubleOp to accept comparison/jump
24141 (JSC::JIT::addSlowCase): Added an "addSlowCase" for JumpLists, so clients
24151 (JSC::MacroAssemblerX86Common::neg32):
24153 (JSC::X86Assembler::):
24154 (JSC::X86Assembler::negl_m):
24155 (JSC::X86Assembler::xorpd_rr):
24157 (JSC::JIT::privateCompileMainPass):
24158 (JSC::JIT::privateCompileSlowCases):
24161 (JSC::JIT::emit_op_negate):
24162 (JSC::JIT::emitSlow_op_negate):
24180 (JSC::JIT::emit_op_sub):
24181 (JSC::JIT::emitSlow_op_sub):
24182 (JSC::JIT::emitSlowSub32InPlaceLeft):
24183 (JSC::JIT::emitBinaryDoubleOp):
24192 (JSC::X86Assembler::):
24193 (JSC::X86Assembler::divsd_rr):
24194 (JSC::X86Assembler::divsd_mr):
24196 (JSC::CodeBlock::dump):
24199 (JSC::BytecodeGenerator::emitBinaryOp):
24201 (JSC::Interpreter::privateExecute):
24203 (JSC::JIT::privateCompileMainPass):
24204 (JSC::JIT::privateCompileSlowCases):
24207 (JSC::JIT::emitBinaryDoubleOp):
24208 (JSC::JIT::emit_op_div):
24209 (JSC::JIT::emitSlow_op_div):
24218 (JSC::JIT::emit_op_add):
24219 (JSC::JIT::emitSlow_op_add):
24220 (JSC::JIT::emitSlowAdd32InPlace):
24221 (JSC::JIT::emitBinaryDoubleOp):
24222 (JSC::JIT::emit_op_mul):
24223 (JSC::JIT::emitSlow_op_mul):
24234 (JSC::JIT::emitBinaryDoubleOp):
24235 (JSC::JIT::emit_op_mul):
24237 (JSC::JIT::compileOpCallInitializeCallFrame):
24246 (JSC::X86Assembler::cvtsi2sd_mr): New function, useful for loading an
24250 (JSC::JIT::emit_op_mul):
24251 (JSC::JIT::emitSlow_op_mul): Filled out these cases for double arithmetic.
24255 (JSC::JIT::addressFor): New function, useful for addressing a JSValue's
24265 (JSC::JIT::privateCompileCTIMachineTrampolines): Add ENABLE(JIT_OPTIMIZE_CALL) guards
24268 (JSC::JIT::unlinkCall): Use NULL instead of JSValue noValue.
24271 (JSC::JIT::compileOpCall): Update to account for the new JSValue representation
24272 (JSC::JIT::compileOpCallSlowCase): Ditto.
24286 (JSC::JIT::privateCompileCTIMachineTrampolines): Remove array length trampoline
24291 (JSC::JIT::emit_op_get_by_id):
24292 (JSC::JIT::emitSlow_op_get_by_id):
24293 (JSC::JIT::emit_op_put_by_id):
24294 (JSC::JIT::emitSlow_op_put_by_id):
24295 (JSC::JIT::compilePutDirectOffset):
24296 (JSC::JIT::compileGetDirectOffset):
24297 (JSC::JIT::privateCompilePutByIdTransition):
24298 (JSC::JIT::patchGetByIdSelf):
24299 (JSC::JIT::patchPutByIdReplace):
24300 (JSC::JIT::privateCompilePatchGetArrayLength):
24301 (JSC::JIT::privateCompileGetByIdProto):
24302 (JSC::JIT::privateCompileGetByIdSelfList):
24303 (JSC::JIT::privateCompileGetByIdProtoList):
24304 (JSC::JIT::privateCompileGetByIdChainList):
24305 (JSC::JIT::privateCompileGetByIdChain):
24307 (JSC::JITStubCall::addArgument): Add version of addArgument that takes
24310 (JSC::JITStubs::JITStubs): Remove array length trampoline pointer.
24311 (JSC::JITStubs::cti_op_get_by_id_self_fail):
24314 (JSC::JSObject::JSObject): Move m_inheritorID below the property storage
24326 (JSC::jsNumber):
24327 (JSC::jsNaN):
24328 (JSC::JSValue::JSValue):
24337 (JSC::JIT::emit_op_put_by_val):
24338 (JSC::JIT::emitSlow_op_put_by_val):
24348 (JSC::JIT::emit_op_get_by_val):
24349 (JSC::JIT::emitSlow_op_get_by_val):
24359 (JSC::X86Assembler::jz):
24361 (JSC::JIT::emit_op_mul):
24362 (JSC::JIT::emitSlow_op_mul):
24363 (JSC::JIT::emitMul32Constant):
24364 (JSC::JIT::emitMul32InPlace): Check both for overflow and for zero when
24374 (JSC::JIT::compileOpCallVarargs): Move the argument count into regT1,
24384 (JSC::JIT::emit_op_instanceof): NULL means the object has no prototype,
24394 (JSC::JIT::emit_op_instanceof): Make sure to fill out the payload bits
24406 (JSC::JITStubs::cti_op_urshift):
24415 (JSC::JIT::emit_op_loop_if_true):
24425 (JSC::JIT::emit_op_neq):
24435 (JSC::JIT::emitSlow_op_mod):
24444 (JSC::ExecState::setCalleeArguments):
24445 (JSC::ExecState::init): Require a full JSValue when setting up the
24450 (JSC::CallFrameClosure::resetCallFrame): ditto
24453 (JSC::Interpreter::privateExecute): ditto
24459 (JSC::JITStubs::cti_op_create_arguments):
24460 (JSC::JITStubs::cti_op_create_arguments_no_params): ditto
24470 (JSC::JIT::emit_op_jfalse):
24471 (JSC::JIT::emit_op_jtrue):
24481 (JSC::JIT::emit_op_loop_if_less):
24482 (JSC::JIT::emit_op_loop_if_lesseq):
24491 (JSC::JIT::emit_op_jnless):
24492 (JSC::JIT::emit_op_jnlesseq):
24503 (JSC::JIT::emit_op_enter):
24504 (JSC::JIT::emit_op_enter_with_activation):
24513 (JSC::MacroAssemblerX86Common::set8): Added set8, since it's slightly
24520 (JSC::JIT::emitLoadTag):
24521 (JSC::JIT::emitLoadPayload): Added helper functions for dealing with
24526 (JSC::JIT::compileOpStrictEq):
24527 (JSC::JIT::emitSlow_op_stricteq):
24528 (JSC::JIT::emitSlow_op_nstricteq): teh opcodez.
24531 (JSC::JSValue::):
24532 (JSC::JSValue::isDouble): Added a LowestTag for clarity.
24557 (JSC::JIT::emitSlow_op_get_by_val):
24558 (JSC::JIT::emitSlow_op_put_by_val):
24568 (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
24569 (JSC::JIT::emitStore): Changed to use helper functions.
24572 (JSC::JIT::emit_op_instanceof):
24573 (JSC::JIT::emitSlow_op_instanceof): Ported from TOT.
24583 (JSC::JIT::emit_op_catch):
24592 (JSC::JIT::emit_op_throw): Updated to use JITStackFrame abstraction.
24593 (JSC::JIT::emit_op_catch): Filled out.
24602 (JSC::JIT::emitSlow_op_instanceof): Moved from below to be next to its
24605 (JSC::JIT::emit_op_loop_if_true): Similar to the old version
24608 (JSC::JIT::emitSlow_op_loop_if_true):
24610 (JSC::JIT::emit_op_jfalse): Very similar to op_loop_if_true, only
24612 (JSC::JIT::emitSlow_op_jfalse):
24614 (JSC::JIT::emit_op_jtrue): Very similar to op_loop_if_true except
24616 (JSC::JIT::emitSlow_op_jtrue):
24618 (JSC::JIT::emit_op_jeq_null): Very similar to the implementation
24621 (JSC::JIT::emit_op_jneq_null): Ditto but for op_neq.
24630 (JSC::JIT::compileOpCallVarargsSetupArgs):
24631 (JSC::JIT::compileOpCallVarargs):
24632 (JSC::JIT::emit_op_call):
24633 (JSC::JIT::emit_op_call_eval):
24634 (JSC::JIT::emit_op_load_varargs):
24635 (JSC::JIT::emit_op_call_varargs):
24636 (JSC::JIT::emit_op_construct):
24638 (JSC::JIT::emit_op_jneq_ptr):
24647 (JSC::JIT::compileOpCallVarargsSetupArgs):
24648 (JSC::JIT::compileOpCall):
24650 (JSC::CallEvalJITStub::CallEvalJITStub):
24659 (JSC::JIT::emit_op_not):
24660 (JSC::JIT::emitSlow_op_not):
24669 (JSC::JIT::emit_op_loop_if_less):
24670 (JSC::JIT::emit_op_loop_if_lesseq): Added back accidentally removed
24673 (JSC::JIT::emit_op_resolve_global):
24675 (JSC::JITStubs::cti_op_resolve_global): Pretty similar to the old code,
24680 (JSC::): Slightly tweaked this code to specialize for a JSGlobalObject*,
24690 (JSC::JIT::emit_op_to_jsnumber):
24691 (JSC::JIT::emitSlow_op_to_jsnumber):
24700 (JSC::JIT::emit_op_convert_this):
24701 (JSC::JIT::emitSlow_op_convert_this):
24710 (JSC::JIT::privateCompileCTIMachineTrampolines):
24713 (JSC::JIT::compileOpCallSetupArgs):
24714 (JSC::JIT::compileOpCallVarargsSetupArgs):
24715 (JSC::JIT::compileOpConstructSetupArgs):
24716 (JSC::JIT::emit_op_ret):
24717 (JSC::JIT::emit_op_construct_verify):
24718 (JSC::JIT::emitSlow_op_construct_verify):
24719 (JSC::JIT::emitSlow_op_call):
24720 (JSC::JIT::emitSlow_op_call_eval):
24721 (JSC::JIT::emitSlow_op_call_varargs):
24722 (JSC::JIT::emitSlow_op_construct):
24723 (JSC::JIT::compileOpCall): Filled out these cases, with call_eval #if'd out.
24726 (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
24727 (JSC::JIT::emitLoad): Restored some legacy "*CTIArg*" functions,
24731 (JSC::JIT::recordJumpTarget): Removed unnecessary macro cruft. You will
24737 (JSC::):
24748 (JSC::MacroAssemblerX86Common::set8):
24749 (JSC::MacroAssemblerX86Common::setTest8):
24751 (JSC::JIT::emit_op_stricteq):
24752 (JSC::JIT::emitSlow_op_stricteq):
24753 (JSC::JIT::emit_op_nstricteq):
24754 (JSC::JIT::emitSlow_op_nstricteq):
24755 (JSC::JIT::emit_op_eq_null):
24756 (JSC::JIT::emit_op_neq_null):
24766 (JSC::JIT::emit_op_new_error):
24768 (JSC::JITStubCall::addArgument): Add a version of addArgument
24787 (JSC::JIT::emitSlow_op_construct_verify):
24788 (JSC::JIT::emit_op_to_primitive):
24789 (JSC::JIT::emitSlow_op_to_primitive):
24790 (JSC::JIT::emitSlow_op_loop_if_true):
24791 (JSC::JIT::emit_op_jtrue):
24792 (JSC::JIT::emit_op_next_pname):
24803 (JSC::JIT::tagFor):
24804 (JSC::JIT::payloadFor):
24805 (JSC::JIT::emitLoad):
24806 (JSC::JIT::emitStore):
24807 (JSC::JIT::emitLoadReturnValue):
24809 (JSC::JIT::emit_op_get_global_var):
24810 (JSC::JIT::emit_op_put_global_var):
24811 (JSC::JIT::emit_op_get_scoped_var):
24812 (JSC::JIT::emit_op_put_scoped_var):
24813 (JSC::JIT::emit_op_unexpected_load):
24823 (JSC::JIT::emitSlow_op_sub):
24824 (JSC::JIT::emitSlowSub32InPlaceLeft):
24835 (JSC::JIT::emit_op_get_by_id):
24836 (JSC::JIT::emitSlow_op_get_by_id):
24837 (JSC::JIT::emit_op_put_by_id):
24838 (JSC::JIT::emitSlow_op_put_by_id):
24848 (JSC::JITStubCall::JITStubCall):
24849 (JSC::JITStubCall::addArgument):
24860 (JSC::JIT::emitSlow_op_put_by_id):
24861 (JSC::JIT::emitSlow_op_get_by_id):
24862 (JSC::JIT::emit_op_get_by_val):
24863 (JSC::JIT::emitSlow_op_get_by_val):
24864 (JSC::JIT::emit_op_put_by_val):
24865 (JSC::JIT::emitSlow_op_put_by_val):
24866 (JSC::JIT::emit_op_put_by_index):
24867 (JSC::JIT::emit_op_put_getter):
24868 (JSC::JIT::emit_op_put_setter):
24869 (JSC::JIT::emit_op_del_by_id):
24870 (JSC::JIT::compileGetByIdHotPath):
24871 (JSC::JIT::compilePutByIdHotPath):
24873 (JSC::JITStubCall::addArgument):
24893 (JSC::JIT::emitSlow_op_add):
24894 (JSC::JIT::emitSlowAdd32InPlace):
24903 (JSC::JIT::emitSlow_op_jnless):
24904 (JSC::JIT::emitSlow_op_jnlesseq):
24914 (JSC::JIT::emit_op_jnless):
24915 (JSC::JIT::emitSlow_op_jnless):
24916 (JSC::JIT::emit_op_jnlesseq):
24917 (JSC::JIT::emitSlow_op_jnlesseq):
24919 (JSC::JIT::emit_op_loop_if_less):
24920 (JSC::JIT::emitSlow_op_loop_if_less):
24921 (JSC::JIT::emit_op_loop_if_lesseq):
24922 (JSC::JIT::emitSlow_op_loop_if_lesseq):
24932 (JSC::JIT::recordJumpTarget):
24934 (JSC::JIT::emit_op_jmp):
24935 (JSC::JIT::emit_op_jsr):
24936 (JSC::JIT::emit_op_jmp_scopes):
24943 (JSC::MacroAssemblerX86Common::set8):
24954 (JSC::JIT::emit_op_post_inc):
24955 (JSC::JIT::emitSlow_op_post_inc):
24956 (JSC::JIT::emit_op_post_dec):
24957 (JSC::JIT::emitSlow_op_post_dec):
24958 (JSC::JIT::emitSlow_op_pre_inc):
24959 (JSC::JIT::emitSlow_op_pre_dec):
24968 (JSC::JIT::emit_op_jmp):
24969 (JSC::JIT::emit_op_loop):
24970 (JSC::JIT::emit_op_eq):
24971 (JSC::JIT::emitSlow_op_eq):
24972 (JSC::JIT::emit_op_neq):
24973 (JSC::JIT::emitSlow_op_neq):
24974 (JSC::JIT::emit_op_enter):
24975 (JSC::JIT::emit_op_enter_with_activation):
24984 (JSC::JIT::emitSlow_op_lshift):
24985 (JSC::JIT::emitSlow_op_rshift):
24986 (JSC::JIT::emitSlow_op_bitand):
24987 (JSC::JIT::emitSlow_op_bitor):
24988 (JSC::JIT::emitSlow_op_bitxor):
24989 (JSC::JIT::emitSlow_op_bitnot):
24990 (JSC::JIT::emitSlow_op_sub):
24991 (JSC::JIT::emitSlow_op_mul):
24992 (JSC::JIT::emitSlow_op_mod):
24993 (JSC::JIT::emit_op_mod):
25002 (JSC::MacroAssemblerX86Common::not32):
25004 (JSC::X86Assembler::notl_m):
25006 (JSC::JIT::emit_op_bitnot):
25016 (JSC::JIT::emit_op_jnless):
25017 (JSC::JIT::emitSlow_op_jnless):
25018 (JSC::JIT::emit_op_jnlesseq):
25019 (JSC::JIT::emitSlow_op_jnlesseq):
25020 (JSC::JIT::emit_op_lshift):
25021 (JSC::JIT::emitSlow_op_lshift):
25022 (JSC::JIT::emit_op_rshift):
25023 (JSC::JIT::emitSlow_op_rshift):
25024 (JSC::JIT::emit_op_bitand):
25025 (JSC::JIT::emitBitAnd32Constant):
25026 (JSC::JIT::emitBitAnd32InPlace):
25027 (JSC::JIT::emit_op_bitor):
25028 (JSC::JIT::emitSlow_op_bitor):
25029 (JSC::JIT::emitBitOr32Constant):
25030 (JSC::JIT::emitBitOr32InPlace):
25031 (JSC::JIT::emit_op_bitxor):
25032 (JSC::JIT::emitSlow_op_bitxor):
25033 (JSC::JIT::emitBitXor32Constant):
25034 (JSC::JIT::emitBitXor32InPlace):
25035 (JSC::JIT::emit_op_bitnot):
25036 (JSC::JIT::emitSlow_op_bitnot):
25037 (JSC::JIT::emit_op_post_inc):
25038 (JSC::JIT::emitSlow_op_post_inc):
25039 (JSC::JIT::emit_op_post_dec):
25040 (JSC::JIT::emitSlow_op_post_dec):
25041 (JSC::JIT::emit_op_pre_inc):
25042 (JSC::JIT::emitSlow_op_pre_inc):
25043 (JSC::JIT::emit_op_pre_dec):
25044 (JSC::JIT::emitSlow_op_pre_dec):
25045 (JSC::JIT::emit_op_add):
25046 (JSC::JIT::emitAdd32Constant):
25047 (JSC::JIT::emitAdd32InPlace):
25048 (JSC::JIT::emitSlow_op_add):
25049 (JSC::JIT::emit_op_sub):
25050 (JSC::JIT::emitSlow_op_sub):
25051 (JSC::JIT::emitSub32ConstantLeft):
25052 (JSC::JIT::emitSub32ConstantRight):
25053 (JSC::JIT::emitSub32InPlaceLeft):
25054 (JSC::JIT::emitSub32InPlaceRight):
25055 (JSC::JIT::emit_op_mul):
25056 (JSC::JIT::emitSlow_op_mul):
25057 (JSC::JIT::emitMul32Constant):
25058 (JSC::JIT::emitMul32InPlace):
25059 (JSC::JIT::emit_op_mod):
25060 (JSC::JIT::emitSlow_op_mod):
25073 (JSC::JSAPIValueWrapper::toPrimitive):
25074 (JSC::JSAPIValueWrapper::getPrimitiveNumber):
25075 (JSC::JSAPIValueWrapper::toBoolean):
25076 (JSC::JSAPIValueWrapper::toNumber):
25077 (JSC::JSAPIValueWrapper::toString):
25078 (JSC::JSAPIValueWrapper::toObject):
25080 (JSC::JSAPIValueWrapper::value):
25081 (JSC::JSAPIValueWrapper::isAPIValueWrapper):
25082 (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
25083 (JSC::jsAPIValueWrapper):
25098 (JSC::CodeBlock::~CodeBlock):
25101 (JSC::JIT::compileOpStrictEq):
25104 (JSC::JIT::emit_op_lshift):
25105 (JSC::JIT::emitSlow_op_lshift):
25106 (JSC::JIT::emit_op_rshift):
25107 (JSC::JIT::emitSlow_op_rshift):
25108 (JSC::JIT::emit_op_jnless):
25109 (JSC::JIT::emitSlow_op_jnless):
25110 (JSC::JIT::emit_op_jnlesseq):
25111 (JSC::JIT::emitSlow_op_jnlesseq):
25112 (JSC::JIT::emit_op_bitand):
25113 (JSC::JIT::emitSlow_op_bitand):
25114 (JSC::JIT::emit_op_post_inc):
25115 (JSC::JIT::emitSlow_op_post_inc):
25116 (JSC::JIT::emit_op_post_dec):
25117 (JSC::JIT::emitSlow_op_post_dec):
25118 (JSC::JIT::emit_op_pre_inc):
25119 (JSC::JIT::emitSlow_op_pre_inc):
25120 (JSC::JIT::emit_op_pre_dec):
25121 (JSC::JIT::emitSlow_op_pre_dec):
25122 (JSC::JIT::emit_op_mod):
25123 (JSC::JIT::emitSlow_op_mod):
25124 (JSC::JIT::emit_op_add):
25125 (JSC::JIT::emit_op_mul):
25126 (JSC::JIT::emit_op_sub):
25127 (JSC::JIT::compileBinaryArithOpSlowCase):
25128 (JSC::JIT::emitSlow_op_add):
25129 (JSC::JIT::emitSlow_op_mul):
25131 (JSC::JIT::compileOpCallInitializeCallFrame):
25132 (JSC::JIT::compileOpConstructSetupArgs):
25133 (JSC::JIT::compileOpCallVarargs):
25134 (JSC::JIT::compileOpCall):
25135 (JSC::JIT::compileOpCallSlowCase):
25137 (JSC::JIT::getConstantOperandImmediateInt):
25138 (JSC::JIT::isOperandConstantImmediateInt):
25139 (JSC::JIT::emitInitRegister):
25140 (JSC::JIT::addSlowCase):
25141 (JSC::JIT::addJump):
25142 (JSC::JIT::emitJumpSlowToHot):
25143 (JSC::JIT::tagFor):
25144 (JSC::JIT::payloadFor):
25145 (JSC::JIT::emitLoad):
25146 (JSC::JIT::emitLoadReturnValue):
25147 (JSC::JIT::emitStore):
25148 (JSC::JIT::emitStoreReturnValue):
25150 (JSC::JIT::emit_op_mov):
25151 (JSC::JIT::emit_op_end):
25152 (JSC::JIT::emit_op_jmp):
25153 (JSC::JIT::emit_op_loop):
25154 (JSC::JIT::emit_op_loop_if_less):
25155 (JSC::JIT::emit_op_loop_if_lesseq):
25156 (JSC::JIT::emit_op_instanceof):
25157 (JSC::JIT::emit_op_get_global_var):
25158 (JSC::JIT::emit_op_put_global_var):
25159 (JSC::JIT::emit_op_get_scoped_var):
25160 (JSC::JIT::emit_op_put_scoped_var):
25161 (JSC::JIT::emit_op_tear_off_activation):
25162 (JSC::JIT::emit_op_ret):
25163 (JSC::JIT::emit_op_construct_verify):
25164 (JSC::JIT::emit_op_to_primitive):
25165 (JSC::JIT::emit_op_loop_if_true):
25166 (JSC::JIT::emit_op_resolve_global):
25167 (JSC::JIT::emit_op_not):
25168 (JSC::JIT::emit_op_jfalse):
25169 (JSC::JIT::emit_op_jeq_null):
25170 (JSC::JIT::emit_op_jneq_null):
25171 (JSC::JIT::emit_op_jneq_ptr):
25172 (JSC::JIT::emit_op_unexpected_load):
25173 (JSC::JIT::emit_op_eq):
25174 (JSC::JIT::emit_op_bitnot):
25175 (JSC::JIT::emit_op_jtrue):
25176 (JSC::JIT::emit_op_neq):
25177 (JSC::JIT::emit_op_bitxor):
25178 (JSC::JIT::emit_op_bitor):
25179 (JSC::JIT::emit_op_throw):
25180 (JSC::JIT::emit_op_next_pname):
25181 (JSC::JIT::emit_op_push_scope):
25182 (JSC::JIT::emit_op_to_jsnumber):
25183 (JSC::JIT::emit_op_push_new_scope):
25184 (JSC::JIT::emit_op_catch):
25185 (JSC::JIT::emit_op_switch_imm):
25186 (JSC::JIT::emit_op_switch_char):
25187 (JSC::JIT::emit_op_switch_string):
25188 (JSC::JIT::emit_op_new_error):
25189 (JSC::JIT::emit_op_eq_null):
25190 (JSC::JIT::emit_op_neq_null):
25191 (JSC::JIT::emit_op_convert_this):
25192 (JSC::JIT::emit_op_profile_will_call):
25193 (JSC::JIT::emit_op_profile_did_call):
25194 (JSC::JIT::emitSlow_op_construct_verify):
25195 (JSC::JIT::emitSlow_op_get_by_val):
25196 (JSC::JIT::emitSlow_op_loop_if_less):
25197 (JSC::JIT::emitSlow_op_loop_if_lesseq):
25198 (JSC::JIT::emitSlow_op_put_by_val):
25199 (JSC::JIT::emitSlow_op_not):
25200 (JSC::JIT::emitSlow_op_instanceof):
25202 (JSC::JIT::emit_op_get_by_val):
25203 (JSC::JIT::emit_op_put_by_val):
25204 (JSC::JIT::emit_op_put_by_index):
25205 (JSC::JIT::emit_op_put_getter):
25206 (JSC::JIT::emit_op_put_setter):
25207 (JSC::JIT::emit_op_del_by_id):
25208 (JSC::JIT::compileGetByIdHotPath):
25209 (JSC::JIT::compilePutByIdHotPath):
25211 (JSC::JITStubCall::JITStubCall):
25212 (JSC::JITStubCall::addArgument):
25213 (JSC::JITStubCall::call):
25214 (JSC::JITStubCall::):
25215 (JSC::CallEvalJITStub::CallEvalJITStub):
25217 (JSC::):
25218 (JSC::JITStubs::cti_op_add):
25219 (JSC::JITStubs::cti_op_pre_inc):
25220 (JSC::JITStubs::cti_op_mul):
25221 (JSC::JITStubs::cti_op_get_by_val):
25222 (JSC::JITStubs::cti_op_get_by_val_string):
25223 (JSC::JITStubs::cti_op_get_by_val_byte_array):
25224 (JSC::JITStubs::cti_op_sub):
25225 (JSC::JITStubs::cti_op_put_by_val):
25226 (JSC::JITStubs::cti_op_put_by_val_array):
25227 (JSC::JITStubs::cti_op_put_by_val_byte_array):
25228 (JSC::JITStubs::cti_op_negate):
25229 (JSC::JITStubs::cti_op_div):
25230 (JSC::JITStubs::cti_op_pre_dec):
25231 (JSC::JITStubs::cti_op_post_inc):
25232 (JSC::JITStubs::cti_op_eq):
25233 (JSC::JITStubs::cti_op_lshift):
25234 (JSC::JITStubs::cti_op_bitand):
25235 (JSC::JITStubs::cti_op_rshift):
25236 (JSC::JITStubs::cti_op_bitnot):
25237 (JSC::JITStubs::cti_op_mod):
25238 (JSC::JITStubs::cti_op_neq):
25239 (JSC::JITStubs::cti_op_post_dec):
25240 (JSC::JITStubs::cti_op_urshift):
25241 (JSC::JITStubs::cti_op_bitxor):
25242 (JSC::JITStubs::cti_op_bitor):
25243 (JSC::JITStubs::cti_op_switch_imm):
25246 (JSC::JSArray::JSArray):
25248 (JSC::JSFunction::~JSFunction):
25250 (JSC::JSValue::payload):
25260 (JSC::MacroAssemblerX86Common::add32):
25261 (JSC::MacroAssemblerX86Common::and32):
25262 (JSC::MacroAssemblerX86Common::mul32):
25263 (JSC::MacroAssemblerX86Common::neg32):
25264 (JSC::MacroAssemblerX86Common::or32):
25265 (JSC::MacroAssemblerX86Common::sub32):
25266 (JSC::MacroAssemblerX86Common::xor32):
25267 (JSC::MacroAssemblerX86Common::branchAdd32):
25268 (JSC::MacroAssemblerX86Common::branchMul32):
25269 (JSC::MacroAssemblerX86Common::branchSub32):
25271 (JSC::X86Assembler::):
25272 (JSC::X86Assembler::addl_rm):
25273 (JSC::X86Assembler::andl_mr):
25274 (JSC::X86Assembler::andl_rm):
25275 (JSC::X86Assembler::andl_im):
25276 (JSC::X86Assembler::negl_r):
25277 (JSC::X86Assembler::notl_r):
25278 (JSC::X86Assembler::orl_rm):
25279 (JSC::X86Assembler::orl_im):
25280 (JSC::X86Assembler::subl_rm):
25281 (JSC::X86Assembler::xorl_mr):
25282 (JSC::X86Assembler::xorl_rm):
25283 (JSC::X86Assembler::xorl_im):
25284 (JSC::X86Assembler::imull_mr):
25294 (JSC::Heap::Heap):
25295 (JSC::Heap::destroy):
25296 (JSC::Heap::recordExtraCost):
25297 (JSC::Heap::heapAllocate):
25298 (JSC::Heap::markConservatively):
25299 (JSC::Heap::sweep):
25300 (JSC::Heap::collect):
25301 (JSC::Heap::objectCount):
25302 (JSC::Heap::statistics):
25303 (JSC::typeName):
25304 (JSC::Heap::isBusy):
25306 (JSC::Heap::globalData):
25320 (JSC::::hasInstance):
25321 (JSC::::toNumber):
25322 (JSC::::toString):
25329 (JSC::valueToSourceString):
25331 (JSC::BytecodeGenerator::emitLoad):
25332 (JSC::BytecodeGenerator::emitUnexpectedLoad):
25333 (JSC::keyForImmediateSwitch):
25336 (JSC::Interpreter::dumpRegisters):
25337 (JSC::Interpreter::privateExecute):
25339 (JSC::ArrayNode::emitBytecode):
25340 (JSC::processClauseList):
25343 (JSC::sizeof):
25348 (JSC::JSArray::JSArray):
25351 (JSC::JSCell::isAPIValueWrapper):
25352 (JSC::JSValue::isString):
25353 (JSC::JSValue::isGetterSetter):
25354 (JSC::JSValue::isObject):
25355 (JSC::JSValue::getString):
25356 (JSC::JSValue::getObject):
25357 (JSC::JSValue::getCallData):
25358 (JSC::JSValue::getConstructData):
25359 (JSC::JSValue::getUInt32):
25360 (JSC::JSValue::marked):
25361 (JSC::JSValue::toPrimitive):
25362 (JSC::JSValue::getPrimitiveNumber):
25363 (JSC::JSValue::toBoolean):
25364 (JSC::JSValue::toNumber):
25365 (JSC::JSValue::toString):
25366 (JSC::JSValue::needsThisConversion):
25367 (JSC::JSValue::toThisString):
25368 (JSC::JSValue::getJSNumber):
25369 (JSC::JSValue::toObject):
25370 (JSC::JSValue::toThisObject):
25372 (JSC::JSGlobalData::JSGlobalData):
25375 (JSC::Structure::prototypeForLookup):
25377 (JSC::globalFuncParseInt):
25382 (JSC::JSValue::get):
25383 (JSC::JSValue::put):
25385 (JSC::JSValue::toThisJSString):
25387 (JSC::JSValue::toInteger):
25388 (JSC::JSValue::toIntegerPreserveNaN):
25389 (JSC::JSValue::toObjectSlowCase):
25390 (JSC::JSValue::toThisObjectSlowCase):
25391 (JSC::JSValue::synthesizeObject):
25392 (JSC::JSValue::synthesizePrototype):
25393 (JSC::JSValue::description):
25394 (JSC::nonInlineNaN):
25396 (JSC::JSValue::):
25397 (JSC::EncodedJSValueHashTraits::emptyValue):
25398 (JSC::jsNaN):
25399 (JSC::operator==):
25400 (JSC::operator!=):
25401 (JSC::toInt32):
25402 (JSC::toUInt32):
25403 (JSC::JSValue::encode):
25404 (JSC::JSValue::decode):
25405 (JSC::JSValue::JSValue):
25406 (JSC::JSValue::operator bool):
25407 (JSC::JSValue::operator==):
25408 (JSC::JSValue::operator!=):
25409 (JSC::JSValue::isUndefined):
25410 (JSC::JSValue::isNull):
25411 (JSC::JSValue::isUndefinedOrNull):
25412 (JSC::JSValue::isCell):
25413 (JSC::JSValue::isInt32):
25414 (JSC::JSValue::isUInt32):
25415 (JSC::JSValue::isDouble):
25416 (JSC::JSValue::isTrue):
25417 (JSC::JSValue::isFalse):
25418 (JSC::JSValue::tag):
25419 (JSC::JSValue::asInt32):
25420 (JSC::JSValue::asUInt32):
25421 (JSC::JSValue::asDouble):
25422 (JSC::JSValue::asCell):
25423 (JSC::JSValue::isNumber):
25424 (JSC::JSValue::isBoolean):
25425 (JSC::JSValue::getBoolean):
25426 (JSC::JSValue::uncheckedGetNumber):
25427 (JSC::JSValue::toJSNumber):
25428 (JSC::JSValue::getNumber):
25429 (JSC::JSValue::toInt32):
25430 (JSC::JSValue::toUInt32):
25432 (JSC::JSValue::equal):
25433 (JSC::JSValue::equalSlowCaseInline):
25434 (JSC::JSValue::strictEqual):
25435 (JSC::JSValue::strictEqualSlowCaseInline):
25436 (JSC::jsLess):
25437 (JSC::jsLessEq):
25438 (JSC::jsAdd):
25441 (JSC::stringProtoFuncCharAt):
25442 (JSC::stringProtoFuncCharCodeAt):
25443 (JSC::stringProtoFuncIndexOf):
25531 (JSC::JIT::privateCompile):
25532 (JSC::JIT::privateCompileCTIMachineTrampolines):
25535 (JSC::JIT::preserveReturnAddressAfterCall):
25537 (JSC::JIT::privateCompilePutByIdTransition):
25543 * runtime/JSLock.cpp: (JSC::JSLock::JSLock): Fix "no threading" case.
25549 * runtime/JSLock.h: (JSC::JSLock::~JSLock):
25570 (JSC::Heap::destroy):
25572 (JSC::JSLock::JSLock):
25573 (JSC::JSLock::lock):
25574 (JSC::JSLock::unlock):
25575 (JSC::JSLock::DropAllLocks::DropAllLocks):
25576 (JSC::JSLock::DropAllLocks::~DropAllLocks):
25578 (JSC::):
25579 (JSC::JSLock::JSLock):
25580 (JSC::JSLock::~JSLock):
25663 (JSC::ARMAssembler::linkBranch):
25667 (JSC::ARMAssembler::patchPointerInternal):
25668 (JSC::ARMAssembler::repatchLoadPtrToLEA):
25672 (JSC::ARMv7Assembler::relinkJump):
25673 (JSC::ARMv7Assembler::relinkCall):
25674 (JSC::ARMv7Assembler::repatchInt32):
25675 (JSC::ARMv7Assembler::repatchPointer):
25676 (JSC::ARMv7Assembler::repatchLoadPtrToLEA):
25677 (JSC::ARMv7Assembler::setInt32):
25681 (JSC::LinkBuffer::performFinalization):
25685 (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
25689 (JSC::RepatchBuffer::RepatchBuffer):
25690 (JSC::RepatchBuffer::~RepatchBuffer):
25694 (JSC::X86Assembler::relinkJump):
25695 (JSC::X86Assembler::relinkCall):
25696 (JSC::X86Assembler::repatchInt32):
25697 (JSC::X86Assembler::repatchPointer):
25698 (JSC::X86Assembler::repatchLoadPtrToLEA):
25702 (JSC::CodeBlock::getJITCode):
25706 (JSC::ExecutableAllocator::makeExecutable):
25707 (JSC::ExecutableAllocator::cacheFlush):
25711 (JSC::ctiPatchNearCallByReturnAddress):
25712 (JSC::ctiPatchCallByReturnAddress):
25713 (JSC::JIT::privateCompile):
25714 (JSC::JIT::unlinkCall):
25715 (JSC::JIT::linkCall):
25722 (JSC::JITCode::start):
25723 (JSC::JITCode::size):
25727 (JSC::JIT::privateCompilePutByIdTransition):
25728 (JSC::JIT::patchGetByIdSelf):
25729 (JSC::JIT::patchMethodCallProto):
25730 (JSC::JIT::patchPutByIdReplace):
25731 (JSC::JIT::privateCompilePatchGetArrayLength):
25732 (JSC::JIT::privateCompileGetByIdProto):
25733 (JSC::JIT::privateCompileGetByIdSelfList):
25734 (JSC::JIT::privateCompileGetByIdProtoList):
25735 (JSC::JIT::privateCompileGetByIdChainList):
25736 (JSC::JIT::privateCompileGetByIdChain):
25740 (JSC::JITThunks::tryCachePutByID):
25741 (JSC::JITThunks::tryCacheGetByID):
25742 (JSC::JITStubs::DEFINE_STUB_FUNCTION):
25754 (JSC::CodeBlock::~CodeBlock):
25756 (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
25758 (JSC::JIT::patchMethodCallProto):
25775 (JSC::MacroAssemblerARM::linkCall):
25776 (JSC::MacroAssemblerARM::repatchCall):
25778 (JSC::MacroAssemblerARMv7::linkCall):
25779 (JSC::MacroAssemblerARMv7::repatchCall):
25781 (JSC::MacroAssemblerX86::linkCall):
25782 (JSC::MacroAssemblerX86::repatchCall):
25784 (JSC::MacroAssemblerX86_64::linkCall):
25785 (JSC::MacroAssemblerX86_64::repatchCall):
25811 (JSC::ARMAssembler::linkPointer):
25815 (JSC::ARMv7Assembler::linkCall):
25816 (JSC::ARMv7Assembler::linkPointer):
25817 (JSC::ARMv7Assembler::relinkCall):
25818 (JSC::ARMv7Assembler::repatchInt32):
25819 (JSC::ARMv7Assembler::repatchPointer):
25820 (JSC::ARMv7Assembler::setInt32):
25821 (JSC::ARMv7Assembler::setPointer):
25825 (JSC::AbstractMacroAssembler::linkJump):
25826 (JSC::AbstractMacroAssembler::linkCall):
25827 (JSC::AbstractMacroAssembler::linkPointer):
25828 (JSC::AbstractMacroAssembler::getLinkerAddress):
25829 (JSC::AbstractMacroAssembler::getLinkerCallReturnOffset):
25830 (JSC::AbstractMacroAssembler::repatchJump):
25831 (JSC::AbstractMacroAssembler::repatchCall):
25832 (JSC::AbstractMacroAssembler::repatchNearCall):
25833 (JSC::AbstractMacroAssembler::repatchInt32):
25834 (JSC::AbstractMacroAssembler::repatchPointer):
25835 (JSC::AbstractMacroAssembler::repatchLoadPtrToLEA):
25839 (JSC::LinkBuffer::LinkBuffer):
25840 (JSC::LinkBuffer::~LinkBuffer):
25841 (JSC::LinkBuffer::link):
25842 (JSC::LinkBuffer::patch):
25843 (JSC::LinkBuffer::locationOf):
25844 (JSC::LinkBuffer::locationOfNearCall):
25845 (JSC::LinkBuffer::returnAddressOffset):
25846 (JSC::LinkBuffer::finalizeCode):
25847 (JSC::LinkBuffer::finalizeCodeAddendum):
25848 (JSC::LinkBuffer::code):
25849 (JSC::LinkBuffer::performFinalization):
25853 (JSC::RepatchBuffer::RepatchBuffer):
25854 (JSC::RepatchBuffer::relink):
25855 (JSC::RepatchBuffer::repatch):
25856 (JSC::RepatchBuffer::repatchLoadPtrToLEA):
25857 (JSC::RepatchBuffer::relinkCallerToTrampoline):
25858 (JSC::RepatchBuffer::relinkCallerToFunction):
25859 (JSC::RepatchBuffer::relinkNearCallerToTrampoline):
25863 (JSC::X86Assembler::linkJump):
25864 (JSC::X86Assembler::linkCall):
25865 (JSC::X86Assembler::linkPointerForCall):
25866 (JSC::X86Assembler::linkPointer):
25867 (JSC::X86Assembler::relinkJump):
25868 (JSC::X86Assembler::relinkCall):
25869 (JSC::X86Assembler::repatchInt32):
25870 (JSC::X86Assembler::repatchPointer):
25871 (JSC::X86Assembler::setPointer):
25872 (JSC::X86Assembler::setInt32):
25873 (JSC::X86Assembler::setRel32):
25877 (JSC::ctiPatchNearCallByReturnAddress):
25878 (JSC::ctiPatchCallByReturnAddress):
25950 (JSC::JSArray::putSlowCase):
25951 (JSC::JSArray::increaseVectorLength):
25953 (JSC::stringProtoFuncFontsize):
25954 (JSC::stringProtoFuncLink):
25956 (JSC::allocChars):
25957 (JSC::reallocChars):
25958 (JSC::expandCapacity):
25959 (JSC::UString::Rep::reserveCapacity):
25960 (JSC::UString::expandPreCapacity):
25961 (JSC::createRep):
25962 (JSC::concatenate):
25963 (JSC::UString::spliceSubstringsWithSeparators):
25964 (JSC::UString::replaceRange):
25965 (JSC::UString::append):
25966 (JSC::UString::operator=):
25968 (JSC::UString::Rep::createEmptyBuffer):
26138 (JSC::ARMAssembler::getLdrImmAddress):
26139 (JSC::ARMAssembler::linkBranch):
26140 (JSC::ARMAssembler::patchConstantPoolLoad):
26141 (JSC::ARMAssembler::getOp2):
26142 (JSC::ARMAssembler::genInt):
26143 (JSC::ARMAssembler::getImm):
26144 (JSC::ARMAssembler::moveImm):
26145 (JSC::ARMAssembler::dataTransfer32):
26146 (JSC::ARMAssembler::baseIndexTransfer32):
26147 (JSC::ARMAssembler::executableCopy):
26149 (JSC::ARM::):
26150 (JSC::ARMAssembler::ARMAssembler):
26151 (JSC::ARMAssembler::):
26152 (JSC::ARMAssembler::JmpSrc::JmpSrc):
26153 (JSC::ARMAssembler::JmpSrc::enableLatePatch):
26154 (JSC::ARMAssembler::JmpDst::JmpDst):
26155 (JSC::ARMAssembler::JmpDst::isUsed):
26156 (JSC::ARMAssembler::JmpDst::used):
26157 (JSC::ARMAssembler::emitInst):
26158 (JSC::ARMAssembler::and_r):
26159 (JSC::ARMAssembler::ands_r):
26160 (JSC::ARMAssembler::eor_r):
26161 (JSC::ARMAssembler::eors_r):
26162 (JSC::ARMAssembler::sub_r):
26163 (JSC::ARMAssembler::subs_r):
26164 (JSC::ARMAssembler::rsb_r):
26165 (JSC::ARMAssembler::rsbs_r):
26166 (JSC::ARMAssembler::add_r):
26167 (JSC::ARMAssembler::adds_r):
26168 (JSC::ARMAssembler::adc_r):
26169 (JSC::ARMAssembler::adcs_r):
26170 (JSC::ARMAssembler::sbc_r):
26171 (JSC::ARMAssembler::sbcs_r):
26172 (JSC::ARMAssembler::rsc_r):
26173 (JSC::ARMAssembler::rscs_r):
26174 (JSC::ARMAssembler::tst_r):
26175 (JSC::ARMAssembler::teq_r):
26176 (JSC::ARMAssembler::cmp_r):
26177 (JSC::ARMAssembler::orr_r):
26178 (JSC::ARMAssembler::orrs_r):
26179 (JSC::ARMAssembler::mov_r):
26180 (JSC::ARMAssembler::movs_r):
26181 (JSC::ARMAssembler::bic_r):
26182 (JSC::ARMAssembler::bics_r):
26183 (JSC::ARMAssembler::mvn_r):
26184 (JSC::ARMAssembler::mvns_r):
26185 (JSC::ARMAssembler::mul_r):
26186 (JSC::ARMAssembler::muls_r):
26187 (JSC::ARMAssembler::mull_r):
26188 (JSC::ARMAssembler::ldr_imm):
26189 (JSC::ARMAssembler::ldr_un_imm):
26190 (JSC::ARMAssembler::dtr_u):
26191 (JSC::ARMAssembler::dtr_ur):
26192 (JSC::ARMAssembler::dtr_d):
26193 (JSC::ARMAssembler::dtr_dr):
26194 (JSC::ARMAssembler::ldrh_r):
26195 (JSC::ARMAssembler::ldrh_d):
26196 (JSC::ARMAssembler::ldrh_u):
26197 (JSC::ARMAssembler::strh_r):
26198 (JSC::ARMAssembler::push_r):
26199 (JSC::ARMAssembler::pop_r):
26200 (JSC::ARMAssembler::poke_r):
26201 (JSC::ARMAssembler::peek_r):
26202 (JSC::ARMAssembler::clz_r):
26203 (JSC::ARMAssembler::bkpt):
26204 (JSC::ARMAssembler::lsl):
26205 (JSC::ARMAssembler::lsr):
26206 (JSC::ARMAssembler::asr):
26207 (JSC::ARMAssembler::lsl_r):
26208 (JSC::ARMAssembler::lsr_r):
26209 (JSC::ARMAssembler::asr_r):
26210 (JSC::ARMAssembler::size):
26211 (JSC::ARMAssembler::ensureSpace):
26212 (JSC::ARMAssembler::label):
26213 (JSC::ARMAssembler::align):
26214 (JSC::ARMAssembler::jmp):
26215 (JSC::ARMAssembler::patchPointerInternal):
26216 (JSC::ARMAssembler::patchConstantPoolLoad):
26217 (JSC::ARMAssembler::patchPointer):
26218 (JSC::ARMAssembler::repatchInt32):
26219 (JSC::ARMAssembler::repatchPointer):
26220 (JSC::ARMAssembler::repatchLoadPtrToLEA):
26221 (JSC::ARMAssembler::linkJump):
26222 (JSC::ARMAssembler::relinkJump):
26223 (JSC::ARMAssembler::linkCall):
26224 (JSC::ARMAssembler::relinkCall):
26225 (JSC::ARMAssembler::getRelocatedAddress):
26226 (JSC::ARMAssembler::getDifferenceBetweenLabels):
26227 (JSC::ARMAssembler::getCallReturnOffset):
26228 (JSC::ARMAssembler::getOp2Byte):
26229 (JSC::ARMAssembler::placeConstantPoolBarrier):
26230 (JSC::ARMAssembler::RM):
26231 (JSC::ARMAssembler::RS):
26232 (JSC::ARMAssembler::RD):
26233 (JSC::ARMAssembler::RN):
26234 (JSC::ARMAssembler::getConditionalField):
26236 (JSC::ARMv7Assembler::JmpSrc::enableLatePatch):
26238 (JSC::AbstractMacroAssembler::Call::enableLatePatch):
26239 (JSC::AbstractMacroAssembler::Jump::enableLatePatch):
26242 (JSC::MacroAssemblerARM::):
26243 (JSC::MacroAssemblerARM::add32):
26244 (JSC::MacroAssemblerARM::and32):
26245 (JSC::MacroAssemblerARM::lshift32):
26246 (JSC::MacroAssemblerARM::mul32):
26247 (JSC::MacroAssemblerARM::not32):
26248 (JSC::MacroAssemblerARM::or32):
26249 (JSC::MacroAssemblerARM::rshift32):
26250 (JSC::MacroAssemblerARM::sub32):
26251 (JSC::MacroAssemblerARM::xor32):
26252 (JSC::MacroAssemblerARM::load32):
26253 (JSC::MacroAssemblerARM::load32WithAddressOffsetPatch):
26254 (JSC::MacroAssemblerARM::loadPtrWithPatchToLEA):
26255 (JSC::MacroAssemblerARM::load16):
26256 (JSC::MacroAssemblerARM::store32WithAddressOffsetPatch):
26257 (JSC::MacroAssemblerARM::store32):
26258 (JSC::MacroAssemblerARM::pop):
26259 (JSC::MacroAssemblerARM::push):
26260 (JSC::MacroAssemblerARM::move):
26261 (JSC::MacroAssemblerARM::swap):
26262 (JSC::MacroAssemblerARM::signExtend32ToPtr):
26263 (JSC::MacroAssemblerARM::zeroExtend32ToPtr):
26264 (JSC::MacroAssemblerARM::branch32):
26265 (JSC::MacroAssemblerARM::branch16):
26266 (JSC::MacroAssemblerARM::branchTest32):
26267 (JSC::MacroAssemblerARM::jump):
26268 (JSC::MacroAssemblerARM::branchAdd32):
26269 (JSC::MacroAssemblerARM::mull32):
26270 (JSC::MacroAssemblerARM::branchMul32):
26271 (JSC::MacroAssemblerARM::branchSub32):
26272 (JSC::MacroAssemblerARM::breakpoint):
26273 (JSC::MacroAssemblerARM::nearCall):
26274 (JSC::MacroAssemblerARM::call):
26275 (JSC::MacroAssemblerARM::ret):
26276 (JSC::MacroAssemblerARM::set32):
26277 (JSC::MacroAssemblerARM::setTest32):
26278 (JSC::MacroAssemblerARM::tailRecursiveCall):
26279 (JSC::MacroAssemblerARM::makeTailRecursiveCall):
26280 (JSC::MacroAssemblerARM::moveWithPatch):
26281 (JSC::MacroAssemblerARM::branchPtrWithPatch):
26282 (JSC::MacroAssemblerARM::storePtrWithPatch):
26283 (JSC::MacroAssemblerARM::supportsFloatingPoint):
26284 (JSC::MacroAssemblerARM::supportsFloatingPointTruncate):
26285 (JSC::MacroAssemblerARM::loadDouble):
26286 (JSC::MacroAssemblerARM::storeDouble):
26287 (JSC::MacroAssemblerARM::addDouble):
26288 (JSC::MacroAssemblerARM::subDouble):
26289 (JSC::MacroAssemblerARM::mulDouble):
26290 (JSC::MacroAssemblerARM::convertInt32ToDouble):
26291 (JSC::MacroAssemblerARM::branchDouble):
26292 (JSC::MacroAssemblerARM::branchTruncateDoubleToInt32):
26293 (JSC::MacroAssemblerARM::ARMCondition):
26294 (JSC::MacroAssemblerARM::prepareCall):
26295 (JSC::MacroAssemblerARM::call32):
26297 (JSC::X86Assembler::JmpSrc::enableLatePatch):
26299 (JSC::ExecutableAllocator::cacheFlush):
26302 (JSC::Yarr::RegexGenerator::generateEnter):
26303 (JSC::Yarr::RegexGenerator::generateReturn):
26317 (JSC::AssemblerBuffer::putIntUnchecked):
26318 (JSC::AssemblerBuffer::putInt64Unchecked):
26319 (JSC::AssemblerBuffer::append):
26320 (JSC::AssemblerBuffer::grow):
26322 (JSC::):
26391 (JSC::CodeBlock::~CodeBlock):
26392 (JSC::CodeBlock::unlinkCallers):
26439 (JSC::CodeBlock::~CodeBlock):
26440 (JSC::CodeBlock::unlinkCallers):
26442 (JSC::JIT::unlinkMethodCall):
26546 "illegal explicit conversion from 'WTF::OwnArrayPtr<JSC::Register>' to 'bool'"
26604 (JSC::emitPostIncOrDec):
26618 (JSC::Interpreter::privateExecute):
26877 (JSC::ParserArenaDeletable::operator delete):
26948 (JSC::Interpreter::privateExecute):
26961 (JSC::Interpreter::privateExecute):
27017 (JSC::CodeBlock::dump):
27018 (JSC::CodeBlock::CodeBlock):
27019 (JSC::CodeBlock::mark):
27020 (JSC::CodeBlock::shrinkToFit):
27022 (JSC::CodeBlock::isTemporaryRegisterIndex):
27023 (JSC::CodeBlock::constantRegister):
27024 (JSC::CodeBlock::isConstantRegisterIndex):
27025 (JSC::CodeBlock::getConstant):
27026 (JSC::ExecState::r):
27029 (JSC::BytecodeGenerator::preserveLastVar):
27030 (JSC::BytecodeGenerator::BytecodeGenerator):
27031 (JSC::BytecodeGenerator::addConstantValue):
27032 (JSC::BytecodeGenerator::emitEqualityOp):
27033 (JSC::BytecodeGenerator::emitLoad):
27034 (JSC::BytecodeGenerator::emitResolveBase):
27035 (JSC::BytecodeGenerator::emitResolveWithBase):
27036 (JSC::BytecodeGenerator::emitNewError):
27038 (JSC::BytecodeGenerator::emitNode):
27040 (JSC::ExecState::noCaller):
27041 (JSC::ExecState::hasHostCallFrameFlag):
27042 (JSC::ExecState::addHostCallFrameFlag):
27043 (JSC::ExecState::removeHostCallFrameFlag):
27045 (JSC::Interpreter::resolve):
27046 (JSC::Interpreter::resolveSkip):
27047 (JSC::Interpreter::resolveGlobal):
27048 (JSC::Interpreter::resolveBase):
27049 (JSC::Interpreter::resolveBaseAndProperty):
27050 (JSC::Interpreter::resolveBaseAndFunc):
27051 (JSC::Interpreter::dumpRegisters):
27052 (JSC::Interpreter::throwException):
27053 (JSC::Interpreter::createExceptionScope):
27054 (JSC::Interpreter::privateExecute):
27055 (JSC::Interpreter::retrieveArguments):
27057 (JSC::JIT::privateCompileMainPass):
27059 (JSC::JIT::emitLoadDouble):
27060 (JSC::JIT::emitLoadInt32ToDouble):
27062 (JSC::JIT::emit_op_new_error):
27063 (JSC::JIT::emit_op_enter):
27064 (JSC::JIT::emit_op_enter_with_activation):
27066 (JSC::DeleteResolveNode::emitBytecode):
27067 (JSC::DeleteValueNode::emitBytecode):
27068 (JSC::PrefixResolveNode::emitBytecode):
27070 (JSC::JSActivation::JSActivation):
27086 (JSC::Yarr::RegexGenerator::generateEnter): Save rbx.
27087 (JSC::Yarr::RegexGenerator::generateReturn): Restore rbx.
27133 (JSC::RegExpConstructor::getLastParen):
27148 (JSC::RegExp::match):
27151 (JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
27152 (JSC::RegExpConstructorPrivate::lastOvector):
27153 (JSC::RegExpConstructorPrivate::tempOvector):
27154 (JSC::RegExpConstructorPrivate::changeLastOvector):
27155 (JSC::RegExpConstructor::performMatch):
27156 (JSC::RegExpMatchesArray::RegExpMatchesArray):
27157 (JSC::RegExpMatchesArray::fillArrayInstance):
27158 (JSC::RegExpConstructor::getBackref):
27159 (JSC::RegExpConstructor::getLastParen):
27160 (JSC::RegExpConstructor::getLeftContext):
27161 (JSC::RegExpConstructor::getRightContext):
27163 (JSC::stringProtoFuncSplit):
27233 (JSC::isSafeStringCharacter):
27234 (JSC::LiteralParser::Lexer::lexString):
27247 (JSC::Interpreter::tryCacheGetByID):
27257 void* JSC::Heap::heapAllocate(size_t) [with JSC::HeapType heapType = PrimaryHeap])
27284 (JSC::JIT::compileGetByIdProto):
27285 (JSC::JIT::compileGetByIdSelfList):
27286 (JSC::JIT::compileGetByIdProtoList):
27287 (JSC::JIT::compileGetByIdChainList):
27288 (JSC::JIT::compileGetByIdChain):
27289 (JSC::JIT::compilePutByIdTransition):
27290 (JSC::JIT::compileCTIMachineTrampolines):
27291 (JSC::JIT::compilePatchGetArrayLength):
27293 (JSC::JITStubCall::call):
27374 (JSC::CommaNode::CommaNode):
27376 (JSC::CommaNode::emitBytecode):
27378 (JSC::ExpressionNode::isCommaNode):
27379 (JSC::CommaNode::isCommaNode):
27380 (JSC::CommaNode::append):
27439 (each instance includes copy of JSC::CodeBlock with large SymbolTable, etc.).
27447 (JSC::ProgramNode::generateBytecode):
27448 (JSC::EvalNode::generateBytecode):
27449 (JSC::EvalNode::bytecodeForExceptionInfoReparse):
27450 (JSC::FunctionBodyNode::generateBytecode):
27451 (JSC::FunctionBodyNode::bytecodeForExceptionInfoReparse):
27463 (JSC::Interpreter::tryCachePutByID):
27464 (JSC::Interpreter::tryCacheGetByID):
27466 (JSC::JITThunks::tryCachePutByID):
27468 (JSC::Structure::getEnumerablePropertyNames):
27469 (JSC::Structure::addPropertyTransition):
27471 (JSC::StructureChain::isCacheable):
27492 by the caller before calling any WebKit function that invokes JSC.
27495 (JSC::isPageWritable):
27496 (JSC::getStackBase):
27503 (JSC::currentThreadStackBase):
27521 (JSC::LiteralParser::Lexer::lexNumber):
27522 (JSC::LiteralParser::parse):
27536 (JSC::unwrapBoxedPrimitive): renamed from unwrapNumberOrString
27537 (JSC::gap):
27538 (JSC::Stringifier::appendStringifiedValue):
27550 (JSC::Walker::Walker):
27551 (JSC::Walker::callReviver):
27552 (JSC::Walker::walk):
27553 (JSC::JSONProtoFuncParse):
27565 (JSC::dateProtoFuncToJSON):
27571 Bug 26594: JSC needs to support Date.toISOString
27577 (JSC::dateProtoFuncToISOString):
27584 (JSC::LiteralParser::parse):
27599 (JSC::Interpreter::callEval):
27601 (JSC::globalFuncEval):
27603 (JSC::JSONProtoFuncParse):
27605 (JSC::LiteralParser::Lexer::lex):
27606 (JSC::isSafeStringCharacter):
27607 (JSC::LiteralParser::Lexer::lexString):
27608 (JSC::LiteralParser::parse):
27610 (JSC::LiteralParser::LiteralParser):
27611 (JSC::LiteralParser::tryJSONParse):
27612 (JSC::LiteralParser::):
27613 (JSC::LiteralParser::Lexer::Lexer):
27673 and change "namespace JSC" to "namespace WTF"
27679 JSC to WTF in mangled C++ method name.
27713 (JSC::JIT::privateCompile):
27714 (JSC::JIT::privateCompileCTIMachineTrampolines):
27715 (JSC::JIT::emitGetVariableObjectRegister):
27716 (JSC::JIT::emitPutVariableObjectRegister):
27719 (JSC::JIT::emit_op_rshift):
27720 (JSC::JIT::emitSlow_op_jnless):
27721 (JSC::JIT::emitSlow_op_jnlesseq):
27722 (JSC::JIT::compileBinaryArithOp):
27724 (JSC::JIT::compileOpCallInitializeCallFrame):
27725 (JSC::JIT::compileOpCall):
27727 (JSC::JIT::restoreArgumentReference):
27728 (JSC::JIT::checkStructure):
27730 (JSC::JIT::emit_op_instanceof):
27731 (JSC::JIT::emit_op_get_scoped_var):
27732 (JSC::JIT::emit_op_put_scoped_var):
27733 (JSC::JIT::emit_op_construct_verify):
27734 (JSC::JIT::emit_op_resolve_global):
27735 (JSC::JIT::emit_op_jeq_null):
27736 (JSC::JIT::emit_op_jneq_null):
27737 (JSC::JIT::emit_op_to_jsnumber):
27738 (JSC::JIT::emit_op_catch):
27739 (JSC::JIT::emit_op_eq_null):
27740 (JSC::JIT::emit_op_neq_null):
27741 (JSC::JIT::emit_op_convert_this):
27742 (JSC::JIT::emit_op_profile_will_call):
27743 (JSC::JIT::emit_op_profile_did_call):
27744 (JSC::JIT::emitSlow_op_get_by_val):
27746 (JSC::JIT::emit_op_get_by_val):
27747 (JSC::JIT::emit_op_put_by_val):
27748 (JSC::JIT::emit_op_method_check):
27749 (JSC::JIT::compileGetByIdHotPath):
27750 (JSC::JIT::emit_op_put_by_id):
27751 (JSC::JIT::compilePutDirectOffset):
27752 (JSC::JIT::compileGetDirectOffset):
27753 (JSC::JIT::privateCompilePutByIdTransition):
27754 (JSC::JIT::privateCompilePatchGetArrayLength):
27756 (JSC::JITThunks::JITThunks):
27777 (JSC::AbstractMacroAssembler::Imm32::Imm32):
27780 (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
27782 (JSC::ExecutableAllocator::cacheFlush):
27785 (JSC::JIT::restoreArgumentReferenceForTrampoline):
27790 (JSC::Yarr::RegexGenerator::generateEnter):
27791 (JSC::Yarr::RegexGenerator::generateReturn):
27808 (JSC::JIT::restoreArgumentReference):
27810 (JSC::JIT::emit_op_catch):
27812 (JSC::JITThunks::JITThunks):
27861 (JSC::formatLocaleDate):
27873 (JSC::JSFunction::~JSFunction):
27884 (JSC::RegisterFile::RegisterFile):
27885 (JSC::RegisterFile::grow):
27911 (JSC::CodeBlock::CodeBlock):
27913 (JSC::CodeBlock::derefStructures):
27914 (JSC::CodeBlock::refStructures):
27915 (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
27916 (JSC::CodeBlock::handlerForBytecodeOffset):
27917 (JSC::CodeBlock::lineNumberForBytecodeOffset):
27918 (JSC::CodeBlock::expressionRangeForBytecodeOffset):
27919 (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
27920 (JSC::CodeBlock::functionRegisterForBytecodeOffset):
27921 (JSC::CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset):
27922 (JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
27923 (JSC::CodeBlock::setJITCode):
27928 (JSC::):
27929 (JSC::CodeBlock::source):
27930 (JSC::CodeBlock::sourceOffset):
27931 (JSC::CodeBlock::evalCodeCache):
27932 (JSC::CodeBlock::createRareDataIfNecessary):
27936 (JSC::JIT::privateCompileCTIMachineTrampolines):
27937 (JSC::JIT::linkCall):
27942 (JSC::FunctionBodyNode::createNativeThunk):
27943 (JSC::FunctionBodyNode::isHostFunction):
27946 (JSC::JSFunction::JSFunction):
27947 (JSC::JSFunction::~JSFunction):
27948 (JSC::JSFunction::mark):
27950 (JSC::JSGlobalData::~JSGlobalData):
27992 (JSC::JIT::emit_op_throw):
27997 (JSC::):
27999 (JSC::JITStubs::DEFINE_STUB_FUNCTION):
28028 (JSC::Heap::collect): Add a call to JSONObject::markStringifiers.
28031 (JSC::CommonIdentifiers::CommonIdentifiers): Added emptyIdentifier.
28035 (JSC::JSGlobalData::JSGlobalData): Initialize firstStringifierToMark to 0.
28039 (JSC::unwrapNumberOrString): Added. Helper for unwrapping number and string
28041 (JSC::ReplacerPropertyName::ReplacerPropertyName): Added. The class is used
28044 (JSC::ReplacerPropertyName::value): Added.
28045 (JSC::gap): Added. Helper function for the Stringifier constructor.
28046 (JSC::PropertyNameForFunctionCall::PropertyNameForFunctionCall): Added.
28049 (JSC::PropertyNameForFunctionCall::asJSValue): Added.
28050 (JSC::Stringifier::Stringifier): Updated and moved out of the class
28052 (JSC::Stringifier::~Stringifier): Remove from the singly linked list.
28053 (JSC::Stringifier::mark): Mark all the objects in the holder stacks.
28054 (JSC::Stringifier::stringify): Updated.
28055 (JSC::Stringifier::appendQuotedString): Tweaked and streamlined a bit.
28056 (JSC::Stringifier::toJSON): Renamed from toJSONValue.
28057 (JSC::Stringifier::appendStringifiedValue): Renamed from stringify.
28062 (JSC::Stringifier::willIndent): Added.
28063 (JSC::Stringifier::indent): Added.
28064 (JSC::Stringifier::unindent): Added.
28065 (JSC::Stringifier::startNewLine): Added.
28066 (JSC::Stringifier::Holder::Holder): Added.
28067 (JSC::Stringifier::Holder::appendNextProperty): Added. This is the
28069 (JSC::JSONObject::getOwnPropertySlot): Moved this down to the bottom
28072 (JSC::JSONObject::markStringifiers): Added. Calls mark.
28073 (JSC::JSONProtoFuncStringify): Streamlined the code here. The code
28090 (JSC::JIT::compileGetDirectOffset):
28091 (JSC::JIT::privateCompileGetByIdProto):
28092 (JSC::JIT::privateCompileGetByIdProtoList):
28093 (JSC::JIT::privateCompileGetByIdChainList):
28094 (JSC::JIT::privateCompileGetByIdChain):
28103 (JSC::JIT::emit_op_throw):
28105 (JSC::):
28106 (JSC::JITStubs::DEFINE_STUB_FUNCTION):
28120 (JSC::JIT::emit_op_rshift):
28165 (JSC::JSGlobalObject::hasOwnPropertyForWrite):
28178 (JSC::JIT::emit_op_throw):
28180 (JSC::JITStubs::DEFINE_STUB_FUNCTION):
28187 (JSC::JIT::JIT):
28198 (JSC::JIT::JIT):
28200 (JSC::JIT::compileGetByIdProto):
28201 (JSC::JIT::compileGetByIdSelfList):
28202 (JSC::JIT::compileGetByIdProtoList):
28203 (JSC::JIT::compileGetByIdChainList):
28204 (JSC::JIT::compileGetByIdChain):
28205 (JSC::JIT::compilePutByIdTransition):
28206 (JSC::JIT::compileCTIMachineTrampolines):
28207 (JSC::JIT::compilePatchGetArrayLength):
28209 (JSC::JITStubCall::call):