Title: [158994] trunk/Source/_javascript_Core
Revision
158994
Author
[email protected]
Date
2013-11-08 22:55:07 -0800 (Fri, 08 Nov 2013)

Log Message

Remove dead FTL C ABI support
https://bugs.webkit.org/show_bug.cgi?id=124100

Reviewed by Jer Noble.

* _javascript_Core.xcodeproj/project.pbxproj:
* ftl/FTLCArgumentGetter.cpp: Removed.
* ftl/FTLCArgumentGetter.h: Removed.
* ftl/FTLOSRExitCompiler.cpp:
* jit/FPRInfo.h:

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (158993 => 158994)


--- trunk/Source/_javascript_Core/ChangeLog	2013-11-09 06:53:38 UTC (rev 158993)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-11-09 06:55:07 UTC (rev 158994)
@@ -1,5 +1,18 @@
 2013-11-08  Filip Pizlo  <[email protected]>
 
+        Remove dead FTL C ABI support
+        https://bugs.webkit.org/show_bug.cgi?id=124100
+
+        Reviewed by Jer Noble.
+
+        * _javascript_Core.xcodeproj/project.pbxproj:
+        * ftl/FTLCArgumentGetter.cpp: Removed.
+        * ftl/FTLCArgumentGetter.h: Removed.
+        * ftl/FTLOSRExitCompiler.cpp:
+        * jit/FPRInfo.h:
+
+2013-11-08  Filip Pizlo  <[email protected]>
+
         FTL should support Phantom(FinalObject:)
         https://bugs.webkit.org/show_bug.cgi?id=124092
 

Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (158993 => 158994)


--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2013-11-09 06:53:38 UTC (rev 158993)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2013-11-09 06:55:07 UTC (rev 158994)
@@ -86,8 +86,6 @@
 		0F1E3A67153A21E2000F9456 /* DFGSilentRegisterSavePlan.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F1E3A65153A21DF000F9456 /* DFGSilentRegisterSavePlan.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F21C27D14BE727A00ADC64B /* CodeSpecializationKind.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F21C27914BE727300ADC64B /* CodeSpecializationKind.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F21C27F14BEAA8200ADC64B /* BytecodeConventions.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F21C27E14BEAA8000ADC64B /* BytecodeConventions.h */; settings = {ATTRIBUTES = (Private, ); }; };
-		0F235BD117178E1C00690C7F /* FTLCArgumentGetter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F235BBB17178E1C00690C7F /* FTLCArgumentGetter.cpp */; };
-		0F235BD217178E1C00690C7F /* FTLCArgumentGetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F235BBC17178E1C00690C7F /* FTLCArgumentGetter.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F235BD317178E1C00690C7F /* FTLExitArgument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F235BBD17178E1C00690C7F /* FTLExitArgument.cpp */; };
 		0F235BD417178E1C00690C7F /* FTLExitArgument.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F235BBE17178E1C00690C7F /* FTLExitArgument.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		0F235BD517178E1C00690C7F /* FTLExitArgumentForOperand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F235BBF17178E1C00690C7F /* FTLExitArgumentForOperand.cpp */; };
@@ -1360,8 +1358,6 @@
 		0F1E3A65153A21DF000F9456 /* DFGSilentRegisterSavePlan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGSilentRegisterSavePlan.h; path = dfg/DFGSilentRegisterSavePlan.h; sourceTree = "<group>"; };
 		0F21C27914BE727300ADC64B /* CodeSpecializationKind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CodeSpecializationKind.h; sourceTree = "<group>"; };
 		0F21C27E14BEAA8000ADC64B /* BytecodeConventions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BytecodeConventions.h; sourceTree = "<group>"; };
-		0F235BBB17178E1C00690C7F /* FTLCArgumentGetter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FTLCArgumentGetter.cpp; path = ftl/FTLCArgumentGetter.cpp; sourceTree = "<group>"; };
-		0F235BBC17178E1C00690C7F /* FTLCArgumentGetter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FTLCArgumentGetter.h; path = ftl/FTLCArgumentGetter.h; sourceTree = "<group>"; };
 		0F235BBD17178E1C00690C7F /* FTLExitArgument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FTLExitArgument.cpp; path = ftl/FTLExitArgument.cpp; sourceTree = "<group>"; };
 		0F235BBE17178E1C00690C7F /* FTLExitArgument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FTLExitArgument.h; path = ftl/FTLExitArgument.h; sourceTree = "<group>"; };
 		0F235BBF17178E1C00690C7F /* FTLExitArgumentForOperand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FTLExitArgumentForOperand.cpp; path = ftl/FTLExitArgumentForOperand.cpp; sourceTree = "<group>"; };
@@ -2751,8 +2747,6 @@
 				0FEA0A1A1708B00700BB722C /* FTLAbstractHeapRepository.h */,
 				0FEA09FE170513DB00BB722C /* FTLCapabilities.cpp */,
 				0FEA09FF170513DB00BB722C /* FTLCapabilities.h */,
-				0F235BBB17178E1C00690C7F /* FTLCArgumentGetter.cpp */,
-				0F235BBC17178E1C00690C7F /* FTLCArgumentGetter.h */,
 				0FEA0A251709623B00BB722C /* FTLCommonValues.cpp */,
 				0FEA0A211709606900BB722C /* FTLCommonValues.h */,
 				0FEA0A00170513DB00BB722C /* FTLCompile.cpp */,
@@ -4347,7 +4341,6 @@
 				0FEA0A1D1708B00700BB722C /* FTLAbstractHeap.h in Headers */,
 				0FEA0A1F1708B00700BB722C /* FTLAbstractHeapRepository.h in Headers */,
 				0FEA0A0A170513DB00BB722C /* FTLCapabilities.h in Headers */,
-				0F235BD217178E1C00690C7F /* FTLCArgumentGetter.h in Headers */,
 				0FEA0A231709606900BB722C /* FTLCommonValues.h in Headers */,
 				0FEA0A0C170513DB00BB722C /* FTLCompile.h in Headers */,
 				0F235BD417178E1C00690C7F /* FTLExitArgument.h in Headers */,
@@ -5364,7 +5357,6 @@
 				0FEA0A1C1708B00700BB722C /* FTLAbstractHeap.cpp in Sources */,
 				0FEA0A1E1708B00700BB722C /* FTLAbstractHeapRepository.cpp in Sources */,
 				0FEA0A09170513DB00BB722C /* FTLCapabilities.cpp in Sources */,
-				0F235BD117178E1C00690C7F /* FTLCArgumentGetter.cpp in Sources */,
 				0FEA0A271709623B00BB722C /* FTLCommonValues.cpp in Sources */,
 				0FEA0A0B170513DB00BB722C /* FTLCompile.cpp in Sources */,
 				0F235BD317178E1C00690C7F /* FTLExitArgument.cpp in Sources */,

Deleted: trunk/Source/_javascript_Core/ftl/FTLCArgumentGetter.cpp (158993 => 158994)


--- trunk/Source/_javascript_Core/ftl/FTLCArgumentGetter.cpp	2013-11-09 06:53:38 UTC (rev 158993)
+++ trunk/Source/_javascript_Core/ftl/FTLCArgumentGetter.cpp	2013-11-09 06:55:07 UTC (rev 158994)
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 INC. OR
- * 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 "FTLCArgumentGetter.h"
-
-#if ENABLE(FTL_JIT)
-
-namespace JSC { namespace FTL {
-
-using namespace DFG;
-
-void CArgumentGetter::loadNextAndBox(
-    ValueFormat format, GPRReg destination, GPRReg scratch1, GPRReg scratch2)
-{
-    if (scratch1 == InvalidGPRReg) {
-        ASSERT(scratch2 == InvalidGPRReg);
-        if (destination == GPRInfo::nonArgGPR0)
-            scratch1 = GPRInfo::nonArgGPR1;
-        else
-            scratch1 = GPRInfo::nonArgGPR0;
-    }
-    if (scratch2 == InvalidGPRReg) {
-        if (destination != GPRInfo::nonArgGPR0 && scratch1 != GPRInfo::nonArgGPR0)
-            scratch2 = GPRInfo::nonArgGPR0;
-        else if (destination != GPRInfo::nonArgGPR1 && scratch1 != GPRInfo::nonArgGPR1)
-            scratch2 = GPRInfo::nonArgGPR1;
-        else
-            scratch2 = GPRInfo::nonArgGPR2;
-    }
-    
-    switch (format) {
-    case ValueFormatInt32:
-    case ValueFormatUInt32:
-        loadNext32(destination);
-        break;
-        
-    case ValueFormatInt52:
-    case ValueFormatStrictInt52:
-    case ValueFormatJSValue:
-        loadNext64(destination);
-        break;
-            
-    case ValueFormatBoolean:
-        loadNext8(destination);
-        break;
-            
-    case ValueFormatDouble:
-        loadNextDoubleIntoGPR(destination);
-        break;
-            
-    default:
-        RELEASE_ASSERT_NOT_REACHED();
-        break;
-    }
-    
-    reboxAccordingToFormat(format, m_jit, destination, scratch1, scratch2);
-}
-
-} } // namespace JSC::FTL
-
-#endif // ENABLE(FTL_JIT)
-

Deleted: trunk/Source/_javascript_Core/ftl/FTLCArgumentGetter.h (158993 => 158994)


--- trunk/Source/_javascript_Core/ftl/FTLCArgumentGetter.h	2013-11-09 06:53:38 UTC (rev 158993)
+++ trunk/Source/_javascript_Core/ftl/FTLCArgumentGetter.h	2013-11-09 06:55:07 UTC (rev 158994)
@@ -1,151 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 INC. OR
- * 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 FTLCArgumentGetter_h
-#define FTLCArgumentGetter_h
-
-#include <wtf/Platform.h>
-
-#if ENABLE(FTL_JIT)
-
-#include "AssemblyHelpers.h"
-#include "FTLValueFormat.h"
-
-namespace JSC { namespace FTL {
-
-// This currently only understands how to get arguments on X86-64 cdecl. This is also
-// not particularly efficient. It will generate some redundant moves.
-
-template<typename RegisterKind>
-bool isArgumentRegister(typename RegisterKind::RegisterType reg)
-{
-    for (unsigned i = 0; i < RegisterKind::numberOfArgumentRegisters; ++i) {
-        if (RegisterKind::toArgumentRegister(i) == reg)
-            return true;
-    }
-    return false;
-}
-
-class CArgumentGetter {
-public:
-    // Peek offset is the number of things on the stack below the first argument.
-    // It will be 1 if you haven't pushed or popped after the call; i.e. the only
-    // thing is the return address.
-    CArgumentGetter(AssemblyHelpers& jit, int peekOffset = 1)
-        : m_jit(jit)
-        , m_peekOffset(peekOffset)
-        , m_gprArgumentIndex(0)
-        , m_fprArgumentIndex(0)
-        , m_stackArgumentIndex(0)
-    {
-    }
-    
-    void loadNext8(GPRReg destination)
-    {
-        ASSERT(!isArgumentRegister<GPRInfo>(destination));
-        if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
-            m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
-            return;
-        }
-        
-        m_jit.load8(nextAddress(), destination);
-    }
-    
-    void loadNext32(GPRReg destination)
-    {
-        ASSERT(!isArgumentRegister<GPRInfo>(destination));
-        if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
-            m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
-            return;
-        }
-        
-        m_jit.load32(nextAddress(), destination);
-    }
-    
-    void loadNext64(GPRReg destination)
-    {
-        ASSERT(!isArgumentRegister<GPRInfo>(destination));
-        if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
-            m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
-            return;
-        }
-        
-        m_jit.load64(nextAddress(), destination);
-    }
-    
-    void loadNextPtr(GPRReg destination)
-    {
-        loadNext64(destination);
-    }
-    
-    void loadNextDoubleIntoGPR(GPRReg destination)
-    {
-        if (m_fprArgumentIndex < FPRInfo::numberOfArgumentRegisters) {
-            m_jit.moveDoubleTo64(FPRInfo::toArgumentRegister(m_fprArgumentIndex++), destination);
-            return;
-        }
-        
-        m_jit.load64(nextAddress(), destination);
-    }
-    
-    void loadNextDouble(FPRReg destination)
-    {
-        ASSERT(
-            !isArgumentRegister<FPRInfo>(destination)
-            || destination == FPRInfo::argumentFPR0);
-        
-        if (m_fprArgumentIndex < FPRInfo::numberOfArgumentRegisters) {
-            m_jit.moveDouble(FPRInfo::toArgumentRegister(m_fprArgumentIndex++), destination);
-            return;
-        }
-        
-        m_jit.loadDouble(nextAddress(), destination);
-    }
-    
-    void loadNextAndBox(
-        ValueFormat, GPRReg destination,
-        GPRReg scratch1 = InvalidGPRReg, GPRReg scratch2 = InvalidGPRReg);
-
-private:
-    MacroAssembler::Address nextAddress()
-    {
-        return MacroAssembler::Address(
-            MacroAssembler::stackPointerRegister,
-            (m_peekOffset + m_stackArgumentIndex++) * sizeof(void*));
-    }
-            
-    AssemblyHelpers& m_jit;
-    unsigned m_peekOffset;
-    unsigned m_gprArgumentIndex;
-    unsigned m_fprArgumentIndex;
-    unsigned m_stackArgumentIndex;
-};
-
-} } // namespace JSC::FTL
-
-#endif // ENABLE(FTL_JIT)
-
-#endif // FTLCArgumentGetter_h
-

Modified: trunk/Source/_javascript_Core/ftl/FTLOSRExitCompiler.cpp (158993 => 158994)


--- trunk/Source/_javascript_Core/ftl/FTLOSRExitCompiler.cpp	2013-11-09 06:53:38 UTC (rev 158993)
+++ trunk/Source/_javascript_Core/ftl/FTLOSRExitCompiler.cpp	2013-11-09 06:55:07 UTC (rev 158994)
@@ -30,7 +30,6 @@
 
 #include "DFGOSRExitCompilerCommon.h"
 #include "DFGOSRExitPreparation.h"
-#include "FTLCArgumentGetter.h"
 #include "FTLExitArgumentForOperand.h"
 #include "FTLJITCode.h"
 #include "FTLOSRExit.h"

Modified: trunk/Source/_javascript_Core/jit/FPRInfo.h (158993 => 158994)


--- trunk/Source/_javascript_Core/jit/FPRInfo.h	2013-11-09 06:53:38 UTC (rev 158993)
+++ trunk/Source/_javascript_Core/jit/FPRInfo.h	2013-11-09 06:55:07 UTC (rev 158994)
@@ -40,7 +40,6 @@
 public:
     typedef FPRReg RegisterType;
     static const unsigned numberOfRegisters = 6;
-    static const unsigned numberOfArgumentRegisters = 8;
 
     // Temporary registers.
     static const FPRReg fpRegT0 = X86Registers::xmm0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to