summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/ValueRecovery.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2015-05-20 09:56:07 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2015-05-20 09:56:07 +0000
commit41386e9cb918eed93b3f13648cbef387e371e451 (patch)
treea97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/bytecode/ValueRecovery.h
parente15dd966d523731101f70ccf768bba12435a0208 (diff)
downloadWebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz
webkitgtk-2.4.9webkitgtk-2.4.9
Diffstat (limited to 'Source/JavaScriptCore/bytecode/ValueRecovery.h')
-rw-r--r--Source/JavaScriptCore/bytecode/ValueRecovery.h51
1 files changed, 6 insertions, 45 deletions
diff --git a/Source/JavaScriptCore/bytecode/ValueRecovery.h b/Source/JavaScriptCore/bytecode/ValueRecovery.h
index 42651e2c7..3af2c3409 100644
--- a/Source/JavaScriptCore/bytecode/ValueRecovery.h
+++ b/Source/JavaScriptCore/bytecode/ValueRecovery.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011, 2013, 2015 Apple Inc. All rights reserved.
+ * Copyright (C) 2011, 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
@@ -26,7 +26,6 @@
#ifndef ValueRecovery_h
#define ValueRecovery_h
-#include "DFGMinifiedID.h"
#include "DataFormat.h"
#if ENABLE(JIT)
#include "GPRInfo.h"
@@ -35,11 +34,11 @@
#include "JSCJSValue.h"
#include "MacroAssembler.h"
#include "VirtualRegister.h"
+#include <wtf/Platform.h>
namespace JSC {
struct DumpContext;
-struct InlineCallFrame;
// Describes how to recover a given bytecode virtual register at a given
// code point.
@@ -64,9 +63,8 @@ enum ValueRecoveryTechnique {
DoubleDisplacedInJSStack,
CellDisplacedInJSStack,
BooleanDisplacedInJSStack,
- // It's an Arguments object. This arises because of the simplified arguments simplification done by the DFG.
- DirectArgumentsThatWereNotCreated,
- ClonedArgumentsThatWereNotCreated,
+ // It's an Arguments object.
+ ArgumentsThatWereNotCreated,
// It's a constant.
Constant,
// Don't know how to recover it.
@@ -170,19 +168,10 @@ public:
return result;
}
- static ValueRecovery directArgumentsThatWereNotCreated(DFG::MinifiedID id)
+ static ValueRecovery argumentsThatWereNotCreated()
{
ValueRecovery result;
- result.m_technique = DirectArgumentsThatWereNotCreated;
- result.m_source.nodeID = id.bits();
- return result;
- }
-
- static ValueRecovery outOfBandArgumentsThatWereNotCreated(DFG::MinifiedID id)
- {
- ValueRecovery result;
- result.m_technique = ClonedArgumentsThatWereNotCreated;
- result.m_source.nodeID = id.bits();
+ result.m_technique = ArgumentsThatWereNotCreated;
return result;
}
@@ -241,39 +230,12 @@ public:
return VirtualRegister(m_source.virtualReg);
}
- ValueRecovery withLocalsOffset(int offset) const
- {
- switch (m_technique) {
- case DisplacedInJSStack:
- case Int32DisplacedInJSStack:
- case DoubleDisplacedInJSStack:
- case CellDisplacedInJSStack:
- case BooleanDisplacedInJSStack:
- case Int52DisplacedInJSStack:
- case StrictInt52DisplacedInJSStack: {
- ValueRecovery result;
- result.m_technique = m_technique;
- result.m_source.virtualReg = m_source.virtualReg + offset;
- return result;
- }
-
- default:
- return *this;
- }
- }
-
JSValue constant() const
{
ASSERT(m_technique == Constant);
return JSValue::decode(m_source.constant);
}
- DFG::MinifiedID nodeID() const
- {
- ASSERT(m_technique == DirectArgumentsThatWereNotCreated || m_technique == ClonedArgumentsThatWereNotCreated);
- return DFG::MinifiedID::fromBits(m_source.nodeID);
- }
-
JSValue recover(ExecState*) const;
#if ENABLE(JIT)
@@ -294,7 +256,6 @@ private:
#endif
int virtualReg;
EncodedJSValue constant;
- uintptr_t nodeID;
} m_source;
};