Bug 134090 - [ftlopt] Fold GetById/PutById to MultiGetByOffset/GetByOffset or MultiPutByOffset/PutByOffset, which implies handling non-singleton sets
Summary: [ftlopt] Fold GetById/PutById to MultiGetByOffset/GetByOffset or MultiPutByOf...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 133229
  Show dependency treegraph
 
Reported: 2014-06-19 21:35 PDT by Filip Pizlo
Modified: 2014-06-22 18:09 PDT (History)
7 users (show)

See Also:


Attachments
work in progress (32.33 KB, patch)
2014-06-19 21:36 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (58.78 KB, patch)
2014-06-21 12:56 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 2014-06-19 21:35:08 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2014-06-19 21:36:39 PDT
Created attachment 233404 [details]
work in progress
Comment 2 Filip Pizlo 2014-06-21 12:56:10 PDT
Created attachment 233542 [details]
the patch
Comment 3 Filip Pizlo 2014-06-21 12:56:57 PDT
Comment on attachment 233542 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=233542&action=review

> Source/JavaScriptCore/ChangeLog:111
> +        Reviewed by NOBODY (OOPS!).
> +        
> +        Work in progress.
> +
> +        * bytecode/GetByIdStatus.cpp:
> +        (JSC::GetByIdStatus::computeForStubInfo):
> +        (JSC::GetByIdStatus::computeFor):
> +        * bytecode/GetByIdStatus.h:
> +        * bytecode/PutByIdStatus.cpp:
> +        (JSC::PutByIdStatus::computeFor):
> +        * bytecode/PutByIdStatus.h:
> +        * bytecode/PutByIdVariant.h:
> +        (JSC::PutByIdVariant::constantChecks):
> +        * dfg/DFGAbstractInterpreterInlines.h:
> +        (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
> +        * dfg/DFGByteCodeParser.cpp:
> +        (JSC::DFG::ByteCodeParser::parseBlock):
> +        * dfg/DFGConstantFoldingPhase.cpp:
> +        (JSC::DFG::ConstantFoldingPhase::foldConstants):
> +        (JSC::DFG::ConstantFoldingPhase::emitPutByOffset):
> +        (JSC::DFG::ConstantFoldingPhase::addChecks):
> +        * dfg/DFGNode.h:
> +        (JSC::DFG::Node::convertToMultiGetByOffset):
> +        (JSC::DFG::Node::convertToMultiPutByOffset):
> +        * dfg/DFGStructureAbstractValue.h:
> +        (JSC::DFG::StructureAbstractValue::set):
> +
> +2014-06-19  Filip Pizlo  <fpizlo@apple.com>
> +

I've reverted this locally.
Comment 4 Oliver Hunt 2014-06-22 17:40:00 PDT
(Sorry that took so long I just wanted to checkout the branch and try to get a more complete understanding of what's going on.  Kind of lost track over the last week)
Comment 5 Filip Pizlo 2014-06-22 18:09:01 PDT
Landed in http://trac.webkit.org/changeset/170275