- 06 Jan, 2012 10 commits
-
-
oliver@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75735 Reviewed by Filip Pizlo. Load the byte array length from the correct location. This stops an existing test from hanging. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
fpizlo@apple.com authored
* JavaScriptCore.xcodeproj/project.pbxproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
oliver@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75729 Reviewed by Gavin Barraclough. Source/JavaScriptCore: Rename ByteArray (in its ClassInfo) to Uint8ClampedArray to match the future name when we switch over to the new typed-array based ImageData specification. * runtime/JSByteArray.cpp: Source/WebCore: Remove the custom ClassInfo for CanvasPixelArray as that is defeating ByteArray optimisation, and is no longer needed anyway as it was only there to change the visible name. * bindings/js/JSImageDataCustom.cpp: (WebCore::toJS): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
caio.oliveira@openbossa.org authored
https://bugs.webkit.org/show_bug.cgi?id=75346 Reviewed by Daniel Bates. * parser/Parser.cpp: * parser/SourceProviderCache.cpp: (JSC::SourceProviderCache::clear): (JSC::SourceProviderCache::add): * parser/SourceProviderCache.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75722 Reviewed by Geoffrey Garen. ../JavaScriptCore: * GNUmakefile.list.am: * JavaScriptCore.gypi: * JavaScriptCore.vcproj/WTF/WTF.vcproj: * JavaScriptCore.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/OwnFastMallocPtr.h: Removed. * wtf/text/StringImpl.h: * wtf/wtf.pro: ../JavaScriptGlue: * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Removed. ../WebCore: * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Removed. * bindings/js/JSWebGLRenderingContextCustom.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
benjamin@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=75631 Patch by Benjamin Poulain <bpoulain@webkit.org> on 2012-01-06 Reviewed by Andreas Kling. * JavaScriptCore.xcodeproj/project.pbxproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kov@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=75669 Patch by Eric Seidel <eric@webkit.org> and Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2012-01-06 Source/JavaScriptCore: * GNUmakefile.am: Source/WTF: * GNUmakefile.am: Added. * GNUmakefile.list.am: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
vestbo@webkit.org authored
Reviewed by Simon Hausmann. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
vestbo@webkit.org authored
Includepaths are sometimes modified by non-Qt contributors so keeping them in files inside Sources makes it more likely that they are updated along with project files for the other ports. Using pri files instead of prf files for this also has the benefit that the include() from the main target file can be parsed and followed by Qt Creator -- something that does not work with load(). Dependency from a target to a library through the WEBKIT variable are handled through forwarding-files in Tools/qmake/mkspecs/modules, which set the source root of the module and include the right pri file. Ideally we'd use the variant of include() that takes an optional namespace to read the variables into, or the fromfile() function, but both of these add an overhead of about 40% on the total qmake runtime, due to making a deep copy of all the variables in the project or re-reading all the prf files from scratch. Reviewed by Simon Hausmann. Reviewed by Ossy. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=75612 Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-06 Reviewed by Kevin Ollivier. * wtf/text/WTFString.h: (WTF::String::findIgnoringCase): (WTF::String::append): (WTF::String::fromUTF8): (WTF::String::fromUTF8WithLatin1Fallback): (WTF::String::isHashTableDeletedValue): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 05 Jan, 2012 17 commits
-
-
rdar://problem/10633760mitz@apple.com authored
Reviewed by Mark Rowe. Source/JavaScriptCore: * Info.plist: Source/JavaScriptGlue: * Info.plist: Source/WebCore: * Info.plist: Source/WebKit/mac: * Info.plist: Source/WebKit2: * Info.plist: * PluginProcess/Info.plist: * WebProcess/Info.plist: WebKitLibraries: * win/tools/scripts/COPYRIGHT-END-YEAR: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=70998 Reviewed by Filip Pizlo. Source/JavaScriptCore: * runtime/DateConstructor.cpp: (JSC::constructDate): - should be checking !finite rather then isnan. LayoutTests: * fast/js/date-constructor-expected.txt: * fast/js/script-tests/date-constructor.js: - Added test cases. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75684 Reviewed by Sam Weinig. Source/JavaScriptCore: * runtime/DatePrototype.cpp: (JSC::dateProtoFuncToISOString): LayoutTests: * fast/js/date-toisostring-expected.txt: * fast/js/script-tests/date-toisostring.js: - Added test case git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104266 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75678 Reviewed by Sam Weinig. Source/JavaScriptCore: array.lastIndexOf(x, undefined) is equivalent to array.lastIndexOf(x, 0), not array.lastIndexOf(x) * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncLastIndexOf): - should check argumnet count, rather than checking agument value for undefined. LayoutTests: * ietestcenter/Javascript/15.4.4.15-5-4-expected.txt: - check in passing result git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75671 Reviewed by Oliver Hunt. Source/JavaScriptCore: ES5 date parsing currently requires all fields to be present, which does not match the spec (ES5.1 15.9.1.15). The spec allow a date to be date only, or date + time. The date portion on the should match: (pseudocode!:) [(+|-)YY]YYYY[-MM[-DD]] though we are slightly more liberal (permitted by the spec), allowing: [+|-]Y+[-MM[-DD]] The time portion should match: THH:mm[:ss[.sss]][Z|(+|-)HH:mm] again we're slightly more liberal, allowing: THH:mm[:ss[.s+]][Z|(+|-)HH:mm] * wtf/DateMath.cpp: (WTF::parseES5DatePortion): - Month/day fields are optional, default to 01. (WTF::parseES5TimePortion): - Hours/Minutes are requires, seconds/timezone are optional. (WTF::parseES5DateFromNullTerminatedCharacters): - Dates may be date only, or date + time. LayoutTests: * fast/js/date-parse-test-expected.txt: * fast/js/script-tests/date-parse-test.js: - Add more test cases for Date.parse. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=75642 Unreviewed build fix. Add ${ICU_I18N_LIBRARIES} to WTF_LIBRARIES on wtf efl platform cmake. Some undefined references were ucol_setAttribute_44, ucol_close_44, ucol_getAttribute_44... Patch by Bruno Dilly <bdilly@profusion.mobi> on 2012-01-05 * wtf/PlatformEfl.cmake: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ggaren@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75178 Reviewed by Darin Adler. Moved the hash calculation code into an out-of-line function to clean up the hot path. No measurable benchmark change, but this knocks some samples off in Instruments, and I think this is a step toward removing -fomit-frame-pointer. * wtf/text/StringImpl.cpp: (WTF::StringImpl::hashSlowCase): * wtf/text/StringImpl.h: (WTF::StringImpl::hash): The patch. * wtf/text/StringStatics.cpp: (WTF::StringImpl::hashSlowCase): Abide by the cockamamie Windows build scheme, which requires all out-of-line StringImpl functions used by WebCore be defined in this file instead of StringImpl.cpp. (See http://trac.webkit.org/changeset/59187.) git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=71772 Reviewed by Oliver Hunt. rfc4627 does not allow literal tab characters in JSON source. Source/JavaScriptCore: * runtime/LiteralParser.cpp: (JSC::isSafeStringCharacter): - do not allow literal tab in StrictJSON mode. LayoutTests: * fast/js/JSON-parse-expected.txt: * fast/js/resources/JSON-parse.js: (createTests.result): - Updated expected results. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75610 Reviewed by Sam Weinig. Array object commonly store data in a vector, consisting of a portion that is in use, a pre-capacity (m_indexBias) and a post-capacity (the delta between m_length and m_vectorLength). Calls to shift with grow the pre-capacity, and the current algorithm for increaseVectorLength (used by push, or [[Put]]) will never shrink the pre-capacity, so a push/shift fifo may consume an inordinate amount of memory, whilst having a relatively small active length. * runtime/JSArray.cpp: (JSC::JSArray::increaseVectorLength): - If m_indexBias is non-zero, decay it over time. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ossy@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=75588 Reviewed by Zoltan Herczeg. Buildfix after r104120. * runtime/JSArray.cpp: Remove useless asserts, baecause unsigned expression >= 0 is always true (JSC::JSArray::unshiftCount): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104136 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zherczeg@webkit.org authored
* wtf/Assertions.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zherczeg@webkit.org authored
Rubber stamped by NOBODY Csaba Osztrogonác. * wtf/Assertions.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
benjamin@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=74063 Reviewed by Darin Adler. Source/JavaScriptCore: A new header ASCIIFastPath.h contains the functions related to the detection of ASCII by using machine words. Part of it comes from WebCore's TextCodecASCIIFastPath.h. The function charactersAreAllASCII() is moved to TextCodecASCIIFastPath.h and is implemented with computer word comparison. The gain over the previous implementation of charactersAreAllASCII() is of the order of how many comparison are avoided (4x, 8x, 16x depending on the format and the CPU type). * GNUmakefile.list.am: * JavaScriptCore.gypi: * JavaScriptCore.vcproj/WTF/WTF.vcproj: * JavaScriptCore.xcodeproj/project.pbxproj: * wtf/text/ASCIIFastPath.h: Added. (WTF::isAlignedToMachineWord): (WTF::alignToMachineWord): (WTF::isAllASCII): (WTF::charactersAreAllASCII): * wtf/text/WTFString.h: * wtf/wtf.pro: Source/JavaScriptGlue: Add forwarding header for ASCIIFastPath.h. * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Added. Source/WebCore: Move some part of TextCodecASCIIFastPath.h to WTF in ASCIIFastPath.h. The function isAllASCII() is changed to the template version which now works with both LChar and UChar. * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Added. * platform/text/TextCodecASCIIFastPath.h: (WebCore::copyASCIIMachineWord): * platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::decode): * platform/text/TextCodecUTF8.cpp: (WebCore::TextCodecUTF8::decode): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
http://webkit.org/b/75606mrowe@apple.com authored
We should always log to both ASL and stderr on platforms where this won't result in launchd duplicating the messages. Reviewed by Dan Bernstein. * wtf/Assertions.cpp: (vprintf_stderr_common): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104125 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
http://webkit.org/b/75605mrowe@apple.com authored
<http://webkit.org/b/75605> WTF logging functions should call vprintf_stderr_common only once per line Several of the WTF logging functions make multiple calls to vprintf_stderr_common to output a single line of text. This results in strangely formatted output if vprintf_stderr_common is retargeted to an output device that is message-oriented (such as ASL) rather than stream-oriented like stderr. Reviewed by Dan Bernstein. * wtf/Assertions.cpp: (vprintf_stderr_with_prefix): Helper function to prepend a given prefix on to the given format string before handing it off to vprintf_stderr_common. This requires disabling warnings about calling a printf-like function with a non-literal format string for this piece of code. It's safe in this particular case as vprintf_stderr_with_prefix is only ever given a literal prefix. (vprintf_stderr_with_trailing_newline): Helper function to append a trailling newline on to the given format string if one does not already exist. It requires the same treatment with regards to the non-literal format string warning. (WTFReportAssertionFailureWithMessage): Switch to using vprintf_stderr_with_prefix. (WTFReportBacktrace): Switch from calling fprintf directly to using fprintf_stderr_common. (WTFReportFatalError): Switch to using vprintf_stderr_with_prefix. (WTFReportError): Ditto. (WTFLog): Switch to using vprintf_stderr_with_trailing_newline. (WTFLogVerbose): Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75588 Reviewed by Sam Weinig. The Array object commonly store data in a vector, consisting of a portion that is in use, a pre-capacity (m_indexBias) and a post-capacity (the delta between m_length and m_vectorLength). Calls to pop with grow the post-capacity, and the current algorithm for increasePrefixVectorLength (used by unshift) will never stink the post-capacity, so a unshift/pop fifo may consume an inordinate amount of memory, whilst having a relatively small active length. * runtime/JSArray.cpp: (JSC::storageSize): - sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>) (JSC::SparseArrayValueMap::put): - sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>) (JSC::JSArray::increaseVectorLength): - sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>) (JSC::JSArray::unshiftCountSlowCase): - renamed from increaseVectorPrefixLength (this was a bad name, since it also moved the ArrayStorage header), rewritten. (JSC::JSArray::shiftCount): - sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>), count should be unsigned (JSC::JSArray::unshiftCount): - sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>), count should be unsigned, increaseVectorPrefixLength renamed to unshiftCountSlowCase (JSC::JSArray::sortNumeric): * runtime/JSArray.h: - Updated function declarations, m_indexBias should be unsigned. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
http://webkit.org/b/75604mrowe@apple.com authored
<http://webkit.org/b/75604> All instances of JSC::ArgumentsData appear to be leaked by JSC::Arguments Since JSC::Arguments has an OwnPtr for a member it needs to override destroy to ensure that the correct destructor is invoked. This is necessary because JSCell subclasses all intentionally have non-virtual destructors. Reviewed by Filip Pizlo. * runtime/Arguments.cpp: (JSC::Arguments::destroy): * runtime/Arguments.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 04 Jan, 2012 7 commits
-
-
fpizlo@apple.com authored
it back on. * wtf/Platform.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
fpizlo@apple.com authored
http://trac.webkit.org/changeset/104086. This is a benign change, as "return" was technically correct for all uses of the macro. Reviewed by Oliver Hunt. * dfg/DFGGraph.cpp: * wtf/Platform.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
msaboff@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75583 Reviewed by Filip Pizlo. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finalizeUnconditionally): Find the corresponding StructureStubInfo and reset the appropriate JIT and the StructureStubInfo itself when reseting a MethodCallLinkInfo. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
msaboff@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75584 Reviewed by Filip Pizlo. * dfg/DFGRepatch.cpp: (JSC::DFG::tryBuildGetByIDProtoList): Fixed ASSERT to use ==. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75580 <rdar://problem/10644607> Source/JavaScriptCore: Reviewed by Oliver Hunt. Made deref(node) follow the pattern of ref(node), which it should have to begin with. * dfg/DFGGraph.cpp: (JSC::DFG::Graph::refChildren): (JSC::DFG::Graph::derefChildren): * dfg/DFGGraph.h: (JSC::DFG::Graph::deref): (JSC::DFG::Graph::clearAndDerefChild1): (JSC::DFG::Graph::clearAndDerefChild2): (JSC::DFG::Graph::clearAndDerefChild3): * dfg/DFGNode.h: (JSC::DFG::Node::deref): * dfg/DFGPropagator.cpp: (JSC::DFG::Propagator::fixupNode): LayoutTests: Reviewed by Oliver Hunt. * fast/js/dfg-array-length-dead-expected.txt: Added. * fast/js/dfg-array-length-dead.html: Added. * fast/js/script-tests/dfg-array-length-dead.js: Added. (foo): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104086 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
vestbo@webkit.org authored
The custom qmake variable 'WEBKIT' is used for signaling that a target depends in some way on other subproject of the WebKit project. For now this is limited to the set of intermediate libraries: wtf, javascriptcore, webcore, and webkit2. This replaces the previous convension of using load(foo) for just include paths, and CONFIG += foo to also link against foo. Adding a dependency results in additional include paths being available, and potentially linking to the library. This is decided by the build system based on conditions such as what kind of target is being built and the general build config. An advantage to his approach is that it simplifies the individual foo.prf files, for example by allowing us to use INCLUDEPATH += and LIBS += as normal instead of prepending. Reviewed by Simon Hausmann. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75516 <rdar://problem/10640266> Source/JavaScriptCore: Reviewed by Gavin Barraclough. Removed the offending assertion, since it was wrong. Also hardened the code to make this case less likely by first having the propagator fixpoint converge, and then doing double voting combined with a second fixpoint. This is neutral on benchmarks and fixes the assertion in a fairly low-risk way (i.e. we won't vote a variable double until we've converged to the conclusion that it really is double). * dfg/DFGPropagator.cpp: (JSC::DFG::Propagator::propagatePredictions): * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::tallyVotesForShouldUseDoubleFormat): LayoutTests: Reviewed by Andy Estes. Created a fuzzer that produces sufficiently awkward data flow that includes variables that become either double, or integer, or mix of double and integer only after multiple iterations of a fixpoint. This crashes the compiler prior to this patch, but works with this patch. * fast/js/dfg-double-vote-fuzz-expected.txt: Added. * fast/js/dfg-double-vote-fuzz.html: Added. * fast/js/script-tests/dfg-double-vote-fuzz.js: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 03 Jan, 2012 6 commits
-
-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=75303 <rdar://problem/10633533> Source/JavaScriptCore: Reviewed by Gavin Barraclough. The this argument was not being kept alive in some cases during inlining and intrinsic optimizations. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleCall): (JSC::DFG::ByteCodeParser::emitFunctionCheck): (JSC::DFG::ByteCodeParser::handleInlining): LayoutTests: Reviewed by Gavin Barraclough. * fast/js/dfg-inline-unused-this-expected.txt: Added. * fast/js/dfg-inline-unused-this-method-check-expected.txt: Added. * fast/js/dfg-inline-unused-this-method-check.html: Added. * fast/js/dfg-inline-unused-this.html: Added. * fast/js/dfg-intrinsic-unused-this-expected.txt: Added. * fast/js/dfg-intrinsic-unused-this-method-check-expected.txt: Added. * fast/js/dfg-intrinsic-unused-this-method-check.html: Added. * fast/js/dfg-intrinsic-unused-this.html: Added. * fast/js/script-tests/dfg-inline-unused-this-method-check.js: Added. (foo): (bar): (baz): * fast/js/script-tests/dfg-inline-unused-this.js: Added. (foo): (bar): (baz): * fast/js/script-tests/dfg-intrinsic-unused-this-method-check.js: Added. (bar): (baz): * fast/js/script-tests/dfg-intrinsic-unused-this.js: Added. (bar): (baz): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103969 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
Reviewed by Sam Weinig. Rewrite JSArray::putSlowCase to be much cleaner & simpler. This rewrite only significantly changes behaviour for sparse array, specifically in how sparse arrays are reified back to vector form. This does not affect arrays with less than 10000 entries (since these always use a vector). The more common cases of sparse array behavior (though large sparse arrays are rare) - arrays that always remain sparse, and arrays that are filled in reverse sequential order - should be just as fast or faster (since reification is simpler & no longer requires map lookups) after these changes. Simplifying this code allows all cases of putByIndex that need to grow the vector to do so via increaseVectorLength, which means that this method can encapsulate the policy of determining how the vector should be grown. No performance impact. * runtime/JSArray.cpp: (JSC::isDenseEnoughForVector): - any array of length <= MIN_SPARSE_ARRAY_INDEX is dense enough for a vector. (JSC::JSArray::putByIndex): - simplify & comment. (JSC::JSArray::putByIndexBeyondVectorLength): - Re-written to be much clearer & simpler. (JSC::JSArray::increaseVectorLength): (JSC::JSArray::increaseVectorPrefixLength): - add explicit checks against MAX_STORAGE_VECTOR_LENGTH, so clients do not need do so. (JSC::JSArray::push): - simplify & comment. * runtime/JSArray.h: - removed SparseArrayValueMap::take. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
Reviewed by Sam Weinig. Simplify JSArray creation - remove ArgsList/JSValue* create methods (this functionality can be implemented in terms of tryCreateUninitialized). * JavaScriptCore.exp: * runtime/ArrayConstructor.cpp: - use constructArray/constructEmptyArray instead of calling JSArray::create directly (JSC::constructArrayWithSizeQuirk): * runtime/JSArray.cpp: * runtime/JSArray.h: - removed ArgsList/JSValue* create methods * runtime/JSGlobalObject.h: (JSC::constructEmptyArray): (JSC::constructArray): - changed to be implemented in terms of JSArray::tryCreateUninitialized git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-