diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
commit | 32761a6cee1d0dee366b885b7b9c777e67885688 (patch) | |
tree | d6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/jit/JITInlineCacheGenerator.h | |
parent | a4e969f4965059196ca948db781e52f7cfebf19e (diff) | |
download | WebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz |
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/JavaScriptCore/jit/JITInlineCacheGenerator.h')
-rw-r--r-- | Source/JavaScriptCore/jit/JITInlineCacheGenerator.h | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/Source/JavaScriptCore/jit/JITInlineCacheGenerator.h b/Source/JavaScriptCore/jit/JITInlineCacheGenerator.h index 0ada0f8b4..6ff0c09b5 100644 --- a/Source/JavaScriptCore/jit/JITInlineCacheGenerator.h +++ b/Source/JavaScriptCore/jit/JITInlineCacheGenerator.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013, 2015 Apple Inc. All rights reserved. + * Copyright (C) 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 @@ -33,7 +33,6 @@ #include "JSCJSValue.h" #include "PutKind.h" #include "RegisterSet.h" -#include "StructureStubInfo.h" namespace JSC { @@ -42,7 +41,7 @@ class CodeBlock; class JITInlineCacheGenerator { protected: JITInlineCacheGenerator() { } - JITInlineCacheGenerator(CodeBlock*, CodeOrigin, CallSiteIndex, AccessType); + JITInlineCacheGenerator(CodeBlock*, CodeOrigin); public: StructureStubInfo* stubInfo() const { return m_stubInfo; } @@ -57,8 +56,8 @@ protected: JITByIdGenerator() { } JITByIdGenerator( - CodeBlock*, CodeOrigin, CallSiteIndex, AccessType, const RegisterSet&, JSValueRegs base, - JSValueRegs value); + CodeBlock*, CodeOrigin, const RegisterSet&, GPRReg callFrameRegister, + JSValueRegs base, JSValueRegs value, bool registersFlushed); public: void reportSlowPathCall(MacroAssembler::Label slowPathBegin, MacroAssembler::Call call) @@ -74,13 +73,14 @@ public: void finalize(LinkBuffer&); protected: - void generateFastPathChecks(MacroAssembler&); + void generateFastPathChecks(MacroAssembler&, GPRReg butterfly); JSValueRegs m_base; JSValueRegs m_value; - MacroAssembler::DataLabel32 m_structureImm; + MacroAssembler::DataLabelPtr m_structureImm; MacroAssembler::PatchableJump m_structureCheck; + MacroAssembler::ConvertibleLoadLabel m_propertyStorageLoad; AssemblerLabel m_loadOrStore; #if USE(JSVALUE32_64) AssemblerLabel m_tagLoadOrStore; @@ -95,8 +95,14 @@ public: JITGetByIdGenerator() { } JITGetByIdGenerator( - CodeBlock*, CodeOrigin, CallSiteIndex, const RegisterSet& usedRegisters, JSValueRegs base, - JSValueRegs value); + CodeBlock* codeBlock, CodeOrigin codeOrigin, const RegisterSet& usedRegisters, + GPRReg callFrameRegister, JSValueRegs base, JSValueRegs value, + bool registersFlushed) + : JITByIdGenerator( + codeBlock, codeOrigin, usedRegisters, callFrameRegister, base, value, + registersFlushed) + { + } void generateFastPath(MacroAssembler&); }; @@ -106,14 +112,16 @@ public: JITPutByIdGenerator() { } JITPutByIdGenerator( - CodeBlock*, CodeOrigin, CallSiteIndex, const RegisterSet& usedRegisters, JSValueRegs base, - JSValueRegs, GPRReg scratch, ECMAMode, PutKind); + CodeBlock*, CodeOrigin, const RegisterSet& usedRegisters, GPRReg callFrameRegister, + JSValueRegs base, JSValueRegs value, GPRReg scratch, bool registersFlushed, + ECMAMode, PutKind); void generateFastPath(MacroAssembler&); V_JITOperation_ESsiJJI slowPathFunction(); private: + GPRReg m_scratch; ECMAMode m_ecmaMode; PutKind m_putKind; }; |