Bug 112233 - JSObject fast by-string access optimizations should work even on the prototype chain, and even when the result is undefined
Summary: JSObject fast by-string access optimizations should work even on the prototyp...
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
Depends on: 112458 112539
  Show dependency treegraph
Reported: 2013-03-13 01:20 PDT by Filip Pizlo
Modified: 2013-03-18 01:13 PDT (History)
10 users (show)

See Also:

work in progress (25.58 KB, patch)
2013-03-13 01:21 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (32.81 KB, patch)
2013-03-13 01:52 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (32.80 KB, patch)
2013-03-13 02:21 PDT, Filip Pizlo
oliver: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2013-03-13 01:20:45 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2013-03-13 01:21:09 PDT
Created attachment 192878 [details]
work in progress
Comment 2 Filip Pizlo 2013-03-13 01:52:20 PDT
Created attachment 192883 [details]
the patch
Comment 3 WebKit Review Bot 2013-03-13 01:59:18 PDT
Attachment 192883 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/fast/js/regress/miss-string-lookup-expected.txt', u'LayoutTests/fast/js/regress/miss-string-lookup.html', u'LayoutTests/fast/js/regress/script-tests/miss-string-lookup.js', u'Source/JavaScriptCore/CMakeLists.txt', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/DerivedSources.make', u'Source/JavaScriptCore/DerivedSources.pri', u'Source/JavaScriptCore/GNUmakefile.list.am', u'Source/JavaScriptCore/dfg/DFGOperations.cpp', u'Source/JavaScriptCore/interpreter/CallFrame.h', u'Source/JavaScriptCore/jit/JITStubs.cpp', u'Source/JavaScriptCore/llint/LLIntSlowPaths.cpp', u'Source/JavaScriptCore/runtime/CommonIdentifiers.h', u'Source/JavaScriptCore/runtime/JSCell.cpp', u'Source/JavaScriptCore/runtime/JSCell.h', u'Source/JavaScriptCore/runtime/JSCellInlines.h', u'Source/JavaScriptCore/runtime/JSGlobalData.cpp', u'Source/JavaScriptCore/runtime/JSGlobalData.h', u'Source/JavaScriptCore/runtime/JSObject.cpp', u'Source/JavaScriptCore/runtime/JSObject.h', u'Source/JavaScriptCore/runtime/Lookup.cpp', u'Source/JavaScriptCore/runtime/ObjectPrototype.cpp', u'Source/JavaScriptCore/runtime/ObjectPrototype.h', u'Source/JavaScriptCore/runtime/PropertyMapHashTable.h', u'Source/JavaScriptCore/runtime/Structure.h', u'Source/JavaScriptCore/runtime/StructureInlines.h']" exit_code: 1
Source/JavaScriptCore/dfg/DFGOperations.cpp:427:  An else if statement should be written as an if statement when the prior "if" concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Source/JavaScriptCore/runtime/JSCell.h:167:  The parameter name "key" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 20 files

If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Filip Pizlo 2013-03-13 02:21:33 PDT
Created attachment 192886 [details]
the patch

Fixed style.
Comment 5 Filip Pizlo 2013-03-14 12:46:05 PDT
Landed in http://trac.webkit.org/changeset/145838
Comment 6 Mark Hahnenberg 2013-03-15 12:58:23 PDT
Reopening because we're going to roll out the landed patch.