<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[202792] trunk/Source/JavaScriptCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/202792">202792</a></dd>
<dt>Author</dt> <dd>fpizlo@apple.com</dd>
<dt>Date</dt> <dd>2016-07-03 12:34:55 -0700 (Sun, 03 Jul 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>FTL should refer to B3 types directly
https://bugs.webkit.org/show_bug.cgi?id=159389

Reviewed by Saam Barati.
        
When we used LLVM, types were objects that were allocated by the LLVMContext. We had to
remember pointers to them or else call through the C API every time we wanted the type. We
stored the type pointers inside FTL::CommonValues.
        
But in B3, types are just members of an enum. We don't have to remember pointers to them.
        
This change replaces all prior uses of things like &quot;m_out.int32&quot; with just &quot;Int32&quot;, and
likewise for m_out.boolean, m_out.int64, m_out.intPtr, m_out.floatType, m_out.doubleType,
and m_out.voidType.
        
We still use FTL::CommonValues for common constants that we have pre-hoisted. Hopefully we
will come up with a better story for those eventually, since that's still kinda ugly.

* ftl/FTLCommonValues.cpp:
(JSC::FTL::CommonValues::CommonValues):
* ftl/FTLCommonValues.h:
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::createPhiVariables):
(JSC::FTL::DFG::LowerDFGToB3::compileDoubleRep):
(JSC::FTL::DFG::LowerDFGToB3::compileBooleanToNumber):
(JSC::FTL::DFG::LowerDFGToB3::compileCallObjectConstructor):
(JSC::FTL::DFG::LowerDFGToB3::compileToThis):
(JSC::FTL::DFG::LowerDFGToB3::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToB3::compileStrCat):
(JSC::FTL::DFG::LowerDFGToB3::compileArithMinOrMax):
(JSC::FTL::DFG::LowerDFGToB3::compileArithPow):
(JSC::FTL::DFG::LowerDFGToB3::compileArithRound):
(JSC::FTL::DFG::LowerDFGToB3::compileArrayifyToStructure):
(JSC::FTL::DFG::LowerDFGToB3::compileGetById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis):
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById):
(JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById):
(JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileArrayPush):
(JSC::FTL::DFG::LowerDFGToB3::compileArrayPop):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation):
(JSC::FTL::DFG::LowerDFGToB3::compileNewFunction):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCopyRest):
(JSC::FTL::DFG::LowerDFGToB3::compileGetRestLength):
(JSC::FTL::DFG::LowerDFGToB3::compileNewObject):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArray):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::compileToNumber):
(JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructor):
(JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive):
(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharCodeAt):
(JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileMultiGetByOffset):
(JSC::FTL::DFG::LowerDFGToB3::compilePutByOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
(JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs):
(JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs):
(JSC::FTL::DFG::LowerDFGToB3::compileSwitch):
(JSC::FTL::DFG::LowerDFGToB3::compileIsString):
(JSC::FTL::DFG::LowerDFGToB3::compileIsJSArray):
(JSC::FTL::DFG::LowerDFGToB3::compileIsObject):
(JSC::FTL::DFG::LowerDFGToB3::compileIsObjectOrNull):
(JSC::FTL::DFG::LowerDFGToB3::compileIsFunction):
(JSC::FTL::DFG::LowerDFGToB3::compileIsRegExpObject):
(JSC::FTL::DFG::LowerDFGToB3::compileIsTypedArrayView):
(JSC::FTL::DFG::LowerDFGToB3::compileTypeOf):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
(JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckTypeInfoFlags):
(JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf):
(JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom):
(JSC::FTL::DFG::LowerDFGToB3::compileCountExecution):
(JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty):
(JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty):
(JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty):
(JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname):
(JSC::FTL::DFG::LowerDFGToB3::compileGetEnumerableLength):
(JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator):
(JSC::FTL::DFG::LowerDFGToB3::compileGetEnumeratorStructurePname):
(JSC::FTL::DFG::LowerDFGToB3::compileGetEnumeratorGenericPname):
(JSC::FTL::DFG::LowerDFGToB3::compileToIndexString):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckStructureImmediate):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):
(JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName):
(JSC::FTL::DFG::LowerDFGToB3::numberOrNotCellToInt32):
(JSC::FTL::DFG::LowerDFGToB3::checkInferredType):
(JSC::FTL::DFG::LowerDFGToB3::initializeArrayElements):
(JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl):
(JSC::FTL::DFG::LowerDFGToB3::getById):
(JSC::FTL::DFG::LowerDFGToB3::compare):
(JSC::FTL::DFG::LowerDFGToB3::compileResolveScope):
(JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar):
(JSC::FTL::DFG::LowerDFGToB3::compareEqObjectOrOtherToObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateTruthyObject):
(JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare):
(JSC::FTL::DFG::LowerDFGToB3::stringsEqual):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateJSArray):
(JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket):
(JSC::FTL::DFG::LowerDFGToB3::boolify):
(JSC::FTL::DFG::LowerDFGToB3::equalNullOrUndefined):
(JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds):
(JSC::FTL::DFG::LowerDFGToB3::buildSwitch):
(JSC::FTL::DFG::LowerDFGToB3::switchStringSlow):
(JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::strictInt52ToJSValue):
(JSC::FTL::DFG::LowerDFGToB3::strictInt52ToInt52):
(JSC::FTL::DFG::LowerDFGToB3::unboxInt32):
(JSC::FTL::DFG::LowerDFGToB3::boxInt32):
(JSC::FTL::DFG::LowerDFGToB3::isCellOrMisc):
(JSC::FTL::DFG::LowerDFGToB3::unboxDouble):
(JSC::FTL::DFG::LowerDFGToB3::boxDouble):
(JSC::FTL::DFG::LowerDFGToB3::jsValueToStrictInt52):
(JSC::FTL::DFG::LowerDFGToB3::doubleToStrictInt52):
(JSC::FTL::DFG::LowerDFGToB3::convertDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::callCheck):
(JSC::FTL::DFG::LowerDFGToB3::crash):
* ftl/FTLOutput.cpp:
(JSC::FTL::Output::bitCast):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLCommonValuescpp">trunk/Source/JavaScriptCore/ftl/FTLCommonValues.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLCommonValuesh">trunk/Source/JavaScriptCore/ftl/FTLCommonValues.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLLowerDFGToB3cpp">trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLOutputcpp">trunk/Source/JavaScriptCore/ftl/FTLOutput.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (202791 => 202792)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-07-03 17:47:51 UTC (rev 202791)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-07-03 19:34:55 UTC (rev 202792)
</span><span class="lines">@@ -1,3 +1,147 @@
</span><ins>+2016-07-03  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        FTL should refer to B3 types directly
+        https://bugs.webkit.org/show_bug.cgi?id=159389
+
+        Reviewed by Saam Barati.
+        
+        When we used LLVM, types were objects that were allocated by the LLVMContext. We had to
+        remember pointers to them or else call through the C API every time we wanted the type. We
+        stored the type pointers inside FTL::CommonValues.
+        
+        But in B3, types are just members of an enum. We don't have to remember pointers to them.
+        
+        This change replaces all prior uses of things like &quot;m_out.int32&quot; with just &quot;Int32&quot;, and
+        likewise for m_out.boolean, m_out.int64, m_out.intPtr, m_out.floatType, m_out.doubleType,
+        and m_out.voidType.
+        
+        We still use FTL::CommonValues for common constants that we have pre-hoisted. Hopefully we
+        will come up with a better story for those eventually, since that's still kinda ugly.
+
+        * ftl/FTLCommonValues.cpp:
+        (JSC::FTL::CommonValues::CommonValues):
+        * ftl/FTLCommonValues.h:
+        * ftl/FTLLowerDFGToB3.cpp:
+        (JSC::FTL::DFG::LowerDFGToB3::createPhiVariables):
+        (JSC::FTL::DFG::LowerDFGToB3::compileDoubleRep):
+        (JSC::FTL::DFG::LowerDFGToB3::compileBooleanToNumber):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCallObjectConstructor):
+        (JSC::FTL::DFG::LowerDFGToB3::compileToThis):
+        (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd):
+        (JSC::FTL::DFG::LowerDFGToB3::compileStrCat):
+        (JSC::FTL::DFG::LowerDFGToB3::compileArithMinOrMax):
+        (JSC::FTL::DFG::LowerDFGToB3::compileArithPow):
+        (JSC::FTL::DFG::LowerDFGToB3::compileArithRound):
+        (JSC::FTL::DFG::LowerDFGToB3::compileArrayifyToStructure):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetById):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis):
+        (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis):
+        (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffset):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):
+        (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
+        (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById):
+        (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById):
+        (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal):
+        (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush):
+        (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation):
+        (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCopyRest):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetRestLength):
+        (JSC::FTL::DFG::LowerDFGToB3::compileNewObject):
+        (JSC::FTL::DFG::LowerDFGToB3::compileNewArray):
+        (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer):
+        (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
+        (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
+        (JSC::FTL::DFG::LowerDFGToB3::compileToNumber):
+        (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructor):
+        (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive):
+        (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
+        (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt):
+        (JSC::FTL::DFG::LowerDFGToB3::compileStringCharCodeAt):
+        (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetByOffset):
+        (JSC::FTL::DFG::LowerDFGToB3::compileMultiGetByOffset):
+        (JSC::FTL::DFG::LowerDFGToB3::compilePutByOffset):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
+        (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs):
+        (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs):
+        (JSC::FTL::DFG::LowerDFGToB3::compileSwitch):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIsString):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIsJSArray):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIsObject):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIsObjectOrNull):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIsFunction):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIsRegExpObject):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIsTypedArrayView):
+        (JSC::FTL::DFG::LowerDFGToB3::compileTypeOf):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIn):
+        (JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCheckTypeInfoFlags):
+        (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf):
+        (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCountExecution):
+        (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty):
+        (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty):
+        (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetEnumerableLength):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetEnumeratorStructurePname):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetEnumeratorGenericPname):
+        (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString):
+        (JSC::FTL::DFG::LowerDFGToB3::compileCheckStructureImmediate):
+        (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
+        (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):
+        (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName):
+        (JSC::FTL::DFG::LowerDFGToB3::numberOrNotCellToInt32):
+        (JSC::FTL::DFG::LowerDFGToB3::checkInferredType):
+        (JSC::FTL::DFG::LowerDFGToB3::initializeArrayElements):
+        (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage):
+        (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage):
+        (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl):
+        (JSC::FTL::DFG::LowerDFGToB3::getById):
+        (JSC::FTL::DFG::LowerDFGToB3::compare):
+        (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope):
+        (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar):
+        (JSC::FTL::DFG::LowerDFGToB3::compareEqObjectOrOtherToObject):
+        (JSC::FTL::DFG::LowerDFGToB3::speculateTruthyObject):
+        (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare):
+        (JSC::FTL::DFG::LowerDFGToB3::stringsEqual):
+        (JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
+        (JSC::FTL::DFG::LowerDFGToB3::allocateObject):
+        (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray):
+        (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket):
+        (JSC::FTL::DFG::LowerDFGToB3::boolify):
+        (JSC::FTL::DFG::LowerDFGToB3::equalNullOrUndefined):
+        (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds):
+        (JSC::FTL::DFG::LowerDFGToB3::buildSwitch):
+        (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow):
+        (JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
+        (JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32):
+        (JSC::FTL::DFG::LowerDFGToB3::strictInt52ToJSValue):
+        (JSC::FTL::DFG::LowerDFGToB3::strictInt52ToInt52):
+        (JSC::FTL::DFG::LowerDFGToB3::unboxInt32):
+        (JSC::FTL::DFG::LowerDFGToB3::boxInt32):
+        (JSC::FTL::DFG::LowerDFGToB3::isCellOrMisc):
+        (JSC::FTL::DFG::LowerDFGToB3::unboxDouble):
+        (JSC::FTL::DFG::LowerDFGToB3::boxDouble):
+        (JSC::FTL::DFG::LowerDFGToB3::jsValueToStrictInt52):
+        (JSC::FTL::DFG::LowerDFGToB3::doubleToStrictInt52):
+        (JSC::FTL::DFG::LowerDFGToB3::convertDoubleToInt32):
+        (JSC::FTL::DFG::LowerDFGToB3::callCheck):
+        (JSC::FTL::DFG::LowerDFGToB3::crash):
+        * ftl/FTLOutput.cpp:
+        (JSC::FTL::Output::bitCast):
+
</ins><span class="cx"> 2016-07-02  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         DFG LICM needs to go all-in on the idea that some loops can't be LICMed
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLCommonValuescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLCommonValues.cpp (202791 => 202792)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLCommonValues.cpp        2016-07-03 17:47:51 UTC (rev 202791)
+++ trunk/Source/JavaScriptCore/ftl/FTLCommonValues.cpp        2016-07-03 19:34:55 UTC (rev 202792)
</span><span class="lines">@@ -42,13 +42,6 @@
</span><span class="cx"> using namespace B3;
</span><span class="cx"> 
</span><span class="cx"> CommonValues::CommonValues()
</span><del>-    : voidType(B3::Void)
-    , boolean(B3::Int32)
-    , int32(B3::Int32)
-    , int64(B3::Int64)
-    , intPtr(B3::pointerType())
-    , floatType(B3::Float)
-    , doubleType(B3::Double)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLCommonValuesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLCommonValues.h (202791 => 202792)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLCommonValues.h        2016-07-03 17:47:51 UTC (rev 202791)
+++ trunk/Source/JavaScriptCore/ftl/FTLCommonValues.h        2016-07-03 19:34:55 UTC (rev 202792)
</span><span class="lines">@@ -46,13 +46,6 @@
</span><span class="cx"> 
</span><span class="cx">     void initializeConstants(B3::Procedure&amp;, B3::BasicBlock*);
</span><span class="cx">     
</span><del>-    const LType voidType;
-    const LType boolean;
-    const LType int32;
-    const LType int64;
-    const LType intPtr;
-    const LType floatType;
-    const LType doubleType;
</del><span class="cx">     LValue booleanTrue { nullptr };
</span><span class="cx">     LValue booleanFalse { nullptr };
</span><span class="cx">     LValue int32Zero { nullptr };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLLowerDFGToB3cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp (202791 => 202792)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp        2016-07-03 17:47:51 UTC (rev 202791)
+++ trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp        2016-07-03 19:34:55 UTC (rev 202792)
</span><span class="lines">@@ -328,19 +328,19 @@
</span><span class="cx">                 LType type;
</span><span class="cx">                 switch (node-&gt;flags() &amp; NodeResultMask) {
</span><span class="cx">                 case NodeResultDouble:
</span><del>-                    type = m_out.doubleType;
</del><ins>+                    type = Double;
</ins><span class="cx">                     break;
</span><span class="cx">                 case NodeResultInt32:
</span><del>-                    type = m_out.int32;
</del><ins>+                    type = Int32;
</ins><span class="cx">                     break;
</span><span class="cx">                 case NodeResultInt52:
</span><del>-                    type = m_out.int64;
</del><ins>+                    type = Int64;
</ins><span class="cx">                     break;
</span><span class="cx">                 case NodeResultBoolean:
</span><del>-                    type = m_out.boolean;
</del><ins>+                    type = Int32;
</ins><span class="cx">                     break;
</span><span class="cx">                 case NodeResultJS:
</span><del>-                    type = m_out.int64;
</del><ins>+                    type = Int64;
</ins><span class="cx">                     break;
</span><span class="cx">                 default:
</span><span class="cx">                     DFG_CRASH(m_graph, node, &quot;Bad Phi node result type&quot;);
</span><span class="lines">@@ -1157,7 +1157,7 @@
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><span class="cx">             
</span><del>-            setDouble(m_out.phi(m_out.doubleType, fastResult, slowResult));
</del><ins>+            setDouble(m_out.phi(Double, fastResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -1231,7 +1231,7 @@
</span><span class="cx">                 m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">                 m_out.appendTo(continuation, lastNext);
</span><del>-                setDouble(m_out.phi(m_out.doubleType, intToDouble, unboxedDouble, convertedUndefined, convertedNull, convertedTrue, convertedFalse));
</del><ins>+                setDouble(m_out.phi(Double, intToDouble, unboxedDouble, convertedUndefined, convertedNull, convertedTrue, convertedFalse));
</ins><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx">             m_out.appendTo(nonDoubleCase, continuation);
</span><span class="lines">@@ -1240,7 +1240,7 @@
</span><span class="cx"> 
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><span class="cx"> 
</span><del>-            setDouble(m_out.phi(m_out.doubleType, intToDouble, unboxedDouble));
</del><ins>+            setDouble(m_out.phi(Double, intToDouble, unboxedDouble));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -1353,7 +1353,7 @@
</span><span class="cx">     {
</span><span class="cx">         switch (m_node-&gt;child1().useKind()) {
</span><span class="cx">         case BooleanUse: {
</span><del>-            setInt32(m_out.zeroExt(lowBoolean(m_node-&gt;child1()), m_out.int32));
</del><ins>+            setInt32(m_out.zeroExt(lowBoolean(m_node-&gt;child1()), Int32));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -1375,11 +1375,11 @@
</span><span class="cx">             
</span><span class="cx">             LBasicBlock lastNext = m_out.appendTo(booleanCase, continuation);
</span><span class="cx">             ValueFromBlock booleanResult = m_out.anchor(m_out.bitOr(
</span><del>-                m_out.zeroExt(unboxBoolean(value), m_out.int64), m_tagTypeNumber));
</del><ins>+                m_out.zeroExt(unboxBoolean(value), Int64), m_tagTypeNumber));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, booleanResult, notBooleanResult));
</del><ins>+            setJSValue(m_out.phi(Int64, booleanResult, notBooleanResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -1486,11 +1486,11 @@
</span><span class="cx">         m_out.branch(isObject(value), usually(continuation), rarely(slowCase));
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(slowCase, continuation);
</span><del>-        ValueFromBlock slowResult = m_out.anchor(vmCall(m_out.int64, m_out.operation(operationObjectConstructor), m_callFrame, m_out.constIntPtr(globalObject), value));
</del><ins>+        ValueFromBlock slowResult = m_out.anchor(vmCall(Int64, m_out.operation(operationObjectConstructor), m_callFrame, m_out.constIntPtr(globalObject), value));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, fastResult, slowResult));
</del><ins>+        setJSValue(m_out.phi(Int64, fastResult, slowResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileToThis()
</span><span class="lines">@@ -1519,11 +1519,11 @@
</span><span class="cx">         else
</span><span class="cx">             function = operationToThis;
</span><span class="cx">         ValueFromBlock slowResult = m_out.anchor(
</span><del>-            vmCall(m_out.int64, m_out.operation(function), m_callFrame, value));
</del><ins>+            vmCall(Int64, m_out.operation(function), m_callFrame, value));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, fastResult, slowResult));
</del><ins>+        setJSValue(m_out.phi(Int64, fastResult, slowResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileValueAdd()
</span><span class="lines">@@ -1536,13 +1536,13 @@
</span><span class="cx">         LValue result;
</span><span class="cx">         if (m_node-&gt;child3()) {
</span><span class="cx">             result = vmCall(
</span><del>-                m_out.int64, m_out.operation(operationStrCat3), m_callFrame,
</del><ins>+                Int64, m_out.operation(operationStrCat3), m_callFrame,
</ins><span class="cx">                 lowJSValue(m_node-&gt;child1(), ManualOperandSpeculation),
</span><span class="cx">                 lowJSValue(m_node-&gt;child2(), ManualOperandSpeculation),
</span><span class="cx">                 lowJSValue(m_node-&gt;child3(), ManualOperandSpeculation));
</span><span class="cx">         } else {
</span><span class="cx">             result = vmCall(
</span><del>-                m_out.int64, m_out.operation(operationStrCat2), m_callFrame,
</del><ins>+                Int64, m_out.operation(operationStrCat2), m_callFrame,
</ins><span class="cx">                 lowJSValue(m_node-&gt;child1(), ManualOperandSpeculation),
</span><span class="cx">                 lowJSValue(m_node-&gt;child2(), ManualOperandSpeculation));
</span><span class="cx">         }
</span><span class="lines">@@ -1868,7 +1868,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setDouble(m_out.phi(m_out.doubleType, results));
</del><ins>+            setDouble(m_out.phi(Double, results));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -2042,7 +2042,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setDouble(m_out.phi(m_out.doubleType, powDoubleIntResult, zeroResultExponentIsOneHalf, sqrtResult, sqrtInfinityResult, oneOverSqrtZeroResult, oneOverSqrtResult, oneOverSqrtInfinityResult, powResult, pureNan));
</del><ins>+            setDouble(m_out.phi(Double, powDoubleIntResult, zeroResultExponentIsOneHalf, sqrtResult, sqrtInfinityResult, oneOverSqrtZeroResult, oneOverSqrtResult, oneOverSqrtInfinityResult, powResult, pureNan));
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2118,7 +2118,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><span class="cx"> 
</span><del>-            result = m_out.phi(m_out.doubleType, integerValueResult, integerValueRoundedDownResult);
</del><ins>+            result = m_out.phi(Double, integerValueResult, integerValueRoundedDownResult);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (producesInteger(m_node-&gt;arithRoundingMode())) {
</span><span class="lines">@@ -2419,17 +2419,17 @@
</span><span class="cx">         
</span><span class="cx">         switch (m_node-&gt;arrayMode().type()) {
</span><span class="cx">         case Array::Int32:
</span><del>-            vmCall(m_out.voidType, m_out.operation(operationEnsureInt32), m_callFrame, cell);
</del><ins>+            vmCall(Void, m_out.operation(operationEnsureInt32), m_callFrame, cell);
</ins><span class="cx">             break;
</span><span class="cx">         case Array::Double:
</span><del>-            vmCall(m_out.voidType, m_out.operation(operationEnsureDouble), m_callFrame, cell);
</del><ins>+            vmCall(Void, m_out.operation(operationEnsureDouble), m_callFrame, cell);
</ins><span class="cx">             break;
</span><span class="cx">         case Array::Contiguous:
</span><del>-            vmCall(m_out.voidType, m_out.operation(operationEnsureContiguous), m_callFrame, cell);
</del><ins>+            vmCall(Void, m_out.operation(operationEnsureContiguous), m_callFrame, cell);
</ins><span class="cx">             break;
</span><span class="cx">         case Array::ArrayStorage:
</span><span class="cx">         case Array::SlowPutArrayStorage:
</span><del>-            vmCall(m_out.voidType, m_out.operation(operationEnsureArrayStorage), m_callFrame, cell);
</del><ins>+            vmCall(Void, m_out.operation(operationEnsureArrayStorage), m_callFrame, cell);
</ins><span class="cx">             break;
</span><span class="cx">         default:
</span><span class="cx">             DFG_CRASH(m_graph, m_node, &quot;Bad array type&quot;);
</span><span class="lines">@@ -2495,13 +2495,13 @@
</span><span class="cx"> 
</span><span class="cx">             m_out.appendTo(notCellCase, continuation);
</span><span class="cx">             ValueFromBlock notCellResult = m_out.anchor(vmCall(
</span><del>-                m_out.int64, m_out.operation(getByIdFunction),
</del><ins>+                Int64, m_out.operation(getByIdFunction),
</ins><span class="cx">                 m_callFrame, value,
</span><span class="cx">                 m_out.constIntPtr(m_graph.identifiers()[m_node-&gt;identifierNumber()])));
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, cellResult, notCellResult));
</del><ins>+            setJSValue(m_out.phi(Int64, cellResult, notCellResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -2515,7 +2515,7 @@
</span><span class="cx">     {
</span><span class="cx">         LValue base = lowJSValue(m_node-&gt;child1());
</span><span class="cx">         LValue thisValue = lowJSValue(m_node-&gt;child2());
</span><del>-        LValue result = vmCall(m_out.int64, m_out.operation(operationGetByIdWithThis), m_callFrame, base, thisValue, m_out.constIntPtr(m_graph.identifiers()[m_node-&gt;identifierNumber()]));
</del><ins>+        LValue result = vmCall(Int64, m_out.operation(operationGetByIdWithThis), m_callFrame, base, thisValue, m_out.constIntPtr(m_graph.identifiers()[m_node-&gt;identifierNumber()]));
</ins><span class="cx">         setJSValue(result);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2525,7 +2525,7 @@
</span><span class="cx">         LValue thisValue = lowJSValue(m_node-&gt;child2());
</span><span class="cx">         LValue subscript = lowJSValue(m_node-&gt;child3());
</span><span class="cx"> 
</span><del>-        LValue result = vmCall(m_out.int64, m_out.operation(operationGetByValWithThis), m_callFrame, base, thisValue, subscript);
</del><ins>+        LValue result = vmCall(Int64, m_out.operation(operationGetByValWithThis), m_callFrame, base, thisValue, subscript);
</ins><span class="cx">         setJSValue(result);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2535,7 +2535,7 @@
</span><span class="cx">         LValue thisValue = lowJSValue(m_node-&gt;child2());
</span><span class="cx">         LValue value = lowJSValue(m_node-&gt;child3());
</span><span class="cx"> 
</span><del>-        vmCall(m_out.voidType, m_out.operation(m_graph.isStrictModeFor(m_node-&gt;origin.semantic) ? operationPutByIdWithThisStrict : operationPutByIdWithThis),
</del><ins>+        vmCall(Void, m_out.operation(m_graph.isStrictModeFor(m_node-&gt;origin.semantic) ? operationPutByIdWithThisStrict : operationPutByIdWithThis),
</ins><span class="cx">             m_callFrame, base, thisValue, value, m_out.constIntPtr(m_graph.identifiers()[m_node-&gt;identifierNumber()]));
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2546,7 +2546,7 @@
</span><span class="cx">         LValue property = lowJSValue(m_graph.varArgChild(m_node, 2));
</span><span class="cx">         LValue value = lowJSValue(m_graph.varArgChild(m_node, 3));
</span><span class="cx"> 
</span><del>-        vmCall(m_out.voidType, m_out.operation(m_graph.isStrictModeFor(m_node-&gt;origin.semantic) ? operationPutByValWithThisStrict : operationPutByValWithThis),
</del><ins>+        vmCall(Void, m_out.operation(m_graph.isStrictModeFor(m_node-&gt;origin.semantic) ? operationPutByValWithThisStrict : operationPutByValWithThis),
</ins><span class="cx">             m_callFrame, base, thisValue, property, value);
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -2649,13 +2649,13 @@
</span><span class="cx">             LBasicBlock lastNext = m_out.appendTo(slowPath, continuation);
</span><span class="cx">             
</span><span class="cx">             ValueFromBlock slowResult = m_out.anchor(
</span><del>-                vmCall(m_out.intPtr, m_out.operation(operationResolveRope), m_callFrame, cell));
</del><ins>+                vmCall(pointerType(), m_out.operation(operationResolveRope), m_callFrame, cell));
</ins><span class="cx">             
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><span class="cx">             
</span><del>-            setStorage(m_out.loadPtr(m_out.phi(m_out.intPtr, fastResult, slowResult), m_heaps.StringImpl_data));
</del><ins>+            setStorage(m_out.loadPtr(m_out.phi(pointerType(), fastResult, slowResult), m_heaps.StringImpl_data));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="lines">@@ -2706,7 +2706,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx"> 
</span><del>-        setInt32(m_out.castToInt32(m_out.phi(m_out.intPtr, simpleOut, wastefulOut)));
</del><ins>+        setInt32(m_out.castToInt32(m_out.phi(pointerType(), simpleOut, wastefulOut)));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileGetArrayLength()
</span><span class="lines">@@ -2807,11 +2807,11 @@
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(slowCase, continuation);
</span><span class="cx">             ValueFromBlock slowResult = m_out.anchor(
</span><del>-                vmCall(m_out.int64, m_out.operation(operationGetByValArrayInt), m_callFrame, base, index));
</del><ins>+                vmCall(Int64, m_out.operation(operationGetByValArrayInt), m_callFrame, base, index));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, fastResult, slowResult));
</del><ins>+            setJSValue(m_out.phi(Int64, fastResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -2859,11 +2859,11 @@
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(slowCase, continuation);
</span><span class="cx">             ValueFromBlock slowResult = m_out.anchor(
</span><del>-                vmCall(m_out.int64, m_out.operation(operationGetByValArrayInt), m_callFrame, base, index));
</del><ins>+                vmCall(Int64, m_out.operation(operationGetByValArrayInt), m_callFrame, base, index));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, fastResult, slowResult));
</del><ins>+            setJSValue(m_out.phi(Int64, fastResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -2943,13 +2943,13 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, namedResult, overflowResult));
</del><ins>+            setJSValue(m_out.phi(Int64, namedResult, overflowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="cx">         case Array::Generic: {
</span><span class="cx">             setJSValue(vmCall(
</span><del>-                m_out.int64, m_out.operation(operationGetByVal), m_callFrame,
</del><ins>+                Int64, m_out.operation(operationGetByVal), m_callFrame,
</ins><span class="cx">                 lowJSValue(m_node-&gt;child1()), lowJSValue(m_node-&gt;child2())));
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="lines">@@ -3003,7 +3003,7 @@
</span><span class="cx">                     }
</span><span class="cx">                     
</span><span class="cx">                     if (m_node-&gt;shouldSpeculateAnyInt()) {
</span><del>-                        setStrictInt52(m_out.zeroExt(result, m_out.int64));
</del><ins>+                        setStrictInt52(m_out.zeroExt(result, Int64));
</ins><span class="cx">                         return;
</span><span class="cx">                     }
</span><span class="cx">                     
</span><span class="lines">@@ -3077,7 +3077,7 @@
</span><span class="cx">         LValue result;
</span><span class="cx">         if (base) {
</span><span class="cx">             LValue pointer = m_out.baseIndex(
</span><del>-                base.value(), m_out.zeroExt(index, m_out.intPtr), ScaleEight);
</del><ins>+                base.value(), m_out.zeroExt(index, pointerType()), ScaleEight);
</ins><span class="cx">             result = m_out.load64(TypedPointer(m_heaps.variables.atAnyIndex(), pointer));
</span><span class="cx">         } else
</span><span class="cx">             result = m_out.constInt64(JSValue::encode(jsUndefined()));
</span><span class="lines">@@ -3117,7 +3117,7 @@
</span><span class="cx">             }
</span><span class="cx">                 
</span><span class="cx">             vmCall(
</span><del>-                m_out.voidType, m_out.operation(operation), m_callFrame,
</del><ins>+                Void, m_out.operation(operation), m_callFrame,
</ins><span class="cx">                 lowJSValue(child1), lowJSValue(child2), lowJSValue(child3));
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="lines">@@ -3209,7 +3209,7 @@
</span><span class="cx">                     m_out.add(
</span><span class="cx">                         storage,
</span><span class="cx">                         m_out.shl(
</span><del>-                            m_out.zeroExt(index, m_out.intPtr),
</del><ins>+                            m_out.zeroExt(index, pointerType()),
</ins><span class="cx">                             m_out.constIntPtr(logElementSize(type)))));
</span><span class="cx">                 
</span><span class="cx">                 Output::StoreType storeType;
</span><span class="lines">@@ -3246,7 +3246,7 @@
</span><span class="cx">                             m_out.jump(continuation);
</span><span class="cx">                             
</span><span class="cx">                             m_out.appendTo(continuation, lastNext);
</span><del>-                            intValue = m_out.phi(m_out.int32, intValues);
</del><ins>+                            intValue = m_out.phi(Int32, intValues);
</ins><span class="cx">                         }
</span><span class="cx">                         break;
</span><span class="cx">                     }
</span><span class="lines">@@ -3278,7 +3278,7 @@
</span><span class="cx">                             m_out.jump(continuation);
</span><span class="cx">                             
</span><span class="cx">                             m_out.appendTo(continuation, lastNext);
</span><del>-                            intValue = m_out.phi(m_out.int32, intValues);
</del><ins>+                            intValue = m_out.phi(Int32, intValues);
</ins><span class="cx">                         } else
</span><span class="cx">                             intValue = doubleToInt32(doubleValue);
</span><span class="cx">                         break;
</span><span class="lines">@@ -3349,7 +3349,7 @@
</span><span class="cx">         LValue accessor = lowCell(m_node-&gt;child2());
</span><span class="cx">         auto uid = m_graph.identifiers()[m_node-&gt;identifierNumber()];
</span><span class="cx">         vmCall(
</span><del>-            m_out.voidType,
</del><ins>+            Void,
</ins><span class="cx">             m_out.operation(m_node-&gt;op() == PutGetterById ? operationPutGetterById : operationPutSetterById),
</span><span class="cx">             m_callFrame, base, m_out.constIntPtr(uid), m_out.constInt32(m_node-&gt;accessorAttributes()), accessor);
</span><span class="cx">     }
</span><span class="lines">@@ -3361,7 +3361,7 @@
</span><span class="cx">         LValue setter = lowJSValue(m_node-&gt;child3());
</span><span class="cx">         auto uid = m_graph.identifiers()[m_node-&gt;identifierNumber()];
</span><span class="cx">         vmCall(
</span><del>-            m_out.voidType, m_out.operation(operationPutGetterSetter),
</del><ins>+            Void, m_out.operation(operationPutGetterSetter),
</ins><span class="cx">             m_callFrame, base, m_out.constIntPtr(uid), m_out.constInt32(m_node-&gt;accessorAttributes()), getter, setter);
</span><span class="cx"> 
</span><span class="cx">     }
</span><span class="lines">@@ -3372,7 +3372,7 @@
</span><span class="cx">         LValue subscript = lowJSValue(m_node-&gt;child2());
</span><span class="cx">         LValue accessor = lowCell(m_node-&gt;child3());
</span><span class="cx">         vmCall(
</span><del>-            m_out.voidType,
</del><ins>+            Void,
</ins><span class="cx">             m_out.operation(m_node-&gt;op() == PutGetterByVal ? operationPutGetterByVal : operationPutSetterByVal),
</span><span class="cx">             m_callFrame, base, subscript, m_out.constInt32(m_node-&gt;accessorAttributes()), accessor);
</span><span class="cx">     }
</span><span class="lines">@@ -3433,11 +3433,11 @@
</span><span class="cx">             else
</span><span class="cx">                 operation = m_out.operation(operationArrayPushDouble);
</span><span class="cx">             ValueFromBlock slowResult = m_out.anchor(
</span><del>-                vmCall(m_out.int64, operation, m_callFrame, value, base));
</del><ins>+                vmCall(Int64, operation, m_callFrame, value, base));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, fastResult, slowResult));
</del><ins>+            setJSValue(m_out.phi(Int64, fastResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -3490,11 +3490,11 @@
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(slowCase, continuation);
</span><span class="cx">             results.append(m_out.anchor(vmCall(
</span><del>-                m_out.int64, m_out.operation(operationArrayPopAndRecoverLength), m_callFrame, base)));
</del><ins>+                Int64, m_out.operation(operationArrayPopAndRecoverLength), m_callFrame, base)));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, results));
</del><ins>+            setJSValue(m_out.phi(Int64, results));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -3513,7 +3513,7 @@
</span><span class="cx">         ASSERT(initializationValue.isUndefined() || initializationValue == jsTDZValue());
</span><span class="cx">         if (table-&gt;singletonScope()-&gt;isStillValid()) {
</span><span class="cx">             LValue callResult = vmCall(
</span><del>-                m_out.int64,
</del><ins>+                Int64,
</ins><span class="cx">                 m_out.operation(operationCreateActivationDirect), m_callFrame, weakPointer(structure),
</span><span class="cx">                 scope, weakPointer(table), m_out.constInt64(JSValue::encode(initializationValue)));
</span><span class="cx">             setJSValue(callResult);
</span><span class="lines">@@ -3556,7 +3556,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.intPtr, fastResult, slowResult));
</del><ins>+        setJSValue(m_out.phi(pointerType(), fastResult, slowResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileNewFunction()
</span><span class="lines">@@ -3569,8 +3569,8 @@
</span><span class="cx">         FunctionExecutable* executable = m_node-&gt;castOperand&lt;FunctionExecutable*&gt;();
</span><span class="cx">         if (executable-&gt;singletonFunction()-&gt;isStillValid()) {
</span><span class="cx">             LValue callResult =
</span><del>-                isGeneratorFunction ? vmCall(m_out.int64, m_out.operation(operationNewGeneratorFunction), m_callFrame, scope, weakPointer(executable)) :
-                vmCall(m_out.int64, m_out.operation(operationNewFunction), m_callFrame, scope, weakPointer(executable));
</del><ins>+                isGeneratorFunction ? vmCall(Int64, m_out.operation(operationNewGeneratorFunction), m_callFrame, scope, weakPointer(executable)) :
+                vmCall(Int64, m_out.operation(operationNewFunction), m_callFrame, scope, weakPointer(executable));
</ins><span class="cx">             setJSValue(callResult);
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="lines">@@ -3620,7 +3620,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.intPtr, fastResult, slowResult));
</del><ins>+        setJSValue(m_out.phi(pointerType(), fastResult, slowResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileCreateDirectArguments()
</span><span class="lines">@@ -3678,7 +3678,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        LValue result = m_out.phi(m_out.intPtr, fastResult, slowResult);
</del><ins>+        LValue result = m_out.phi(pointerType(), fastResult, slowResult);
</ins><span class="cx"> 
</span><span class="cx">         m_out.storePtr(getCurrentCallee(), result, m_heaps.DirectArguments_callee);
</span><span class="cx">         
</span><span class="lines">@@ -3711,7 +3711,7 @@
</span><span class="cx">             }
</span><span class="cx">             
</span><span class="cx">             lastNext = m_out.appendTo(loop, end);
</span><del>-            LValue previousIndex = m_out.phi(m_out.intPtr, originalLength);
</del><ins>+            LValue previousIndex = m_out.phi(pointerType(), originalLength);
</ins><span class="cx">             LValue index = m_out.sub(previousIndex, m_out.intPtrOne);
</span><span class="cx">             m_out.store64(
</span><span class="cx">                 m_out.load64(m_out.baseIndex(m_heaps.variables, stackBase, index)),
</span><span class="lines">@@ -3731,7 +3731,7 @@
</span><span class="cx">         LValue scope = lowCell(m_node-&gt;child1());
</span><span class="cx">         
</span><span class="cx">         LValue result = vmCall(
</span><del>-            m_out.int64, m_out.operation(operationCreateScopedArguments), m_callFrame,
</del><ins>+            Int64, m_out.operation(operationCreateScopedArguments), m_callFrame,
</ins><span class="cx">             weakPointer(
</span><span class="cx">                 m_graph.globalObjectFor(m_node-&gt;origin.semantic)-&gt;scopedArgumentsStructure()),
</span><span class="cx">             getArgumentsStart(), getArgumentsLength().value, getCurrentCallee(), scope);
</span><span class="lines">@@ -3742,7 +3742,7 @@
</span><span class="cx">     void compileCreateClonedArguments()
</span><span class="cx">     {
</span><span class="cx">         LValue result = vmCall(
</span><del>-            m_out.int64, m_out.operation(operationCreateClonedArguments), m_callFrame,
</del><ins>+            Int64, m_out.operation(operationCreateClonedArguments), m_callFrame,
</ins><span class="cx">             weakPointer(
</span><span class="cx">                 m_graph.globalObjectFor(m_node-&gt;origin.semantic)-&gt;clonedArgumentsStructure()),
</span><span class="cx">             getArgumentsStart(), getArgumentsLength().value, getCurrentCallee());
</span><span class="lines">@@ -3765,7 +3765,7 @@
</span><span class="cx">         // Arguments: 0:exec, 1:JSCell* array, 2:arguments start, 3:number of arguments to skip, 4:array length
</span><span class="cx">         LValue numberOfArgumentsToSkip = m_out.constInt32(m_node-&gt;numberOfArgumentsToSkip());
</span><span class="cx">         vmCall(
</span><del>-            m_out.voidType,m_out.operation(operationCopyRest), m_callFrame, lowCell(m_node-&gt;child1()),
</del><ins>+            Void,m_out.operation(operationCopyRest), m_callFrame, lowCell(m_node-&gt;child1()),
</ins><span class="cx">             getArgumentsStart(), numberOfArgumentsToSkip, arrayLength);
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="lines">@@ -3789,7 +3789,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setInt32(m_out.phi(m_out.int32, zeroLengthResult, nonZeroLengthResult));
</del><ins>+        setInt32(m_out.phi(Int32, zeroLengthResult, nonZeroLengthResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileNewObject()
</span><span class="lines">@@ -3851,7 +3851,7 @@
</span><span class="cx">         
</span><span class="cx">         if (!m_node-&gt;numChildren()) {
</span><span class="cx">             setJSValue(vmCall(
</span><del>-                m_out.int64, m_out.operation(operationNewEmptyArray), m_callFrame,
</del><ins>+                Int64, m_out.operation(operationNewEmptyArray), m_callFrame,
</ins><span class="cx">                 m_out.constIntPtr(structure)));
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="lines">@@ -3872,7 +3872,7 @@
</span><span class="cx">             m_out.constIntPtr(scratchSize), m_out.absolute(scratchBuffer-&gt;activeLengthPtr()));
</span><span class="cx">         
</span><span class="cx">         LValue result = vmCall(
</span><del>-            m_out.int64, m_out.operation(operationNewArray), m_callFrame,
</del><ins>+            Int64, m_out.operation(operationNewArray), m_callFrame,
</ins><span class="cx">             m_out.constIntPtr(structure), m_out.constIntPtr(buffer),
</span><span class="cx">             m_out.constIntPtr(m_node-&gt;numChildren()));
</span><span class="cx">         
</span><span class="lines">@@ -3911,7 +3911,7 @@
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         setJSValue(vmCall(
</span><del>-            m_out.int64, m_out.operation(operationNewArrayBuffer), m_callFrame,
</del><ins>+            Int64, m_out.operation(operationNewArrayBuffer), m_callFrame,
</ins><span class="cx">             m_out.constIntPtr(structure), m_out.constIntPtr(m_node-&gt;startConstant()),
</span><span class="cx">             m_out.constIntPtr(m_node-&gt;numConstants())));
</span><span class="cx">     }
</span><span class="lines">@@ -3947,7 +3947,7 @@
</span><span class="cx">             LValue vectorLength = publicLength;
</span><span class="cx">             
</span><span class="cx">             LValue payloadSize =
</span><del>-                m_out.shl(m_out.zeroExt(vectorLength, m_out.intPtr), m_out.constIntPtr(3));
</del><ins>+                m_out.shl(m_out.zeroExt(vectorLength, pointerType()), m_out.constIntPtr(3));
</ins><span class="cx">             
</span><span class="cx">             LValue butterflySize = m_out.add(
</span><span class="cx">                 payloadSize, m_out.constIntPtr(sizeof(IndexingHeader)));
</span><span class="lines">@@ -3977,7 +3977,7 @@
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(slowCase, continuation);
</span><span class="cx">             LValue structureValue = m_out.phi(
</span><del>-                m_out.intPtr, largeStructure, failStructure);
</del><ins>+                pointerType(), largeStructure, failStructure);
</ins><span class="cx">             LValue slowResultValue = lazySlowPath(
</span><span class="cx">                 [=] (const Vector&lt;Location&gt;&amp; locations) -&gt; RefPtr&lt;LazySlowPath::Generator&gt; {
</span><span class="cx">                     return createLazyCallGenerator(
</span><span class="lines">@@ -3989,7 +3989,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.intPtr, fastResult, slowResult));
</del><ins>+            setJSValue(m_out.phi(pointerType(), fastResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="lines">@@ -3998,7 +3998,7 @@
</span><span class="cx">             m_out.constIntPtr(
</span><span class="cx">                 globalObject-&gt;arrayStructureForIndexingTypeDuringAllocation(ArrayWithArrayStorage)),
</span><span class="cx">             m_out.constIntPtr(structure));
</span><del>-        setJSValue(vmCall(m_out.int64, m_out.operation(operationNewArrayWithSize), m_callFrame, structureValue, publicLength));
</del><ins>+        setJSValue(vmCall(Int64, m_out.operation(operationNewArrayWithSize), m_callFrame, structureValue, publicLength));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileNewTypedArray()
</span><span class="lines">@@ -4060,7 +4060,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.intPtr, fastResult, slowResult));
</del><ins>+            setJSValue(m_out.phi(pointerType(), fastResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -4068,7 +4068,7 @@
</span><span class="cx">             LValue argument = lowJSValue(m_node-&gt;child1());
</span><span class="cx"> 
</span><span class="cx">             LValue result = vmCall(
</span><del>-                m_out.intPtr, m_out.operation(operationNewTypedArrayWithOneArgumentForType(type)),
</del><ins>+                pointerType(), m_out.operation(operationNewTypedArrayWithOneArgumentForType(type)),
</ins><span class="cx">                 m_callFrame, weakPointer(globalObject-&gt;typedArrayStructureConcurrently(type)), argument);
</span><span class="cx"> 
</span><span class="cx">             setJSValue(result);
</span><span class="lines">@@ -4103,7 +4103,7 @@
</span><span class="cx">         LValue value = lowJSValue(m_node-&gt;child1());
</span><span class="cx"> 
</span><span class="cx">         if (!(abstractValue(m_node-&gt;child1()).m_type &amp; SpecBytecodeNumber))
</span><del>-            setJSValue(vmCall(m_out.int64, m_out.operation(operationToNumber), m_callFrame, value));
</del><ins>+            setJSValue(vmCall(Int64, m_out.operation(operationToNumber), m_callFrame, value));
</ins><span class="cx">         else {
</span><span class="cx">             LBasicBlock notNumber = m_out.newBlock();
</span><span class="cx">             LBasicBlock continuation = m_out.newBlock();
</span><span class="lines">@@ -4116,12 +4116,12 @@
</span><span class="cx">             // We have several attempts to remove ToNumber. But ToNumber still exists.
</span><span class="cx">             // It means that converting non-numbers to numbers by this ToNumber is not rare.
</span><span class="cx">             // Instead of the lazy slow path generator, we call the operation here.
</span><del>-            ValueFromBlock slowResult = m_out.anchor(vmCall(m_out.int64, m_out.operation(operationToNumber), m_callFrame, value));
</del><ins>+            ValueFromBlock slowResult = m_out.anchor(vmCall(Int64, m_out.operation(operationToNumber), m_callFrame, value));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">             // continuation case.
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, fastResult, slowResult));
</del><ins>+            setJSValue(m_out.phi(Int64, fastResult, slowResult));
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -4156,7 +4156,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, simpleResult, unboxedResult));
</del><ins>+            setJSValue(m_out.phi(Int64, simpleResult, unboxedResult));
</ins><span class="cx">             
</span><span class="cx">             m_interpreter.filter(m_node-&gt;child1(), SpecString | SpecStringObject);
</span><span class="cx">             return;
</span><span class="lines">@@ -4196,11 +4196,11 @@
</span><span class="cx">                 operation = m_out.operation(m_node-&gt;op() == ToString ? operationToStringOnCell : operationCallStringConstructorOnCell);
</span><span class="cx">             else
</span><span class="cx">                 operation = m_out.operation(m_node-&gt;op() == ToString ? operationToString : operationCallStringConstructor);
</span><del>-            ValueFromBlock convertedResult = m_out.anchor(vmCall(m_out.int64, operation, m_callFrame, value));
</del><ins>+            ValueFromBlock convertedResult = m_out.anchor(vmCall(Int64, operation, m_callFrame, value));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setJSValue(m_out.phi(m_out.int64, simpleResult, convertedResult));
</del><ins>+            setJSValue(m_out.phi(Int64, simpleResult, convertedResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -4232,11 +4232,11 @@
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(isObjectCase, continuation);
</span><span class="cx">         results.append(m_out.anchor(vmCall(
</span><del>-            m_out.int64, m_out.operation(operationToPrimitive), m_callFrame, value)));
</del><ins>+            Int64, m_out.operation(operationToPrimitive), m_callFrame, value)));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, results));
</del><ins>+        setJSValue(m_out.phi(Int64, results));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileMakeRope()
</span><span class="lines">@@ -4315,7 +4315,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, fastResult, slowResult));
</del><ins>+        setJSValue(m_out.phi(Int64, fastResult, slowResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileStringCharAt()
</span><span class="lines">@@ -4371,13 +4371,13 @@
</span><span class="cx">             
</span><span class="cx">         Vector&lt;ValueFromBlock, 4&gt; results;
</span><span class="cx">         results.append(m_out.anchor(vmCall(
</span><del>-            m_out.int64, m_out.operation(operationSingleCharacterString),
</del><ins>+            Int64, m_out.operation(operationSingleCharacterString),
</ins><span class="cx">             m_callFrame, char16BitValue)));
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">         m_out.appendTo(bitsContinuation, slowPath);
</span><span class="cx">             
</span><del>-        LValue character = m_out.phi(m_out.int32, char8Bit, char16Bit);
</del><ins>+        LValue character = m_out.phi(Int32, char8Bit, char16Bit);
</ins><span class="cx">             
</span><span class="cx">         LValue smallStrings = m_out.constIntPtr(vm().smallStrings.singleCharacterStrings());
</span><span class="cx">             
</span><span class="lines">@@ -4417,13 +4417,13 @@
</span><span class="cx">             }
</span><span class="cx">                 
</span><span class="cx">             results.append(m_out.anchor(vmCall(
</span><del>-                m_out.int64, m_out.operation(operationGetByValStringInt), m_callFrame, base, index)));
</del><ins>+                Int64, m_out.operation(operationGetByValStringInt), m_callFrame, base, index)));
</ins><span class="cx">         }
</span><span class="cx">             
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, results));
</del><ins>+        setJSValue(m_out.phi(Int64, results));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileStringCharCodeAt()
</span><span class="lines">@@ -4467,7 +4467,7 @@
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx">         
</span><del>-        setInt32(m_out.phi(m_out.int32, char8Bit, char16Bit));
</del><ins>+        setInt32(m_out.phi(Int32, char8Bit, char16Bit));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileStringFromCharCode()
</span><span class="lines">@@ -4476,7 +4476,7 @@
</span><span class="cx">         
</span><span class="cx">         if (childEdge.useKind() == UntypedUse) {
</span><span class="cx">             LValue result = vmCall(
</span><del>-                m_out.int64, m_out.operation(operationStringFromCharCodeUntyped), m_callFrame,
</del><ins>+                Int64, m_out.operation(operationStringFromCharCodeUntyped), m_callFrame,
</ins><span class="cx">                 lowJSValue(childEdge));
</span><span class="cx">             setJSValue(result);
</span><span class="cx">             return;
</span><span class="lines">@@ -4505,13 +4505,13 @@
</span><span class="cx">         m_out.appendTo(slowCase, continuation);
</span><span class="cx"> 
</span><span class="cx">         LValue slowResultValue = vmCall(
</span><del>-            m_out.intPtr, m_out.operation(operationStringFromCharCode), m_callFrame, value);
</del><ins>+            pointerType(), m_out.operation(operationStringFromCharCode), m_callFrame, value);
</ins><span class="cx">         ValueFromBlock slowResult = m_out.anchor(slowResultValue);
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx"> 
</span><del>-        setJSValue(m_out.phi(m_out.int64, fastResult, slowResult));
</del><ins>+        setJSValue(m_out.phi(Int64, fastResult, slowResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileGetByOffset()
</span><span class="lines">@@ -4609,7 +4609,7 @@
</span><span class="cx">         m_out.unreachable();
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, results));
</del><ins>+        setJSValue(m_out.phi(Int64, results));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compilePutByOffset()
</span><span class="lines">@@ -4880,7 +4880,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setBoolean(m_out.phi(m_out.boolean, fastResult, slowResult));
</del><ins>+            setBoolean(m_out.phi(Int32, fastResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -4972,7 +4972,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setBoolean(m_out.phi(m_out.boolean, notCellResult, notStringResult, isStringResult));
</del><ins>+            setBoolean(m_out.phi(Int32, notCellResult, notStringResult, isStringResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="lines">@@ -5543,7 +5543,7 @@
</span><span class="cx">         LValue jsArguments = lowJSValue(m_node-&gt;child1());
</span><span class="cx">         
</span><span class="cx">         LValue length = vmCall(
</span><del>-            m_out.int32, m_out.operation(operationSizeOfVarargs), m_callFrame, jsArguments,
</del><ins>+            Int32, m_out.operation(operationSizeOfVarargs), m_callFrame, jsArguments,
</ins><span class="cx">             m_out.constInt32(data-&gt;offset));
</span><span class="cx">         
</span><span class="cx">         // FIXME: There is a chance that we will call an effectful length property twice. This is safe
</span><span class="lines">@@ -5567,7 +5567,7 @@
</span><span class="cx">             m_out.constIntPtr(3));
</span><span class="cx">         
</span><span class="cx">         vmCall(
</span><del>-            m_out.voidType, m_out.operation(operationLoadVarargs), m_callFrame,
</del><ins>+            Void, m_out.operation(operationLoadVarargs), m_callFrame,
</ins><span class="cx">             m_out.castToInt32(machineStart), jsArguments, m_out.constInt32(data-&gt;offset),
</span><span class="cx">             length, m_out.constInt32(data-&gt;mandatoryMinimum));
</span><span class="cx">     }
</span><span class="lines">@@ -5605,7 +5605,7 @@
</span><span class="cx">             m_out.above(loopBoundValue, lengthAsPtr), unsure(undefinedLoop), unsure(mainLoopEntry));
</span><span class="cx">         
</span><span class="cx">         LBasicBlock lastNext = m_out.appendTo(undefinedLoop, mainLoopEntry);
</span><del>-        LValue previousIndex = m_out.phi(m_out.intPtr, loopBound);
</del><ins>+        LValue previousIndex = m_out.phi(pointerType(), loopBound);
</ins><span class="cx">         LValue currentIndex = m_out.sub(previousIndex, m_out.intPtrOne);
</span><span class="cx">         m_out.store64(
</span><span class="cx">             m_out.constInt64(JSValue::encode(jsUndefined())),
</span><span class="lines">@@ -5620,7 +5620,7 @@
</span><span class="cx">         m_out.branch(m_out.notNull(lengthAsPtr), unsure(mainLoop), unsure(continuation));
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(mainLoop, continuation);
</span><del>-        previousIndex = m_out.phi(m_out.intPtr, loopBound);
</del><ins>+        previousIndex = m_out.phi(pointerType(), loopBound);
</ins><span class="cx">         currentIndex = m_out.sub(previousIndex, m_out.intPtrOne);
</span><span class="cx">         LValue value = m_out.load64(
</span><span class="cx">             m_out.baseIndex(
</span><span class="lines">@@ -5702,7 +5702,7 @@
</span><span class="cx">             }
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(switchOnInts, lastNext);
</span><del>-            buildSwitch(data, m_out.int32, m_out.phi(m_out.int32, intValues));
</del><ins>+            buildSwitch(data, Int32, m_out.phi(Int32, intValues));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="lines">@@ -5768,11 +5768,11 @@
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(needResolution, resolved);
</span><span class="cx">             values.append(m_out.anchor(
</span><del>-                vmCall(m_out.intPtr, m_out.operation(operationResolveRope), m_callFrame, stringValue)));
</del><ins>+                vmCall(pointerType(), m_out.operation(operationResolveRope), m_callFrame, stringValue)));
</ins><span class="cx">             m_out.jump(resolved);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(resolved, is8Bit);
</span><del>-            LValue value = m_out.phi(m_out.intPtr, values);
</del><ins>+            LValue value = m_out.phi(pointerType(), values);
</ins><span class="cx">             LValue characterData = m_out.loadPtr(value, m_heaps.StringImpl_data);
</span><span class="cx">             m_out.branch(
</span><span class="cx">                 m_out.testNonZero32(
</span><span class="lines">@@ -5790,7 +5790,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            buildSwitch(data, m_out.int32, m_out.phi(m_out.int32, characters));
</del><ins>+            buildSwitch(data, Int32, m_out.phi(Int32, characters));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="lines">@@ -5871,7 +5871,7 @@
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx">             
</span><del>-            buildSwitch(m_node-&gt;switchData(), m_out.intPtr, cell);
</del><ins>+            buildSwitch(m_node-&gt;switchData(), pointerType(), cell);
</ins><span class="cx">             return;
</span><span class="cx">         } }
</span><span class="cx">         
</span><span class="lines">@@ -5984,7 +5984,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, notCellResult, cellResult));
</del><ins>+        setBoolean(m_out.phi(Int32, notCellResult, cellResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileIsJSArray()
</span><span class="lines">@@ -6003,7 +6003,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, notCellResult, cellResult));
</del><ins>+        setBoolean(m_out.phi(Int32, notCellResult, cellResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileIsObject()
</span><span class="lines">@@ -6022,7 +6022,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, notCellResult, cellResult));
</del><ins>+        setBoolean(m_out.phi(Int32, notCellResult, cellResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileIsObjectOrNull()
</span><span class="lines">@@ -6076,7 +6076,7 @@
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx">         LValue result = m_out.phi(
</span><del>-            m_out.boolean,
</del><ins>+            Int32,
</ins><span class="cx">             isFunctionResult, notObjectResult, objectResult, slowResult, notCellResult);
</span><span class="cx">         setBoolean(result);
</span><span class="cx">     }
</span><span class="lines">@@ -6121,7 +6121,7 @@
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx">         LValue result = m_out.phi(
</span><del>-            m_out.boolean, notCellResult, functionResult, objectResult, slowResult);
</del><ins>+            Int32, notCellResult, functionResult, objectResult, slowResult);
</ins><span class="cx">         setBoolean(result);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -6141,7 +6141,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, notCellResult, cellResult));
</del><ins>+        setBoolean(m_out.phi(Int32, notCellResult, cellResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileIsTypedArrayView()
</span><span class="lines">@@ -6159,7 +6159,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, notCellResult, cellResult));
</del><ins>+        setBoolean(m_out.phi(Int32, notCellResult, cellResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileTypeOf()
</span><span class="lines">@@ -6180,7 +6180,7 @@
</span><span class="cx">             });
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, results));
</del><ins>+        setJSValue(m_out.phi(Int64, results));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileIn()
</span><span class="lines">@@ -6260,7 +6260,7 @@
</span><span class="cx">             }
</span><span class="cx">         } 
</span><span class="cx"> 
</span><del>-        setJSValue(vmCall(m_out.int64, m_out.operation(operationGenericIn), m_callFrame, cell, lowJSValue(m_node-&gt;child1())));
</del><ins>+        setJSValue(vmCall(Int64, m_out.operation(operationGenericIn), m_callFrame, cell, lowJSValue(m_node-&gt;child1())));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileOverridesHasInstance()
</span><span class="lines">@@ -6287,7 +6287,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, implementsDefaultHasInstanceResult, notDefaultHasInstanceResult));
</del><ins>+        setBoolean(m_out.phi(Int32, implementsDefaultHasInstanceResult, notDefaultHasInstanceResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileCheckTypeInfoFlags()
</span><span class="lines">@@ -6334,7 +6334,7 @@
</span><span class="cx">         m_out.jump(loop);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(loop, loadPrototypeDirect);
</span><del>-        LValue value = m_out.phi(m_out.int64, originalValue);
</del><ins>+        LValue value = m_out.phi(Int64, originalValue);
</ins><span class="cx">         LValue type = m_out.load8ZeroExt32(value, m_heaps.JSCell_typeInfoType);
</span><span class="cx">         m_out.branch(
</span><span class="cx">             m_out.notEqual(type, m_out.constInt32(ProxyObjectType)),
</span><span class="lines">@@ -6358,12 +6358,12 @@
</span><span class="cx">         // can just continue off from wherever we bailed from the
</span><span class="cx">         // loop.
</span><span class="cx">         ValueFromBlock defaultHasInstanceResult = m_out.anchor(
</span><del>-            vmCall(m_out.boolean, m_out.operation(operationDefaultHasInstance), m_callFrame, value, prototype));
</del><ins>+            vmCall(Int32, m_out.operation(operationDefaultHasInstance), m_callFrame, value, prototype));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx">         setBoolean(
</span><del>-            m_out.phi(m_out.boolean, notCellResult, isInstanceResult, notInstanceResult, defaultHasInstanceResult));
</del><ins>+            m_out.phi(Int32, notCellResult, isInstanceResult, notInstanceResult, defaultHasInstanceResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileInstanceOfCustom()
</span><span class="lines">@@ -6372,7 +6372,7 @@
</span><span class="cx">         LValue constructor = lowCell(m_node-&gt;child2());
</span><span class="cx">         LValue hasInstance = lowJSValue(m_node-&gt;child3());
</span><span class="cx"> 
</span><del>-        setBoolean(m_out.logicalNot(m_out.equal(m_out.constInt32(0), vmCall(m_out.int32, m_out.operation(operationInstanceOfCustom), m_callFrame, value, constructor, hasInstance))));
</del><ins>+        setBoolean(m_out.logicalNot(m_out.equal(m_out.constInt32(0), vmCall(Int32, m_out.operation(operationInstanceOfCustom), m_callFrame, value, constructor, hasInstance))));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileCountExecution()
</span><span class="lines">@@ -6419,11 +6419,11 @@
</span><span class="cx">             m_out.appendTo(slowCase, continuation);
</span><span class="cx">             ValueFromBlock slowResult = m_out.anchor(m_out.equal(
</span><span class="cx">                 m_out.constInt64(JSValue::encode(jsBoolean(true))), 
</span><del>-                vmCall(m_out.int64, m_out.operation(operationHasIndexedProperty), m_callFrame, base, index)));
</del><ins>+                vmCall(Int64, m_out.operation(operationHasIndexedProperty), m_callFrame, base, index)));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setBoolean(m_out.phi(m_out.boolean, checkHoleResult, slowResult));
</del><ins>+            setBoolean(m_out.phi(Int32, checkHoleResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         case Array::Double: {
</span><span class="lines">@@ -6454,11 +6454,11 @@
</span><span class="cx">             m_out.appendTo(slowCase, continuation);
</span><span class="cx">             ValueFromBlock slowResult = m_out.anchor(m_out.equal(
</span><span class="cx">                 m_out.constInt64(JSValue::encode(jsBoolean(true))), 
</span><del>-                vmCall(m_out.int64, m_out.operation(operationHasIndexedProperty), m_callFrame, base, index)));
</del><ins>+                vmCall(Int64, m_out.operation(operationHasIndexedProperty), m_callFrame, base, index)));
</ins><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            setBoolean(m_out.phi(m_out.boolean, checkHoleResult, slowResult));
</del><ins>+            setBoolean(m_out.phi(Int32, checkHoleResult, slowResult));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">             
</span><span class="lines">@@ -6472,7 +6472,7 @@
</span><span class="cx">     {
</span><span class="cx">         LValue base = lowJSValue(m_node-&gt;child1());
</span><span class="cx">         LValue property = lowCell(m_node-&gt;child2());
</span><del>-        setJSValue(vmCall(m_out.int64, m_out.operation(operationHasGenericProperty), m_callFrame, base, property));
</del><ins>+        setJSValue(vmCall(Int64, m_out.operation(operationHasGenericProperty), m_callFrame, base, property));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileHasStructureProperty()
</span><span class="lines">@@ -6498,11 +6498,11 @@
</span><span class="cx">         ValueFromBlock wrongStructureResult = m_out.anchor(
</span><span class="cx">             m_out.equal(
</span><span class="cx">                 m_out.constInt64(JSValue::encode(jsBoolean(true))), 
</span><del>-                vmCall(m_out.int64, m_out.operation(operationHasGenericProperty), m_callFrame, base, property)));
</del><ins>+                vmCall(Int64, m_out.operation(operationHasGenericProperty), m_callFrame, base, property)));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, correctStructureResult, wrongStructureResult));
</del><ins>+        setBoolean(m_out.phi(Int32, correctStructureResult, wrongStructureResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileGetDirectPname()
</span><span class="lines">@@ -6530,7 +6530,7 @@
</span><span class="cx">         m_out.appendTo(inlineLoad, outOfLineLoad);
</span><span class="cx">         ValueFromBlock inlineResult = m_out.anchor(
</span><span class="cx">             m_out.load64(m_out.baseIndex(m_heaps.properties.atAnyNumber(), 
</span><del>-                base, m_out.zeroExt(index, m_out.int64), ScaleEight, JSObject::offsetOfInlineStorage())));
</del><ins>+                base, m_out.zeroExt(index, Int64), ScaleEight, JSObject::offsetOfInlineStorage())));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(outOfLineLoad, slowCase);
</span><span class="lines">@@ -6544,11 +6544,11 @@
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(slowCase, continuation);
</span><span class="cx">         ValueFromBlock slowCaseResult = m_out.anchor(
</span><del>-            vmCall(m_out.int64, m_out.operation(operationGetByVal), m_callFrame, base, property));
</del><ins>+            vmCall(Int64, m_out.operation(operationGetByVal), m_callFrame, base, property));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, inlineResult, outOfLineResult, slowCaseResult));
</del><ins>+        setJSValue(m_out.phi(Int64, inlineResult, outOfLineResult, slowCaseResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileGetEnumerableLength()
</span><span class="lines">@@ -6560,7 +6560,7 @@
</span><span class="cx">     void compileGetPropertyEnumerator()
</span><span class="cx">     {
</span><span class="cx">         LValue base = lowCell(m_node-&gt;child1());
</span><del>-        setJSValue(vmCall(m_out.int64, m_out.operation(operationGetPropertyEnumerator), m_callFrame, base));
</del><ins>+        setJSValue(vmCall(Int64, m_out.operation(operationGetPropertyEnumerator), m_callFrame, base));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileGetEnumeratorStructurePname()
</span><span class="lines">@@ -6586,7 +6586,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, inBoundsResult, outOfBoundsResult));
</del><ins>+        setJSValue(m_out.phi(Int64, inBoundsResult, outOfBoundsResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileGetEnumeratorGenericPname()
</span><span class="lines">@@ -6612,13 +6612,13 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setJSValue(m_out.phi(m_out.int64, inBoundsResult, outOfBoundsResult));
</del><ins>+        setJSValue(m_out.phi(Int64, inBoundsResult, outOfBoundsResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileToIndexString()
</span><span class="cx">     {
</span><span class="cx">         LValue index = lowInt32(m_node-&gt;child1());
</span><del>-        setJSValue(vmCall(m_out.int64, m_out.operation(operationToIndexString), m_callFrame, index));
</del><ins>+        setJSValue(vmCall(Int64, m_out.operation(operationToIndexString), m_callFrame, index));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void compileCheckStructureImmediate()
</span><span class="lines">@@ -6758,8 +6758,8 @@
</span><span class="cx">                 
</span><span class="cx">                 m_out.appendTo(continuation, lastNext);
</span><span class="cx">                 
</span><del>-                object = m_out.phi(m_out.intPtr, fastObject, slowObject);
-                butterfly = m_out.phi(m_out.intPtr, fastButterfly, slowButterfly);
</del><ins>+                object = m_out.phi(pointerType(), fastObject, slowObject);
+                butterfly = m_out.phi(pointerType(), fastButterfly, slowButterfly);
</ins><span class="cx"> 
</span><span class="cx">                 m_out.store32(publicLength, butterfly, m_heaps.Butterfly_publicLength);
</span><span class="cx"> 
</span><span class="lines">@@ -6894,7 +6894,7 @@
</span><span class="cx">         m_out.unreachable();
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(outerContinuation, outerLastNext);
</span><del>-        setJSValue(m_out.phi(m_out.intPtr, results));
</del><ins>+        setJSValue(m_out.phi(pointerType(), results));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void compileMaterializeCreateActivation()
</span><span class="lines">@@ -6943,7 +6943,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        LValue activation = m_out.phi(m_out.intPtr, fastResult, slowResult);
</del><ins>+        LValue activation = m_out.phi(pointerType(), fastResult, slowResult);
</ins><span class="cx">         RELEASE_ASSERT(data.m_properties.size() == table-&gt;scopeSize());
</span><span class="cx">         for (unsigned i = 0; i &lt; data.m_properties.size(); ++i) {
</span><span class="cx">             PromotedLocationDescriptor descriptor = data.m_properties[i];
</span><span class="lines">@@ -7073,7 +7073,7 @@
</span><span class="cx"> 
</span><span class="cx">     void compileSetFunctionName()
</span><span class="cx">     {
</span><del>-        vmCall(m_out.voidType, m_out.operation(operationSetFunctionName), m_callFrame,
</del><ins>+        vmCall(Void, m_out.operation(operationSetFunctionName), m_callFrame,
</ins><span class="cx">             lowCell(m_node-&gt;child1()), lowJSValue(m_node-&gt;child2()));
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -7332,7 +7332,7 @@
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        return m_out.phi(m_out.int32, results);
</del><ins>+        return m_out.phi(Int32, results);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void checkInferredType(Edge edge, LValue value, const InferredType::Descriptor&amp; type)
</span><span class="lines">@@ -7528,8 +7528,8 @@
</span><span class="cx">             m_out.notZero32(vectorLength), unsure(initLoop), unsure(initDone));
</span><span class="cx">         
</span><span class="cx">         LBasicBlock initLastNext = m_out.appendTo(initLoop, initDone);
</span><del>-        LValue index = m_out.phi(m_out.int32, originalIndex);
-        LValue pointer = m_out.phi(m_out.intPtr, originalPointer);
</del><ins>+        LValue index = m_out.phi(Int32, originalIndex);
+        LValue pointer = m_out.phi(pointerType(), originalPointer);
</ins><span class="cx">         
</span><span class="cx">         m_out.store64(
</span><span class="cx">             m_out.constInt64(bitwise_cast&lt;int64_t&gt;(PNaN)),
</span><span class="lines">@@ -7548,7 +7548,7 @@
</span><span class="cx">     {
</span><span class="cx">         if (previousStructure-&gt;couldHaveIndexingHeader()) {
</span><span class="cx">             return vmCall(
</span><del>-                m_out.intPtr,
</del><ins>+                pointerType(),
</ins><span class="cx">                 m_out.operation(
</span><span class="cx">                     operationReallocateButterflyToHavePropertyStorageWithInitialCapacity),
</span><span class="cx">                 m_callFrame, object);
</span><span class="lines">@@ -7569,7 +7569,7 @@
</span><span class="cx">         
</span><span class="cx">         if (previous-&gt;couldHaveIndexingHeader()) {
</span><span class="cx">             LValue newAllocSize = m_out.constIntPtr(newSize);                    
</span><del>-            return vmCall(m_out.intPtr, m_out.operation(operationReallocateButterflyToGrowPropertyStorage), m_callFrame, object, newAllocSize);
</del><ins>+            return vmCall(pointerType(), m_out.operation(operationReallocateButterflyToGrowPropertyStorage), m_callFrame, object, newAllocSize);
</ins><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         LValue result = allocatePropertyStorageWithSizeImpl(newSize);
</span><span class="lines">@@ -7627,7 +7627,7 @@
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx">         
</span><del>-        return m_out.phi(m_out.intPtr, fastButterfly, slowButterfly);
</del><ins>+        return m_out.phi(pointerType(), fastButterfly, slowButterfly);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     LValue getById(LValue base, AccessType type)
</span><span class="lines">@@ -7751,7 +7751,7 @@
</span><span class="cx">         if (m_node-&gt;isBinaryUseKind(StringIdentUse)) {
</span><span class="cx">             LValue left = lowStringIdent(m_node-&gt;child1());
</span><span class="cx">             LValue right = lowStringIdent(m_node-&gt;child2());
</span><del>-            setBoolean(m_out.callWithoutSideEffects(m_out.boolean, stringIdentFunction, left, right));
</del><ins>+            setBoolean(m_out.callWithoutSideEffects(Int32, stringIdentFunction, left, right));
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -7762,7 +7762,7 @@
</span><span class="cx">             speculateString(m_node-&gt;child2(), right);
</span><span class="cx"> 
</span><span class="cx">             LValue result = vmCall(
</span><del>-                m_out.boolean, m_out.operation(stringFunction),
</del><ins>+                Int32, m_out.operation(stringFunction),
</ins><span class="cx">                 m_callFrame, left, right);
</span><span class="cx">             setBoolean(result);
</span><span class="cx">             return;
</span><span class="lines">@@ -7779,7 +7779,7 @@
</span><span class="cx">     void compileResolveScope()
</span><span class="cx">     {
</span><span class="cx">         UniquedStringImpl* uid = m_graph.identifiers()[m_node-&gt;identifierNumber()];
</span><del>-        setJSValue(vmCall(m_out.intPtr, m_out.operation(operationResolveScope),
</del><ins>+        setJSValue(vmCall(pointerType(), m_out.operation(operationResolveScope),
</ins><span class="cx">             m_callFrame, lowCell(m_node-&gt;child1()), m_out.constIntPtr(uid)));
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -7786,7 +7786,7 @@
</span><span class="cx">     void compileGetDynamicVar()
</span><span class="cx">     {
</span><span class="cx">         UniquedStringImpl* uid = m_graph.identifiers()[m_node-&gt;identifierNumber()];
</span><del>-        setJSValue(vmCall(m_out.int64, m_out.operation(operationGetDynamicVar),
</del><ins>+        setJSValue(vmCall(Int64, m_out.operation(operationGetDynamicVar),
</ins><span class="cx">             m_callFrame, lowCell(m_node-&gt;child1()), m_out.constIntPtr(uid), m_out.constInt32(m_node-&gt;getPutInfo())));
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -7836,7 +7836,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, cellResult, notCellResult));
</del><ins>+        setBoolean(m_out.phi(Int32, cellResult, notCellResult));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void speculateTruthyObject(Edge edge, LValue cell, SpeculatedType filter)
</span><span class="lines">@@ -7876,11 +7876,11 @@
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(slowPath, continuation);
</span><span class="cx">         ValueFromBlock slowResult = m_out.anchor(m_out.notNull(vmCall(
</span><del>-            m_out.intPtr, m_out.operation(helperFunction), m_callFrame, left, right)));
</del><ins>+            pointerType(), m_out.operation(helperFunction), m_callFrame, left, right)));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        setBoolean(m_out.phi(m_out.boolean, fastResult, slowResult));
</del><ins>+        setBoolean(m_out.phi(Int32, fastResult, slowResult));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     LValue stringsEqual(LValue leftJSString, LValue rightJSString)
</span><span class="lines">@@ -7946,7 +7946,7 @@
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(loop, bytesEqual);
</span><span class="cx"> 
</span><del>-        LValue indexAtLoopTop = m_out.phi(m_out.int32, indexAtStart);
</del><ins>+        LValue indexAtLoopTop = m_out.phi(Int32, indexAtStart);
</ins><span class="cx">         LValue indexInLoop = m_out.sub(indexAtLoopTop, m_out.int32One);
</span><span class="cx"> 
</span><span class="cx">         LValue leftByte = m_out.load8ZeroExt32(
</span><span class="lines">@@ -7975,13 +7975,13 @@
</span><span class="cx">         m_out.appendTo(slowCase, continuation);
</span><span class="cx"> 
</span><span class="cx">         LValue slowResultValue = vmCall(
</span><del>-            m_out.int64, m_out.operation(operationCompareStringEq), m_callFrame,
</del><ins>+            Int64, m_out.operation(operationCompareStringEq), m_callFrame,
</ins><span class="cx">             leftJSString, rightJSString);
</span><span class="cx">         ValueFromBlock slowResult = m_out.anchor(unboxBoolean(slowResultValue));
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx"> 
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        return m_out.phi(m_out.boolean, trueResult, falseResult, slowResult);
</del><ins>+        return m_out.phi(Int32, trueResult, falseResult, slowResult);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     enum ScratchFPRUsage {
</span><span class="lines">@@ -8267,7 +8267,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        LValue allocator = m_out.phi(m_out.intPtr, smallAllocator, largeAllocator);
</del><ins>+        LValue allocator = m_out.phi(pointerType(), smallAllocator, largeAllocator);
</ins><span class="cx">         
</span><span class="cx">         return allocateObject(allocator, structure, butterfly, slowPath);
</span><span class="cx">     }
</span><span class="lines">@@ -8325,7 +8325,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        return m_out.phi(m_out.intPtr, fastResult, slowResult);
</del><ins>+        return m_out.phi(pointerType(), fastResult, slowResult);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     struct ArrayValues {
</span><span class="lines">@@ -8409,8 +8409,8 @@
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx">         
</span><span class="cx">         return ArrayValues(
</span><del>-            m_out.phi(m_out.intPtr, fastArray, slowArray),
-            m_out.phi(m_out.intPtr, fastButterfly, slowButterfly));
</del><ins>+            m_out.phi(pointerType(), fastArray, slowArray),
+            m_out.phi(pointerType(), fastButterfly, slowButterfly));
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     LValue ensureShadowChickenPacket()
</span><span class="lines">@@ -8584,7 +8584,7 @@
</span><span class="cx">             m_out.jump(continuation);
</span><span class="cx">             
</span><span class="cx">             m_out.appendTo(continuation, lastNext);
</span><del>-            return m_out.phi(m_out.boolean, results);
</del><ins>+            return m_out.phi(Int32, results);
</ins><span class="cx">         }
</span><span class="cx">         default:
</span><span class="cx">             DFG_CRASH(m_graph, m_node, &quot;Bad use kind&quot;);
</span><span class="lines">@@ -8679,7 +8679,7 @@
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx">         
</span><del>-        return m_out.phi(m_out.boolean, results);
</del><ins>+        return m_out.phi(Int32, results);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     template&lt;typename FunctionType&gt;
</span><span class="lines">@@ -8715,7 +8715,7 @@
</span><span class="cx">                 LBasicBlock innerLastNext = m_out.appendTo(outOfBoundsCase, holeCase);
</span><span class="cx">                     
</span><span class="cx">                 vmCall(
</span><del>-                    m_out.voidType, m_out.operation(slowPathFunction),
</del><ins>+                    Void, m_out.operation(slowPathFunction),
</ins><span class="cx">                     m_callFrame, base, index, value);
</span><span class="cx">                     
</span><span class="cx">                 m_out.jump(continuation);
</span><span class="lines">@@ -8734,16 +8734,16 @@
</span><span class="cx">     
</span><span class="cx">     void buildSwitch(SwitchData* data, LType type, LValue switchValue)
</span><span class="cx">     {
</span><del>-        ASSERT(type == m_out.intPtr || type == m_out.int32);
</del><ins>+        ASSERT(type == pointerType() || type == Int32);
</ins><span class="cx"> 
</span><span class="cx">         Vector&lt;SwitchCase&gt; cases;
</span><span class="cx">         for (unsigned i = 0; i &lt; data-&gt;cases.size(); ++i) {
</span><span class="cx">             SwitchCase newCase;
</span><span class="cx"> 
</span><del>-            if (type == m_out.intPtr) {
</del><ins>+            if (type == pointerType()) {
</ins><span class="cx">                 newCase = SwitchCase(m_out.constIntPtr(data-&gt;cases[i].value.switchLookupValue(data-&gt;kind)),
</span><span class="cx">                     lowBlock(data-&gt;cases[i].target.block), Weight(data-&gt;cases[i].target.count));
</span><del>-            } else if (type == m_out.int32) {
</del><ins>+            } else if (type == Int32) {
</ins><span class="cx">                 newCase = SwitchCase(m_out.constInt32(data-&gt;cases[i].value.switchLookupValue(data-&gt;kind)),
</span><span class="cx">                     lowBlock(data-&gt;cases[i].target.block), Weight(data-&gt;cases[i].target.count));
</span><span class="cx">             } else
</span><span class="lines">@@ -8991,7 +8991,7 @@
</span><span class="cx">         // https://bugs.webkit.org/show_bug.cgi?id=144369
</span><span class="cx">         
</span><span class="cx">         LValue branchOffset = vmCall(
</span><del>-            m_out.int32, m_out.operation(operationSwitchStringAndGetBranchOffset),
</del><ins>+            Int32, m_out.operation(operationSwitchStringAndGetBranchOffset),
</ins><span class="cx">             m_callFrame, m_out.constIntPtr(data-&gt;switchTableIndex), string);
</span><span class="cx">         
</span><span class="cx">         StringJumpTable&amp; table = codeBlock()-&gt;stringSwitchJumpTable(data-&gt;switchTableIndex);
</span><span class="lines">@@ -9216,11 +9216,11 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(slowPath, continuation);
</span><del>-        results.append(m_out.anchor(m_out.call(m_out.int32, m_out.operation(operationToInt32), doubleValue)));
</del><ins>+        results.append(m_out.anchor(m_out.call(Int32, m_out.operation(operationToInt32), doubleValue)));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        return m_out.phi(m_out.int32, results);
</del><ins>+        return m_out.phi(Int32, results);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     LValue doubleToInt32(LValue doubleValue)
</span><span class="lines">@@ -9245,11 +9245,11 @@
</span><span class="cx">         
</span><span class="cx">         LBasicBlock lastNext = m_out.appendTo(slowPath, continuation);
</span><span class="cx">         ValueFromBlock slowResult = m_out.anchor(
</span><del>-            m_out.call(m_out.int32, m_out.operation(operationToInt32), doubleValue));
</del><ins>+            m_out.call(Int32, m_out.operation(operationToInt32), doubleValue));
</ins><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        return m_out.phi(m_out.int32, fastResult, slowResult);
</del><ins>+        return m_out.phi(Int32, fastResult, slowResult);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // This is a mechanism for creating a code generator that fills in a gap in the code using our
</span><span class="lines">@@ -9771,7 +9771,7 @@
</span><span class="cx">         m_out.jump(continuation);
</span><span class="cx">         
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><del>-        return m_out.phi(m_out.int64, results);
</del><ins>+        return m_out.phi(Int64, results);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     LValue strictInt52ToInt52(LValue value)
</span><span class="lines">@@ -9802,7 +9802,7 @@
</span><span class="cx">     }
</span><span class="cx">     LValue boxInt32(LValue value)
</span><span class="cx">     {
</span><del>-        return m_out.add(m_out.zeroExt(value, m_out.int64), m_tagTypeNumber);
</del><ins>+        return m_out.add(m_out.zeroExt(value, Int64), m_tagTypeNumber);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     LValue isCellOrMisc(LValue jsValue, SpeculatedType type = SpecFullTop)
</span><span class="lines">@@ -9820,11 +9820,11 @@
</span><span class="cx"> 
</span><span class="cx">     LValue unboxDouble(LValue jsValue)
</span><span class="cx">     {
</span><del>-        return m_out.bitCast(m_out.add(jsValue, m_tagTypeNumber), m_out.doubleType);
</del><ins>+        return m_out.bitCast(m_out.add(jsValue, m_tagTypeNumber), Double);
</ins><span class="cx">     }
</span><span class="cx">     LValue boxDouble(LValue doubleValue)
</span><span class="cx">     {
</span><del>-        return m_out.sub(m_out.bitCast(doubleValue, m_out.int64), m_tagTypeNumber);
</del><ins>+        return m_out.sub(m_out.bitCast(doubleValue, Int64), m_tagTypeNumber);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     LValue jsValueToStrictInt52(Edge edge, LValue boxedValue)
</span><span class="lines">@@ -9851,7 +9851,7 @@
</span><span class="cx">         m_out.appendTo(doubleCase, continuation);
</span><span class="cx">         
</span><span class="cx">         LValue possibleResult = m_out.call(
</span><del>-            m_out.int64, m_out.operation(operationConvertBoxedDoubleToInt52), boxedValue);
</del><ins>+            Int64, m_out.operation(operationConvertBoxedDoubleToInt52), boxedValue);
</ins><span class="cx">         FTL_TYPE_CHECK(
</span><span class="cx">             jsValueValue(boxedValue), edge, SpecInt32Only | SpecAnyIntAsDouble,
</span><span class="cx">             m_out.equal(possibleResult, m_out.constInt64(JSValue::notInt52)));
</span><span class="lines">@@ -9861,13 +9861,13 @@
</span><span class="cx">             
</span><span class="cx">         m_out.appendTo(continuation, lastNext);
</span><span class="cx">             
</span><del>-        return m_out.phi(m_out.int64, intToInt52, doubleToInt52);
</del><ins>+        return m_out.phi(Int64, intToInt52, doubleToInt52);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     LValue doubleToStrictInt52(Edge edge, LValue value)
</span><span class="cx">     {
</span><span class="cx">         LValue possibleResult = m_out.call(
</span><del>-            m_out.int64, m_out.operation(operationConvertDoubleToInt52), value);
</del><ins>+            Int64, m_out.operation(operationConvertDoubleToInt52), value);
</ins><span class="cx">         FTL_TYPE_CHECK_WITH_EXIT_KIND(Int52Overflow,
</span><span class="cx">             doubleValue(value), edge, SpecAnyIntAsDouble,
</span><span class="cx">             m_out.equal(possibleResult, m_out.constInt64(JSValue::notInt52)));
</span><span class="lines">@@ -9889,7 +9889,7 @@
</span><span class="cx"> 
</span><span class="cx">             LBasicBlock lastNext = m_out.appendTo(valueIsZero, continuation);
</span><span class="cx"> 
</span><del>-            LValue doubleBitcastToInt64 = m_out.bitCast(value, m_out.int64);
</del><ins>+            LValue doubleBitcastToInt64 = m_out.bitCast(value, Int64);
</ins><span class="cx">             LValue signBitSet = m_out.lessThan(doubleBitcastToInt64, m_out.constInt64(0));
</span><span class="cx"> 
</span><span class="cx">             speculate(NegativeZero, FormattedValue(DataFormatDouble, value), m_node, signBitSet);
</span><span class="lines">@@ -10708,7 +10708,7 @@
</span><span class="cx">     void callCheck()
</span><span class="cx">     {
</span><span class="cx">         if (Options::useExceptionFuzz())
</span><del>-            m_out.call(m_out.voidType, m_out.operation(operationExceptionFuzz), m_callFrame);
</del><ins>+            m_out.call(Void, m_out.operation(operationExceptionFuzz), m_callFrame);
</ins><span class="cx">         
</span><span class="cx">         LValue exception = m_out.load64(m_out.absolute(vm().addressOfException()));
</span><span class="cx">         LValue hadException = m_out.notZero64(exception);
</span><span class="lines">@@ -11294,7 +11294,7 @@
</span><span class="cx">             });
</span><span class="cx"> #else
</span><span class="cx">         m_out.call(
</span><del>-            m_out.voidType,
</del><ins>+            Void,
</ins><span class="cx">             m_out.constIntPtr(ftlUnreachable),
</span><span class="cx">             m_out.constIntPtr(codeBlock()), m_out.constInt32(blockIndex),
</span><span class="cx">             m_out.constInt32(nodeIndex));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLOutputcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLOutput.cpp (202791 => 202792)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLOutput.cpp        2016-07-03 17:47:51 UTC (rev 202791)
+++ trunk/Source/JavaScriptCore/ftl/FTLOutput.cpp        2016-07-03 19:34:55 UTC (rev 202792)
</span><span class="lines">@@ -649,7 +649,7 @@
</span><span class="cx"> 
</span><span class="cx"> LValue Output::bitCast(LValue value, LType type)
</span><span class="cx"> {
</span><del>-    ASSERT_UNUSED(type, type == int64 || type == doubleType);
</del><ins>+    ASSERT_UNUSED(type, type == Int64 || type == Double);
</ins><span class="cx">     return m_block-&gt;appendNew&lt;B3::Value&gt;(m_proc, B3::BitwiseCast, origin(), value);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>