<!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>[173490] 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/173490">173490</a></dd>
<dt>Author</dt> <dd>oliver@apple.com</dd>
<dt>Date</dt> <dd>2014-09-10 14:52:02 -0700 (Wed, 10 Sep 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Rename JSVariableObject to JSEnvironmentRecord to align naming with ES spec
https://bugs.webkit.org/show_bug.cgi?id=136710
Reviewed by Anders Carlsson.
This is a trivial rename.
* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractHeap.h:
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLAbstractHeapRepository.cpp:
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters):
* jit/JITOpcodes32_64.cpp:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):
* llint/LLIntOffsetsExtractor.cpp:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSActivation.cpp:
(JSC::JSActivation::getOwnNonIndexPropertyNames):
* runtime/JSActivation.h:
* runtime/JSEnvironmentRecord.cpp: Renamed from Source/JavaScriptCore/runtime/JSVariableObject.cpp.
* runtime/JSEnvironmentRecord.h: Renamed from Source/JavaScriptCore/runtime/JSVariableObject.h.
(JSC::JSEnvironmentRecord::registers):
(JSC::JSEnvironmentRecord::registerAt):
(JSC::JSEnvironmentRecord::addressOfRegisters):
(JSC::JSEnvironmentRecord::offsetOfRegisters):
(JSC::JSEnvironmentRecord::JSEnvironmentRecord):
* runtime/JSNameScope.h:
* runtime/JSSegmentedVariableObject.h:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGAbstractHeaph">trunk/Source/JavaScriptCore/dfg/DFGAbstractHeap.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGClobberizeh">trunk/Source/JavaScriptCore/dfg/DFGClobberize.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGSpeculativeJIT32_64cpp">trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGSpeculativeJIT64cpp">trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLAbstractHeapRepositorycpp">trunk/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLAbstractHeapRepositoryh">trunk/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLLowerDFGToLLVMcpp">trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITOpcodes32_64cpp">trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITPropertyAccesscpp">trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITPropertyAccess32_64cpp">trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntOffsetsExtractorcpp">trunk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLowLevelInterpreter32_64asm">trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLowLevelInterpreter64asm">trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSActivationcpp">trunk/Source/JavaScriptCore/runtime/JSActivation.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSActivationh">trunk/Source/JavaScriptCore/runtime/JSActivation.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSNameScopeh">trunk/Source/JavaScriptCore/runtime/JSNameScope.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSSegmentedVariableObjecth">trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSEnvironmentRecordcpp">trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSEnvironmentRecordh">trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSVariableObjectcpp">trunk/Source/JavaScriptCore/runtime/JSVariableObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSVariableObjecth">trunk/Source/JavaScriptCore/runtime/JSVariableObject.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -471,7 +471,7 @@
</span><span class="cx"> runtime/JSTypedArrayConstructors.cpp
</span><span class="cx"> runtime/JSTypedArrayPrototypes.cpp
</span><span class="cx"> runtime/JSTypedArrays.cpp
</span><del>- runtime/JSVariableObject.cpp
</del><ins>+ runtime/JSEnvironmentRecord.cpp
</ins><span class="cx"> runtime/JSWeakMap.cpp
</span><span class="cx"> runtime/JSWithScope.cpp
</span><span class="cx"> runtime/JSWrapperObject.cpp
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -1,3 +1,50 @@
</span><ins>+2014-09-10 Oliver Hunt <oliver@apple.com>
+
+ Rename JSVariableObject to JSEnvironmentRecord to align naming with ES spec
+ https://bugs.webkit.org/show_bug.cgi?id=136710
+
+ Reviewed by Anders Carlsson.
+
+ This is a trivial rename.
+
+ * CMakeLists.txt:
+ * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
+ * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * dfg/DFGAbstractHeap.h:
+ * dfg/DFGClobberize.h:
+ (JSC::DFG::clobberize):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * ftl/FTLAbstractHeapRepository.cpp:
+ * ftl/FTLAbstractHeapRepository.h:
+ * ftl/FTLLowerDFGToLLVM.cpp:
+ (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters):
+ * jit/JITOpcodes32_64.cpp:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emitGetClosureVar):
+ (JSC::JIT::emitPutClosureVar):
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::emitGetClosureVar):
+ (JSC::JIT::emitPutClosureVar):
+ * llint/LLIntOffsetsExtractor.cpp:
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::getOwnNonIndexPropertyNames):
+ * runtime/JSActivation.h:
+ * runtime/JSEnvironmentRecord.cpp: Renamed from Source/JavaScriptCore/runtime/JSVariableObject.cpp.
+ * runtime/JSEnvironmentRecord.h: Renamed from Source/JavaScriptCore/runtime/JSVariableObject.h.
+ (JSC::JSEnvironmentRecord::registers):
+ (JSC::JSEnvironmentRecord::registerAt):
+ (JSC::JSEnvironmentRecord::addressOfRegisters):
+ (JSC::JSEnvironmentRecord::offsetOfRegisters):
+ (JSC::JSEnvironmentRecord::JSEnvironmentRecord):
+ * runtime/JSNameScope.h:
+ * runtime/JSSegmentedVariableObject.h:
+
</ins><span class="cx"> 2014-09-10 Julien Brianceau <jbriance@cisco.com>
</span><span class="cx">
</span><span class="cx"> [mips] Add missing parts and fix LLINT mips backend
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -744,7 +744,7 @@
</span><span class="cx"> <ClCompile Include="..\runtime\JSTypedArrayConstructors.cpp" />
</span><span class="cx"> <ClCompile Include="..\runtime\JSTypedArrayPrototypes.cpp" />
</span><span class="cx"> <ClCompile Include="..\runtime\JSTypedArrays.cpp" />
</span><del>- <ClCompile Include="..\runtime\JSVariableObject.cpp" />
</del><ins>+ <ClCompile Include="..\runtime\JSEnvironmentRecord.cpp" />
</ins><span class="cx"> <ClCompile Include="..\runtime\JSWeakMap.cpp" />
</span><span class="cx"> <ClCompile Include="..\runtime\JSWithScope.cpp" />
</span><span class="cx"> <ClCompile Include="..\runtime\JSWrapperObject.cpp" />
</span><span class="lines">@@ -1520,7 +1520,7 @@
</span><span class="cx"> <ClInclude Include="..\runtime\JSUint32Array.h" />
</span><span class="cx"> <ClInclude Include="..\runtime\JSUint8Array.h" />
</span><span class="cx"> <ClInclude Include="..\runtime\JSUint8ClampedArray.h" />
</span><del>- <ClInclude Include="..\runtime\JSVariableObject.h" />
</del><ins>+ <ClInclude Include="..\runtime\JSEnvironmentRecord.h" />
</ins><span class="cx"> <ClInclude Include="..\runtime\JSWeakMap.h" />
</span><span class="cx"> <ClInclude Include="..\runtime\JSWithScope.h" />
</span><span class="cx"> <ClInclude Include="..\runtime\JSWrapperObject.h" />
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -696,7 +696,7 @@
</span><span class="cx"> <ClCompile Include="..\runtime\JSSymbolTableObject.cpp">
</span><span class="cx"> <Filter>runtime</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\runtime\JSVariableObject.cpp">
</del><ins>+ <ClCompile Include="..\runtime\JSEnvironmentRecord.cpp">
</ins><span class="cx"> <Filter>runtime</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="cx"> <ClCompile Include="..\runtime\JSWithScope.cpp">
</span><span class="lines">@@ -2657,7 +2657,7 @@
</span><span class="cx"> <ClInclude Include="..\runtime\JSTypeInfo.h">
</span><span class="cx"> <Filter>runtime</Filter>
</span><span class="cx"> </ClInclude>
</span><del>- <ClInclude Include="..\runtime\JSVariableObject.h">
</del><ins>+ <ClInclude Include="..\runtime\JSEnvironmentRecord.h">
</ins><span class="cx"> <Filter>runtime</Filter>
</span><span class="cx"> </ClInclude>
</span><span class="cx"> <ClInclude Include="..\runtime\JSWithScope.h">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -791,7 +791,7 @@
</span><span class="cx">                 147F39D4107EC37600427A48 /* JSObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC22A3980E16E14800AF21C8 /* JSObject.cpp */; };
</span><span class="cx">                 147F39D5107EC37600427A48 /* JSString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9B60E1842FA000F9297 /* JSString.cpp */; };
</span><span class="cx">                 147F39D6107EC37600427A48 /* JSCJSValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A8870255597D01FF60F7 /* JSCJSValue.cpp */; };
</span><del>-                147F39D7107EC37600427A48 /* JSVariableObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC22A39A0E16E14800AF21C8 /* JSVariableObject.cpp */; };
</del><ins>+                147F39D7107EC37600427A48 /* JSEnvironmentRecord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC22A39A0E16E14800AF21C8 /* JSEnvironmentRecord.cpp */; };
</ins><span class="cx">                 14816E1B154CC56C00B8054C /* BlockAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14816E19154CC56C00B8054C /* BlockAllocator.cpp */; };
</span><span class="cx">                 14816E1C154CC56C00B8054C /* BlockAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 14816E1A154CC56C00B8054C /* BlockAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1482B74E0A43032800517CFC /* JSStringRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1482B74C0A43032800517CFC /* JSStringRef.cpp */; };
</span><span class="lines">@@ -1020,7 +1020,7 @@
</span><span class="cx">                 5540777F18DA58AD00EFF7F2 /* JSUint32Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D517B6B5AB00A7AE3F /* JSUint32Array.h */; };
</span><span class="cx">                 5540778018DA58AD00EFF7F2 /* JSUint8Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D217B6B5AB00A7AE3F /* JSUint8Array.h */; };
</span><span class="cx">                 5540778118DA58AD00EFF7F2 /* JSUint8ClampedArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D317B6B5AB00A7AE3F /* JSUint8ClampedArray.h */; };
</span><del>-                5540778518DA58AD00EFF7F2 /* JSVariableObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F252560D08DD8D004ECFFF /* JSVariableObject.h */; };
</del><ins>+                5540778518DA58AD00EFF7F2 /* JSEnvironmentRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F252560D08DD8D004ECFFF /* JSEnvironmentRecord.h */; };
</ins><span class="cx">                 5540778818DA58AD00EFF7F2 /* JSWeakMap.h in Headers */ = {isa = PBXBuildFile; fileRef = A7CA3AE217DA41AE006538AF /* JSWeakMap.h */; };
</span><span class="cx">                 5540778B18DA58AD00EFF7F2 /* JSWithScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 1442566015EDE98D0066A49B /* JSWithScope.h */; };
</span><span class="cx">                 5540778D18DA58AD00EFF7F2 /* JSWrapperObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 65C7A1720A8EAACB00FA37EA /* JSWrapperObject.h */; };
</span><span class="lines">@@ -1689,7 +1689,7 @@
</span><span class="cx">                 BC18C42A0E16F5CD00B34460 /* JSType.h in Headers */ = {isa = PBXBuildFile; fileRef = 14ABB454099C2A0F00E2A24F /* JSType.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BC18C42B0E16F5CD00B34460 /* JSCJSValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 14ABB36E099C076400E2A24F /* JSCJSValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BC18C42C0E16F5CD00B34460 /* JSValueRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 1482B6EA0A4300B300517CFC /* JSValueRef.h */; settings = {ATTRIBUTES = (Public, ); }; };
</span><del>-                BC18C42D0E16F5CD00B34460 /* JSVariableObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F252560D08DD8D004ECFFF /* JSVariableObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                BC18C42D0E16F5CD00B34460 /* JSEnvironmentRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F252560D08DD8D004ECFFF /* JSEnvironmentRecord.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 BC18C42E0E16F5CD00B34460 /* JSWrapperObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 65C7A1720A8EAACB00FA37EA /* JSWrapperObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BC18C4310E16F5CD00B34460 /* Lexer.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8660255597D01FF60F7 /* Lexer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BC18C4370E16F5CD00B34460 /* Lookup.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8690255597D01FF60F7 /* Lookup.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -2711,7 +2711,7 @@
</span><span class="cx">                 14E84F9B14EE1ACC00D6D5D4 /* WeakSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WeakSet.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 14E84F9C14EE1ACC00D6D5D4 /* WeakSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeakSet.h; sourceTree = "<group>"; };
</span><span class="cx">                 14E84F9D14EE1ACC00D6D5D4 /* WeakImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeakImpl.h; sourceTree = "<group>"; };
</span><del>-                14F252560D08DD8D004ECFFF /* JSVariableObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSVariableObject.h; sourceTree = "<group>"; };
</del><ins>+                14F252560D08DD8D004ECFFF /* JSEnvironmentRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEnvironmentRecord.h; sourceTree = "<group>"; };
</ins><span class="cx">                 14F7256314EE265E00B1652B /* WeakHandleOwner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WeakHandleOwner.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 14F7256414EE265E00B1652B /* WeakHandleOwner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeakHandleOwner.h; sourceTree = "<group>"; };
</span><span class="cx">                 14F97446138C853E00DA1C67 /* HeapRootVisitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeapRootVisitor.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -3353,7 +3353,7 @@
</span><span class="cx">                 BC18C52D0E16FCE100B34460 /* Lexer.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lexer.lut.h; sourceTree = "<group>"; };
</span><span class="cx">                 BC22A3980E16E14800AF21C8 /* JSObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSObject.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 BC22A3990E16E14800AF21C8 /* JSObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSObject.h; sourceTree = "<group>"; };
</span><del>-                BC22A39A0E16E14800AF21C8 /* JSVariableObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSVariableObject.cpp; sourceTree = "<group>"; };
</del><ins>+                BC22A39A0E16E14800AF21C8 /* JSEnvironmentRecord.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEnvironmentRecord.cpp; sourceTree = "<group>"; };
</ins><span class="cx">                 BC257DE50E1F51C50016B6C9 /* Arguments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Arguments.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 BC257DE60E1F51C50016B6C9 /* Arguments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Arguments.h; sourceTree = "<group>"; };
</span><span class="cx">                 BC2680C00E16D4E900A06E92 /* FunctionConstructor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FunctionConstructor.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -4592,8 +4592,8 @@
</span><span class="cx">                                 0F2B66D317B6B5AB00A7AE3F /* JSUint8ClampedArray.h */,
</span><span class="cx">                                 0F2B66D417B6B5AB00A7AE3F /* JSUint16Array.h */,
</span><span class="cx">                                 0F2B66D517B6B5AB00A7AE3F /* JSUint32Array.h */,
</span><del>-                                BC22A39A0E16E14800AF21C8 /* JSVariableObject.cpp */,
-                                14F252560D08DD8D004ECFFF /* JSVariableObject.h */,
</del><ins>+                                BC22A39A0E16E14800AF21C8 /* JSEnvironmentRecord.cpp */,
+                                14F252560D08DD8D004ECFFF /* JSEnvironmentRecord.h */,
</ins><span class="cx">                                 A7CA3AE117DA41AE006538AF /* JSWeakMap.cpp */,
</span><span class="cx">                                 A7CA3AE217DA41AE006538AF /* JSWeakMap.h */,
</span><span class="cx">                                 1442565F15EDE98D0066A49B /* JSWithScope.cpp */,
</span><span class="lines">@@ -5657,7 +5657,7 @@
</span><span class="cx">                                 5540777F18DA58AD00EFF7F2 /* JSUint32Array.h in Headers */,
</span><span class="cx">                                 5540778018DA58AD00EFF7F2 /* JSUint8Array.h in Headers */,
</span><span class="cx">                                 5540778118DA58AD00EFF7F2 /* JSUint8ClampedArray.h in Headers */,
</span><del>-                                5540778518DA58AD00EFF7F2 /* JSVariableObject.h in Headers */,
</del><ins>+                                5540778518DA58AD00EFF7F2 /* JSEnvironmentRecord.h in Headers */,
</ins><span class="cx">                                 5540778B18DA58AD00EFF7F2 /* JSWithScope.h in Headers */,
</span><span class="cx">                                 5540778D18DA58AD00EFF7F2 /* JSWrapperObject.h in Headers */,
</span><span class="cx">                                 554077A918DA58AD00EFF7F2 /* Lookup.h in Headers */,
</span><span class="lines">@@ -6320,7 +6320,7 @@
</span><span class="cx">                                 86E3C612167BABD7006D760A /* JSValue.h in Headers */,
</span><span class="cx">                                 86E3C61B167BABEE006D760A /* JSValueInternal.h in Headers */,
</span><span class="cx">                                 BC18C42C0E16F5CD00B34460 /* JSValueRef.h in Headers */,
</span><del>-                                BC18C42D0E16F5CD00B34460 /* JSVariableObject.h in Headers */,
</del><ins>+                                BC18C42D0E16F5CD00B34460 /* JSEnvironmentRecord.h in Headers */,
</ins><span class="cx">                                 86E3C615167BABD7006D760A /* JSVirtualMachine.h in Headers */,
</span><span class="cx">                                 86E3C61D167BABEE006D760A /* JSVirtualMachineInternal.h in Headers */,
</span><span class="cx">                                 A7CA3AE817DA41AE006538AF /* JSWeakMap.h in Headers */,
</span><span class="lines">@@ -7553,7 +7553,7 @@
</span><span class="cx">                                 0F2B66FE17B6B5AB00A7AE3F /* JSTypedArrays.cpp in Sources */,
</span><span class="cx">                                 86E3C61A167BABEE006D760A /* JSValue.mm in Sources */,
</span><span class="cx">                                 14BD5A320A3E91F600BAF59C /* JSValueRef.cpp in Sources */,
</span><del>-                                147F39D7107EC37600427A48 /* JSVariableObject.cpp in Sources */,
</del><ins>+                                147F39D7107EC37600427A48 /* JSEnvironmentRecord.cpp in Sources */,
</ins><span class="cx">                                 86E3C61C167BABEE006D760A /* JSVirtualMachine.mm in Sources */,
</span><span class="cx">                                 A7CA3AE717DA41AE006538AF /* JSWeakMap.cpp in Sources */,
</span><span class="cx">                                 A7482B9411671147003B0712 /* JSWeakObjectMapRefPrivate.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGAbstractHeaph"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGAbstractHeap.h (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGAbstractHeap.h        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/dfg/DFGAbstractHeap.h        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> macro(JSCell_typeInfoFlags) \
</span><span class="cx"> macro(JSCell_typeInfoType) \
</span><span class="cx"> macro(JSObject_butterfly) \
</span><del>- macro(JSVariableObject_registers) \
</del><ins>+ macro(JSEnvironmentRecord_registers) \
</ins><span class="cx"> macro(JSPropertyNameEnumerator_cachedPropertyNames) \
</span><span class="cx"> macro(NamedProperties) \
</span><span class="cx"> macro(IndexedInt32Properties) \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGClobberizeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGClobberize.h (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGClobberize.h        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/dfg/DFGClobberize.h        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -750,8 +750,8 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> case GetClosureRegisters:
</span><del>- read(JSVariableObject_registers);
- def(HeapLocation(ClosureRegistersLoc, JSVariableObject_registers, node->child1()), node);
</del><ins>+ read(JSEnvironmentRecord_registers);
+ def(HeapLocation(ClosureRegistersLoc, JSEnvironmentRecord_registers, node->child1()), node);
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> case GetClosureVar:
</span><span class="lines">@@ -849,7 +849,7 @@
</span><span class="cx">
</span><span class="cx"> case TearOffActivation:
</span><span class="cx"> read(Variables);
</span><del>- write(JSVariableObject_registers);
</del><ins>+ write(JSEnvironmentRecord_registers);
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> case TearOffArguments:
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGSpeculativeJIT32_64cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -3538,7 +3538,7 @@
</span><span class="cx"> GPRReg scopeGPR = scope.gpr();
</span><span class="cx"> GPRReg resultGPR = result.gpr();
</span><span class="cx">
</span><del>- m_jit.loadPtr(JITCompiler::Address(scopeGPR, JSVariableObject::offsetOfRegisters()), resultGPR);
</del><ins>+ m_jit.loadPtr(JITCompiler::Address(scopeGPR, JSEnvironmentRecord::offsetOfRegisters()), resultGPR);
</ins><span class="cx"> storageResult(resultGPR, node);
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGSpeculativeJIT64cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -3649,7 +3649,7 @@
</span><span class="cx"> GPRReg scopeGPR = scope.gpr();
</span><span class="cx"> GPRReg resultGPR = result.gpr();
</span><span class="cx">
</span><del>- m_jit.loadPtr(JITCompiler::Address(scopeGPR, JSVariableObject::offsetOfRegisters()), resultGPR);
</del><ins>+ m_jit.loadPtr(JITCompiler::Address(scopeGPR, JSEnvironmentRecord::offsetOfRegisters()), resultGPR);
</ins><span class="cx"> storageResult(resultGPR, node);
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLAbstractHeapRepositorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -29,9 +29,9 @@
</span><span class="cx"> #if ENABLE(FTL_JIT)
</span><span class="cx">
</span><span class="cx"> #include "GetterSetter.h"
</span><ins>+#include "JSEnvironmentRecord.h"
</ins><span class="cx"> #include "JSPropertyNameEnumerator.h"
</span><span class="cx"> #include "JSScope.h"
</span><del>-#include "JSVariableObject.h"
</del><span class="cx"> #include "JSCInlines.h"
</span><span class="cx">
</span><span class="cx"> namespace JSC { namespace FTL {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLAbstractHeapRepositoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> macro(JSString_flags, JSString::offsetOfFlags()) \
</span><span class="cx"> macro(JSString_length, JSString::offsetOfLength()) \
</span><span class="cx"> macro(JSString_value, JSString::offsetOfValue()) \
</span><del>- macro(JSVariableObject_registers, JSVariableObject::offsetOfRegisters()) \
</del><ins>+ macro(JSEnvironmentRecord_registers, JSEnvironmentRecord::offsetOfRegisters()) \
</ins><span class="cx"> macro(JSWrapperObject_internalValue, JSWrapperObject::internalValueOffset()) \
</span><span class="cx"> macro(MarkedAllocator_freeListHead, MarkedAllocator::offsetOfFreeListHead()) \
</span><span class="cx"> macro(MarkedBlock_markBits, MarkedBlock::offsetOfMarks()) \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLLowerDFGToLLVMcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -3497,7 +3497,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> setStorage(m_out.loadPtr(
</span><del>- lowCell(m_node->child1()), m_heaps.JSVariableObject_registers));
</del><ins>+ lowCell(m_node->child1()), m_heaps.JSEnvironmentRecord_registers));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void compileGetClosureVar()
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITOpcodes32_64cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -35,9 +35,9 @@
</span><span class="cx"> #include "JITInlines.h"
</span><span class="cx"> #include "JSArray.h"
</span><span class="cx"> #include "JSCell.h"
</span><ins>+#include "JSEnvironmentRecord.h"
</ins><span class="cx"> #include "JSFunction.h"
</span><span class="cx"> #include "JSPropertyNameEnumerator.h"
</span><del>-#include "JSVariableObject.h"
</del><span class="cx"> #include "LinkBuffer.h"
</span><span class="cx"> #include "MaxFrameExtentForSlowPathCall.h"
</span><span class="cx"> #include "RepatchBuffer.h"
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITPropertyAccesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx"> #include "Interpreter.h"
</span><span class="cx"> #include "JITInlines.h"
</span><span class="cx"> #include "JSArray.h"
</span><ins>+#include "JSEnvironmentRecord.h"
</ins><span class="cx"> #include "JSFunction.h"
</span><del>-#include "JSVariableObject.h"
</del><span class="cx"> #include "LinkBuffer.h"
</span><span class="cx"> #include "RepatchBuffer.h"
</span><span class="cx"> #include "ResultType.h"
</span><span class="lines">@@ -660,7 +660,7 @@
</span><span class="cx"> void JIT::emitGetClosureVar(int scope, uintptr_t operand)
</span><span class="cx"> {
</span><span class="cx"> emitGetVirtualRegister(scope, regT0);
</span><del>- loadPtr(Address(regT0, JSVariableObject::offsetOfRegisters()), regT0);
</del><ins>+ loadPtr(Address(regT0, JSEnvironmentRecord::offsetOfRegisters()), regT0);
</ins><span class="cx"> loadPtr(Address(regT0, operand * sizeof(Register)), regT0);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -742,7 +742,7 @@
</span><span class="cx"> {
</span><span class="cx"> emitGetVirtualRegister(value, regT1);
</span><span class="cx"> emitGetVirtualRegister(scope, regT0);
</span><del>- loadPtr(Address(regT0, JSVariableObject::offsetOfRegisters()), regT0);
</del><ins>+ loadPtr(Address(regT0, JSEnvironmentRecord::offsetOfRegisters()), regT0);
</ins><span class="cx"> storePtr(regT1, Address(regT0, operand * sizeof(Register)));
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITPropertyAccess32_64cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx"> #include "Interpreter.h"
</span><span class="cx"> #include "JITInlines.h"
</span><span class="cx"> #include "JSArray.h"
</span><ins>+#include "JSEnvironmentRecord.h"
</ins><span class="cx"> #include "JSFunction.h"
</span><del>-#include "JSVariableObject.h"
</del><span class="cx"> #include "LinkBuffer.h"
</span><span class="cx"> #include "RepatchBuffer.h"
</span><span class="cx"> #include "ResultType.h"
</span><span class="lines">@@ -684,7 +684,7 @@
</span><span class="cx"> void JIT::emitGetClosureVar(int scope, uintptr_t operand)
</span><span class="cx"> {
</span><span class="cx"> emitLoad(scope, regT1, regT0);
</span><del>- loadPtr(Address(regT0, JSVariableObject::offsetOfRegisters()), regT0);
</del><ins>+ loadPtr(Address(regT0, JSEnvironmentRecord::offsetOfRegisters()), regT0);
</ins><span class="cx"> load32(Address(regT0, operand * sizeof(Register) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag)), regT1);
</span><span class="cx"> load32(Address(regT0, operand * sizeof(Register) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload)), regT0);
</span><span class="cx"> }
</span><span class="lines">@@ -773,7 +773,7 @@
</span><span class="cx"> {
</span><span class="cx"> emitLoad(value, regT3, regT2);
</span><span class="cx"> emitLoad(scope, regT1, regT0);
</span><del>- loadPtr(Address(regT0, JSVariableObject::offsetOfRegisters()), regT0);
</del><ins>+ loadPtr(Address(regT0, JSEnvironmentRecord::offsetOfRegisters()), regT0);
</ins><span class="cx"> store32(regT3, Address(regT0, operand * sizeof(Register) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag)));
</span><span class="cx"> store32(regT2, Address(regT0, operand * sizeof(Register) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload)));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntOffsetsExtractorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -37,12 +37,12 @@
</span><span class="cx"> #include "JSCell.h"
</span><span class="cx"> #include "JSFunction.h"
</span><span class="cx"> #include "VM.h"
</span><ins>+#include "JSEnvironmentRecord.h"
</ins><span class="cx"> #include "JSGlobalObject.h"
</span><span class="cx"> #include "JSObject.h"
</span><span class="cx"> #include "JSStack.h"
</span><span class="cx"> #include "JSString.h"
</span><span class="cx"> #include "JSTypeInfo.h"
</span><del>-#include "JSVariableObject.h"
</del><span class="cx"> #include "JumpTable.h"
</span><span class="cx"> #include "LLIntOfflineAsmConfig.h"
</span><span class="cx"> #include "MarkedSpace.h"
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLowLevelInterpreter32_64asm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -2280,7 +2280,7 @@
</span><span class="cx"> end
</span><span class="cx">
</span><span class="cx"> macro getClosureVar()
</span><del>- loadp JSVariableObject::m_registers[t0], t0
</del><ins>+ loadp JSEnvironmentRecord::m_registers[t0], t0
</ins><span class="cx"> loadisFromInstruction(6, t3)
</span><span class="cx"> loadp TagOffset[t0, t3, 8], t1
</span><span class="cx"> loadp PayloadOffset[t0, t3, 8], t2
</span><span class="lines">@@ -2357,7 +2357,7 @@
</span><span class="cx"> macro putClosureVar()
</span><span class="cx"> loadisFromInstruction(3, t1)
</span><span class="cx"> loadConstantOrVariable(t1, t2, t3)
</span><del>- loadp JSVariableObject::m_registers[t0], t0
</del><ins>+ loadp JSEnvironmentRecord::m_registers[t0], t0
</ins><span class="cx"> loadisFromInstruction(6, t1)
</span><span class="cx"> storei t2, TagOffset[t0, t1, 8]
</span><span class="cx"> storei t3, PayloadOffset[t0, t1, 8]
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLowLevelInterpreter64asm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -2110,7 +2110,7 @@
</span><span class="cx"> end
</span><span class="cx">
</span><span class="cx"> macro getClosureVar()
</span><del>- loadp JSVariableObject::m_registers[t0], t0
</del><ins>+ loadp JSEnvironmentRecord::m_registers[t0], t0
</ins><span class="cx"> loadisFromInstruction(6, t1)
</span><span class="cx"> loadq [t0, t1, 8], t0
</span><span class="cx"> valueProfile(t0, 7, t1)
</span><span class="lines">@@ -2184,7 +2184,7 @@
</span><span class="cx"> macro putClosureVar()
</span><span class="cx"> loadisFromInstruction(3, t1)
</span><span class="cx"> loadConstantOrVariable(t1, t2)
</span><del>- loadp JSVariableObject::m_registers[t0], t0
</del><ins>+ loadp JSEnvironmentRecord::m_registers[t0], t0
</ins><span class="cx"> loadisFromInstruction(6, t1)
</span><span class="cx"> storeq t2, [t0, t1, 8]
</span><span class="cx"> end
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSActivationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSActivation.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSActivation.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/runtime/JSActivation.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx"> propertyNames.add(Identifier(exec, it->key.get()));
</span><span class="cx"> }
</span><span class="cx"> }
</span><del>- // Skip the JSVariableObject implementation of getOwnNonIndexPropertyNames
</del><ins>+ // Skip the JSEnvironmentRecord implementation of getOwnNonIndexPropertyNames
</ins><span class="cx"> JSObject::getOwnNonIndexPropertyNames(thisObject, exec, propertyNames, mode);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSActivationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSActivation.h (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSActivation.h        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/runtime/JSActivation.h        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx">
</span><span class="cx"> #include "CodeBlock.h"
</span><span class="cx"> #include "CopiedSpaceInlines.h"
</span><del>-#include "JSVariableObject.h"
</del><ins>+#include "JSEnvironmentRecord.h"
</ins><span class="cx"> #include "Nodes.h"
</span><span class="cx"> #include "SymbolTable.h"
</span><span class="cx">
</span><span class="lines">@@ -39,12 +39,12 @@
</span><span class="cx">
</span><span class="cx"> class Register;
</span><span class="cx">
</span><del>-class JSActivation : public JSVariableObject {
</del><ins>+class JSActivation : public JSEnvironmentRecord {
</ins><span class="cx"> private:
</span><span class="cx"> JSActivation(VM&, CallFrame*, Register*, SymbolTable*);
</span><span class="cx">
</span><span class="cx"> public:
</span><del>- typedef JSVariableObject Base;
</del><ins>+ typedef JSEnvironmentRecord Base;
</ins><span class="cx">
</span><span class="cx"> static JSActivation* create(VM& vm, CallFrame* callFrame, Register* registers, CodeBlock* codeBlock)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSEnvironmentRecordcppfromrev173488trunkSourceJavaScriptCoreruntimeJSVariableObjectcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp (from rev 173488, trunk/Source/JavaScriptCore/runtime/JSVariableObject.cpp) (0 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp         (rev 0)
+++ trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "JSEnvironmentRecord.h"
+
+#include "JSCInlines.h"
+
+namespace JSC {
+
+const ClassInfo JSEnvironmentRecord::s_info = { "EnvironmentRecord", &Base::s_info, 0, CREATE_METHOD_TABLE(JSEnvironmentRecord) };
+
+} // namespace JSC
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSEnvironmentRecordhfromrev173488trunkSourceJavaScriptCoreruntimeJSVariableObjecth"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.h (from rev 173488, trunk/Source/JavaScriptCore/runtime/JSVariableObject.h) (0 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.h         (rev 0)
+++ trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.h        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -0,0 +1,76 @@
</span><ins>+/*
+ * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JSEnvironmentRecord_h
+#define JSEnvironmentRecord_h
+
+#include "JSObject.h"
+#include "JSSymbolTableObject.h"
+#include "Register.h"
+#include "SymbolTable.h"
+
+namespace JSC {
+
+class LLIntOffsetsExtractor;
+class Register;
+
+class JSEnvironmentRecord : public JSSymbolTableObject {
+ friend class JIT;
+ friend class LLIntOffsetsExtractor;
+
+public:
+ typedef JSSymbolTableObject Base;
+
+ WriteBarrierBase<Unknown>* registers() { return m_registers; }
+ WriteBarrierBase<Unknown>& registerAt(int index) const { return m_registers[index]; }
+
+ WriteBarrierBase<Unknown>* const * addressOfRegisters() const { return &m_registers; }
+ static size_t offsetOfRegisters() { return OBJECT_OFFSETOF(JSEnvironmentRecord, m_registers); }
+
+ DECLARE_INFO;
+
+protected:
+ static const unsigned StructureFlags = Base::StructureFlags;
+
+ JSEnvironmentRecord(
+ VM& vm,
+ Structure* structure,
+ Register* registers,
+ JSScope* scope,
+ SymbolTable* symbolTable = 0)
+ : Base(vm, structure, scope, symbolTable)
+ , m_registers(reinterpret_cast<WriteBarrierBase<Unknown>*>(registers))
+ {
+ }
+
+ WriteBarrierBase<Unknown>* m_registers; // "r" in the stack.
+};
+
+} // namespace JSC
+
+#endif // JSEnvironmentRecord_h
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSNameScopeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSNameScope.h (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSNameScope.h        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/runtime/JSNameScope.h        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -26,15 +26,15 @@
</span><span class="cx"> #ifndef JSNameScope_h
</span><span class="cx"> #define JSNameScope_h
</span><span class="cx">
</span><ins>+#include "JSEnvironmentRecord.h"
</ins><span class="cx"> #include "JSGlobalObject.h"
</span><del>-#include "JSVariableObject.h"
</del><span class="cx">
</span><span class="cx"> namespace JSC {
</span><span class="cx">
</span><span class="cx"> // Used for scopes with a single named variable: catch and named function expression.
</span><del>-class JSNameScope : public JSVariableObject {
</del><ins>+class JSNameScope : public JSEnvironmentRecord {
</ins><span class="cx"> public:
</span><del>- typedef JSVariableObject Base;
</del><ins>+ typedef JSEnvironmentRecord Base;
</ins><span class="cx">
</span><span class="cx"> static JSNameScope* create(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSSegmentedVariableObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -41,11 +41,11 @@
</span><span class="cx"> class LLIntOffsetsExtractor;
</span><span class="cx"> class Register;
</span><span class="cx">
</span><del>-// This is a mostly drop-in replacement for JSVariableObject, except that it preserves
</del><ins>+// This is a mostly drop-in replacement for JSEnvironmentRecord, except that it preserves
</ins><span class="cx"> // the invariant that after a variable is created, its address in memory will not change
</span><span class="cx"> // so long as the JSSegmentedVariableObject is alive. This allows optimizations based
</span><span class="cx"> // on getting the address of the variable and remembering it. As well, unlike a
</span><del>-// JSVariableObject, this will manage the memory for the registers itself and neither
</del><ins>+// JSEnvironmentRecord, this will manage the memory for the registers itself and neither
</ins><span class="cx"> // requires nor allows for the subclasses to manage that memory. Finally,
</span><span class="cx"> // JSSegmentedVariableObject has its own GC tracing functionality, since it knows the
</span><span class="cx"> // exact dimensions of the variables array at all times.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSVariableObjectcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/runtime/JSVariableObject.cpp (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSVariableObject.cpp        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/runtime/JSVariableObject.cpp        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -1,38 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "JSVariableObject.h"
-
-#include "JSCInlines.h"
-
-namespace JSC {
-
-const ClassInfo JSVariableObject::s_info = { "VariableObject", &Base::s_info, 0, CREATE_METHOD_TABLE(JSVariableObject) };
-
-} // namespace JSC
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSVariableObjecth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/runtime/JSVariableObject.h (173489 => 173490)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSVariableObject.h        2014-09-10 21:45:22 UTC (rev 173489)
+++ trunk/Source/JavaScriptCore/runtime/JSVariableObject.h        2014-09-10 21:52:02 UTC (rev 173490)
</span><span class="lines">@@ -1,76 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef JSVariableObject_h
-#define JSVariableObject_h
-
-#include "JSObject.h"
-#include "JSSymbolTableObject.h"
-#include "Register.h"
-#include "SymbolTable.h"
-
-namespace JSC {
-
-class LLIntOffsetsExtractor;
-class Register;
-
-class JSVariableObject : public JSSymbolTableObject {
- friend class JIT;
- friend class LLIntOffsetsExtractor;
-
-public:
- typedef JSSymbolTableObject Base;
-
- WriteBarrierBase<Unknown>* registers() { return m_registers; }
- WriteBarrierBase<Unknown>& registerAt(int index) const { return m_registers[index]; }
-
- WriteBarrierBase<Unknown>* const * addressOfRegisters() const { return &m_registers; }
- static size_t offsetOfRegisters() { return OBJECT_OFFSETOF(JSVariableObject, m_registers); }
-
- DECLARE_INFO;
-
-protected:
- static const unsigned StructureFlags = Base::StructureFlags;
-
- JSVariableObject(
- VM& vm,
- Structure* structure,
- Register* registers,
- JSScope* scope,
- SymbolTable* symbolTable = 0)
- : Base(vm, structure, scope, symbolTable)
- , m_registers(reinterpret_cast<WriteBarrierBase<Unknown>*>(registers))
- {
- }
-
- WriteBarrierBase<Unknown>* m_registers; // "r" in the stack.
-};
-
-} // namespace JSC
-
-#endif // JSVariableObject_h
</del></span></pre>
</div>
</div>
</body>
</html>