Title: [147821] branches/dfgFourthTier/Source/_javascript_Core
- Revision
- 147821
- Author
- fpi...@apple.com
- Date
- 2013-04-05 17:10:40 -0700 (Fri, 05 Apr 2013)
Log Message
fourthTier: DFG should better abstract arguments
https://bugs.webkit.org/show_bug.cgi?id=114073
Reviewed by Mark Hahnenberg.
* dfg/DFGGPRInfo.h:
(GPRInfo):
(JSC::DFG::GPRInfo::toArgumentRegister):
Modified Paths
Diff
Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (147820 => 147821)
--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog 2013-04-06 00:07:46 UTC (rev 147820)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog 2013-04-06 00:10:40 UTC (rev 147821)
@@ -1,3 +1,14 @@
+2013-04-05 Filip Pizlo <fpi...@apple.com>
+
+ fourthTier: DFG should better abstract arguments
+ https://bugs.webkit.org/show_bug.cgi?id=114073
+
+ Reviewed by Mark Hahnenberg.
+
+ * dfg/DFGGPRInfo.h:
+ (GPRInfo):
+ (JSC::DFG::GPRInfo::toArgumentRegister):
+
2013-04-03 Filip Pizlo <fpi...@apple.com>
fourthTier: put DFG data into a DFG::JITCode, and put common DFG and FTL data into something accessible from both DFG::JITCode and FTL::JITCode
Modified: branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGGPRInfo.h (147820 => 147821)
--- branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGGPRInfo.h 2013-04-06 00:07:46 UTC (rev 147820)
+++ branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGGPRInfo.h 2013-04-06 00:10:40 UTC (rev 147821)
@@ -259,6 +259,7 @@
public:
typedef GPRReg RegisterType;
static const unsigned numberOfRegisters = 5;
+ static const unsigned numberOfArgumentRegisters = NUMBER_OF_ARGUMENT_REGISTERS;
// Temporary registers.
static const GPRReg regT0 = X86Registers::eax;
@@ -321,6 +322,7 @@
public:
typedef GPRReg RegisterType;
static const unsigned numberOfRegisters = 9;
+ static const unsigned numberOfArgumentRegisters = NUMBER_OF_ARGUMENT_REGISTERS;
// These registers match the baseline JIT.
static const GPRReg cachedResultRegister = X86Registers::eax;
@@ -358,6 +360,13 @@
static const GPRReg registerForIndex[numberOfRegisters] = { regT0, regT1, regT2, regT3, regT4, regT5, regT6, regT7, regT8 };
return registerForIndex[index];
}
+
+ static GPRReg toArgumentRegister(unsigned index)
+ {
+ ASSERT(index < numberOfArgumentRegisters);
+ static const GPRReg registerForIndex[numberOfArgumentRegisters] = { argumentGPR0, argumentGPR1, argumentGPR2, argumentGPR3, argumentGPR4, argumentGPR5 };
+ return registerForIndex[index];
+ }
static unsigned toIndex(GPRReg reg)
{
@@ -395,6 +404,7 @@
public:
typedef GPRReg RegisterType;
static const unsigned numberOfRegisters = 8;
+ static const unsigned numberOfArgumentRegisters = NUMBER_OF_ARGUMENT_REGISTERS;
// Temporary registers.
static const GPRReg regT0 = ARMRegisters::r0;
@@ -468,6 +478,7 @@
public:
typedef GPRReg RegisterType;
static const unsigned numberOfRegisters = 6;
+ static const unsigned numberOfArgumentRegisters = NUMBER_OF_ARGUMENT_REGISTERS;
// Temporary registers.
static const GPRReg regT0 = MIPSRegisters::v0;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes