Moved ErrorConstructor and NativeErrorConstructor helper functions into
the Interpreter class.
https://bugs.webkit.org/show_bug.cgi?id=119576.

Reviewed by Oliver Hunt.

This change is needed to prepare for making Interpreter::getStackTrace()
private. It does not change the behavior of the code, only the lexical
scoping.

* interpreter/Interpreter.h:
- Added helper functions for ErrorConstructor and NativeErrorConstructor.
* runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
(JSC::ErrorConstructor::getConstructData):
(JSC::Interpreter::callErrorConstructor):
(JSC::ErrorConstructor::getCallData):
- Don't want ErrorConstructor to call Interpreter::getStackTrace()
  directly. So, we moved the helper functions into the Interpreter
  class.
* runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor):
(JSC::NativeErrorConstructor::getConstructData):
(JSC::Interpreter::callNativeErrorConstructor):
(JSC::NativeErrorConstructor::getCallData):
- Don't want NativeErrorConstructor to call Interpreter::getStackTrace()
  directly. So, we moved the helper functions into the Interpreter
  class.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SunSpider: Move the 3d-morph fix from version 1.0 to version 1.0.1
https://bugs.webkit.org/show_bug.cgi?id=117993

Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-08-08
Reviewed by George Staikos.

PerformanceTests/SunSpider:

Bump the SunSpider version to 1.0.1.

Unroll r149548 in order to restore version 1.0 to its original,
and add the 3d-morph fix to version 1.0.1 instead.

* hosted/sunspider.html: Updated to version 1.0.1.
* hosted/versions.html: Updated to version 1.0.1.
* make-hosted: Added support for version 1.0.1.
* resources/driver-TEMPLATE.html: Updated to version 1.0.1.
* resources/results-TEMPLATE.html: Updated to version 1.0.1.
* sunspider: Updated to version 1.0.1.
* sunspider-compare-results: Updated to version 1.0.1.
* tests/sunspider-1.0/3d-morph.js: Rolled back to the original version.
* tests/sunspider-1.0.1/LIST: Added.
* tests/sunspider-1.0.1/3d-cube.js: Added.
* tests/sunspider-1.0.1/3d-morph.js: Added.
* tests/sunspider-1.0.1/3d-raytrace.js: Added.
* tests/sunspider-1.0.1/access-binary-trees.js: Added.
* tests/sunspider-1.0.1/access-fannkuch.js: Added.
* tests/sunspider-1.0.1/access-nbody.js: Added.
* tests/sunspider-1.0.1/access-nsieve.js: Added.
* tests/sunspider-1.0.1/bitops-3bit-bits-in-byte.js: Added.
* tests/sunspider-1.0.1/bitops-bits-in-byte.js: Added.
* tests/sunspider-1.0.1/bitops-bitwise-and.js: Added.
* tests/sunspider-1.0.1/bitops-nsieve-bits.js: Added.
* tests/sunspider-1.0.1/controlflow-recursive.js: Added.
* tests/sunspider-1.0.1/crypto-aes.js: Added.
* tests/sunspider-1.0.1/crypto-md5.js: Added.
* tests/sunspider-1.0.1/crypto-sha1.js: Added.
* tests/sunspider-1.0.1/date-format-tofte.js: Added.
* tests/sunspider-1.0.1/date-format-xparb.js: Added.
* tests/sunspider-1.0.1/math-cordic.js: Added.
* tests/sunspider-1.0.1/math-partial-sums.js: Added.
* tests/sunspider-1.0.1/math-spectral-norm.js: Added.
* tests/sunspider-1.0.1/regexp-dna.js: Added.
* tests/sunspider-1.0.1/string-base64.js: Added.
* tests/sunspider-1.0.1/string-fasta.js: Added.
* tests/sunspider-1.0.1/string-tagcloud.js: Added.
* tests/sunspider-1.0.1/string-unpack-code.js: Added.
* tests/sunspider-1.0.1/string-validate-input.js: Added.

Websites/webkit.org:

* perf/sunspider-1.0.1/json2.js: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/driver.html: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/results.html: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/sunspider-test-contents.js: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/sunspider-test-prefix.js: Added.
* perf/sunspider-1.0.1/sunspider-analyze-results.js: Added.
* perf/sunspider-1.0.1/sunspider-compare-results.js: Added.
* perf/sunspider-1.0.1/sunspider.css: Added.
* perf/sunspider-1.0.1/sunspider.html: Added.
* perf/sunspider/sunspider.html: Updated to version 1.0.1.
* perf/sunspider/versions.html: Updated to version 1.0.1.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Restoring use of StackIterator instead of Interpreter::getStacktrace().
https://bugs.webkit.org/show_bug.cgi?id=119575.

Reviewed by Oliver Hunt.

Source/JavaScriptCore: 

* interpreter/Interpreter.h:
- Made getStackTrace() private.
* interpreter/StackIterator.cpp:
(JSC::StackIterator::StackIterator):
(JSC::StackIterator::numberOfFrames):
- Computes the number of frames by iterating through the whole stack
  from the starting frame. The iterator will save its current frame
  position before counting the frames, and then restoring it after
  the counting.
(JSC::StackIterator::gotoFrameAtIndex):
(JSC::StackIterator::gotoNextFrame):
(JSC::StackIterator::resetIterator):
- Points the iterator to the starting frame.
* interpreter/StackIteratorPrivate.h:

Source/WebCore: 

No new tests.

* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Element: Modernize attribute storage accessor functions.
<http://webkit.org/b/119578>

Source/WebCore:

Patch by Mark Lam <mark.lam@apple.com> on 2013-08-08
Reviewed by Antti Koivisto.

Rename these functions to more WebKit-style names.

- const Attribute* attributeItem(index) => const Attribute& attributeAt(index)
- const Attribute* getAttributeItem(name) => const Attribute* findAttributeByName(name)
- unsigned getAttributeItemIndex(name) => unsigned findAttributeIndexByName(name)

Note that attributeAt() now returns a reference instead of a pointer. That's right.

* css/SelectorChecker.cpp:
(WebCore::attributeValueMatches):
(WebCore::anyAttributeMatches):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::checkExactAttribute):
* dom/Attr.cpp:
(WebCore::Attr::elementAttribute):
* dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::getNames):
(WebCore::DatasetDOMStringMap::item):
(WebCore::DatasetDOMStringMap::contains):
* dom/Element.cpp:
(WebCore::Element::detachAttribute):
(WebCore::Element::removeAttribute):
(WebCore::Element::getAttribute):
(WebCore::Element::setAttribute):
(WebCore::Element::setSynchronizedLazyAttribute):
(WebCore::Element::setAttributeInternal):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::removeAttributeInternal):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::computeInheritedLanguage):
(WebCore::Element::normalizeAttributes):
(WebCore::Element::getURLAttribute):
(WebCore::Element::getNonEmptyURLAttribute):
(WebCore::Element::detachAllAttrNodesFromElement):
(WebCore::Element::cloneAttributesFromElement):
(WebCore::ElementData::isEquivalent):
(WebCore::ElementData::findAttributeIndexByNameSlowCase):
(WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
(WebCore::UniqueElementData::findAttributeByName):
(WebCore::UniqueElementData::attributeAt):
* dom/Element.h:
(WebCore::Element::findAttributeIndexByName):
(WebCore::Element::fastHasAttribute):
(WebCore::Element::fastGetAttribute):
(WebCore::Element::attributeAt):
(WebCore::Element::findAttributeByName):
(WebCore::ElementData::findAttributeByName):
(WebCore::ElementData::findAttributeIndexByName):
(WebCore::ElementData::attributeAt):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
(WebCore::NamedNodeMap::item):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupNamespaceURI):
(WebCore::Node::lookupNamespacePrefix):
(WebCore::Node::compareDocumentPosition):
* dom/StyledElement.cpp:
(WebCore::StyledElement::makePresentationAttributeCacheKey):
(WebCore::StyledElement::rebuildPresentationAttributeStyle):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendElement):
* editing/markup.cpp:
(WebCore::completeURLs):
(WebCore::StyledMarkupAccumulator::appendElement):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::parseAttribute):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::innerPatchNode):
(WebCore::DOMPatchSupport::createDigest):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
* page/PageSerializer.cpp:
(WebCore::isCharsetSpecifyingNode):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunLang::evaluate):
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):

Source/WebKit/blackberry:

Reviewed by Antti Koivisto.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::webContext):

Source/WebKit/qt:

Reviewed by Antti Koivisto.

* Api/qwebelement.cpp:
(QWebElement::attributeNames):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Oops, didn't mean to implicate Mark Lam in the ChangeLog there.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153827 268f45cc-cd09-0410-ab3c-d52691b4dbfc