diff options
| author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
|---|---|---|
| committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
| commit | 41386e9cb918eed93b3f13648cbef387e371e451 (patch) | |
| tree | a97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/bytecode/ValueRecovery.h | |
| parent | e15dd966d523731101f70ccf768bba12435a0208 (diff) | |
| download | WebKitGtk-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.h | 51 |
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; }; |
