diff options
Diffstat (limited to 'Source/JavaScriptCore/bytecode/ValueRecovery.h')
-rw-r--r-- | Source/JavaScriptCore/bytecode/ValueRecovery.h | 12 |
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; |