diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
commit | 2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch) | |
tree | 988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Source/JavaScriptCore/bytecode/StructureStubInfo.h | |
parent | dd91e772430dc294e3bf478c119ef8d43c0a3358 (diff) | |
download | qtwebkit-2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47.tar.gz |
Imported WebKit commit 7e538425aa020340619e927792f3d895061fb54b (http://svn.webkit.org/repository/webkit/trunk@116286)
Diffstat (limited to 'Source/JavaScriptCore/bytecode/StructureStubInfo.h')
-rw-r--r-- | Source/JavaScriptCore/bytecode/StructureStubInfo.h | 67 |
1 files changed, 50 insertions, 17 deletions
diff --git a/Source/JavaScriptCore/bytecode/StructureStubInfo.h b/Source/JavaScriptCore/bytecode/StructureStubInfo.h index 8fad5c0cc..03c64bf39 100644 --- a/Source/JavaScriptCore/bytecode/StructureStubInfo.h +++ b/Source/JavaScriptCore/bytecode/StructureStubInfo.h @@ -122,8 +122,8 @@ namespace JSC { { accessType = access_get_by_id_self_list; - u.getByIdProtoList.structureList = structureList; - u.getByIdProtoList.listSize = listSize; + u.getByIdSelfList.structureList = structureList; + u.getByIdSelfList.listSize = listSize; } void initGetByIdProtoList(PolymorphicAccessStructureList* structureList, int listSize) @@ -163,8 +163,8 @@ namespace JSC { void reset() { - accessType = access_unset; deref(); + accessType = access_unset; stubRoutine = MacroAssemblerCodeRef(); } @@ -186,27 +186,60 @@ namespace JSC { int8_t accessType; int8_t seen; - + #if ENABLE(DFG_JIT) CodeOrigin codeOrigin; - int8_t registersFlushed; - int8_t baseGPR; +#endif // ENABLE(DFG_JIT) + + union { + struct { + int8_t registersFlushed; + int8_t baseGPR; #if USE(JSVALUE32_64) - int8_t valueTagGPR; + int8_t valueTagGPR; #endif - int8_t valueGPR; - int8_t scratchGPR; - int16_t deltaCallToDone; - int16_t deltaCallToStructCheck; - int16_t deltaCallToSlowCase; - int16_t deltaCheckImmToCall; + int8_t valueGPR; + int8_t scratchGPR; + int16_t deltaCallToDone; + int16_t deltaCallToStructCheck; + int16_t deltaCallToSlowCase; + int16_t deltaCheckImmToCall; #if USE(JSVALUE64) - int16_t deltaCallToLoadOrStore; + int16_t deltaCallToLoadOrStore; #else - int16_t deltaCallToTagLoadOrStore; - int16_t deltaCallToPayloadLoadOrStore; + int16_t deltaCallToTagLoadOrStore; + int16_t deltaCallToPayloadLoadOrStore; #endif -#endif // ENABLE(DFG_JIT) + } dfg; + struct { + union { + struct { + int16_t structureToCompare; + int16_t structureCheck; +#if USE(JSVALUE64) + int16_t displacementLabel; +#else + int16_t displacementLabel1; + int16_t displacementLabel2; +#endif + int16_t putResult; + int16_t coldPathBegin; + } get; + struct { + int16_t structureToCompare; +#if USE(JSVALUE64) + int16_t displacementLabel; +#else + int16_t displacementLabel1; + int16_t displacementLabel2; +#endif + } put; + } u; + int16_t methodCheckProtoObj; + int16_t methodCheckProtoStructureToCompare; + int16_t methodCheckPutFunction; + } baseline; + } patch; union { struct { |