summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/ValueRecovery.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/bytecode/ValueRecovery.h')
-rw-r--r--Source/JavaScriptCore/bytecode/ValueRecovery.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/bytecode/ValueRecovery.h b/Source/JavaScriptCore/bytecode/ValueRecovery.h
index 007c6d3b7..ebca661d0 100644
--- a/Source/JavaScriptCore/bytecode/ValueRecovery.h
+++ b/Source/JavaScriptCore/bytecode/ValueRecovery.h
@@ -61,6 +61,8 @@ enum ValueRecoveryTechnique {
DoubleDisplacedInRegisterFile,
CellDisplacedInRegisterFile,
BooleanDisplacedInRegisterFile,
+ // It's an Arguments object.
+ ArgumentsThatWereNotCreated,
// It's a constant.
Constant,
// Don't know how to recover it.
@@ -190,6 +192,13 @@ public:
return result;
}
+ static ValueRecovery argumentsThatWereNotCreated()
+ {
+ ValueRecovery result;
+ result.m_technique = ArgumentsThatWereNotCreated;
+ return result;
+ }
+
ValueRecoveryTechnique technique() const { return m_technique; }
bool isConstant() const { return m_technique == Constant; }
@@ -315,6 +324,9 @@ public:
case BooleanDisplacedInRegisterFile:
fprintf(out, "*bool(%d)", virtualRegister());
break;
+ case ArgumentsThatWereNotCreated:
+ fprintf(out, "arguments");
+ break;
case Constant:
fprintf(out, "[%s]", constant().description());
break;