DFG should have a precise view of jump targets
https://bugs.webkit.org/show_bug.cgi?id=108868

Reviewed by Oliver Hunt.
        
Previously, the DFG relied entirely on the CodeBlock's jump targets list for
determining when to break basic blocks. This worked great, except sometimes it
would be too conservative since the CodeBlock just says where the bytecode
generator inserted labels.
        
This change keeps the old jump target list in CodeBlock since it is still
valuable to the baseline JIT, but switches the DFG to use its own jump target
calculator. This ought to reduce pressure on the DFG simplifier, which would
previously do a lot of work to try to merge redundantly created basic blocks.
It appears to be a 1% progression on SunSpider.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/PreciseJumpTargets.cpp: Added.
(JSC):
(JSC::addSimpleSwitchTargets):
(JSC::computePreciseJumpTargets):
* bytecode/PreciseJumpTargets.h: Added.
(JSC):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseCodeBlock):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tidy up StackBounds
https://bugs.webkit.org/show_bug.cgi?id=108889

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-02-05
Reviewed by Ryosuke Niwa.

* wtf/StackBounds.h:
(StackBounds):
(WTF::StackBounds::isSafeToRecurse):
(WTF::StackBounds::size):
Adopt a more conventional style for a multiline branch.

(WTF::StackBounds::StackBounds):
(WTF::StackBounds::current):
(WTF::StackBounds::recursionLimit):
Make those method private.

Making the constructor private ensure initialize() is alwasy called on any StackBounds.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Win7 port doesn't run WebGL.

* platform/win/TestExpectations:


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