Changeset 188201 in webkit for trunk/Source/JavaScriptCore/jit/JIT.h
- Timestamp:
- Aug 9, 2015, 3:55:54 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JIT.h
r188135 r188201 150 150 ByValCompilationInfo() { } 151 151 152 ByValCompilationInfo(ByValInfo* byValInfo, unsigned bytecodeIndex, MacroAssembler::PatchableJump notIndexJump, MacroAssembler::PatchableJump badTypeJump, JITArrayMode arrayMode, ArrayProfile* arrayProfile, MacroAssembler::Label doneTarget) 153 : byValInfo(byValInfo) 154 , bytecodeIndex(bytecodeIndex) 155 , notIndexJump(notIndexJump) 152 ByValCompilationInfo(unsigned bytecodeIndex, MacroAssembler::PatchableJump badTypeJump, JITArrayMode arrayMode, MacroAssembler::Label doneTarget) 153 : bytecodeIndex(bytecodeIndex) 156 154 , badTypeJump(badTypeJump) 157 155 , arrayMode(arrayMode) 158 , arrayProfile(arrayProfile)159 156 , doneTarget(doneTarget) 160 157 { 161 158 } 162 163 ByValInfo* byValInfo; 159 164 160 unsigned bytecodeIndex; 165 MacroAssembler::PatchableJump notIndexJump;166 161 MacroAssembler::PatchableJump badTypeJump; 167 162 JITArrayMode arrayMode; 168 ArrayProfile* arrayProfile;169 163 MacroAssembler::Label doneTarget; 170 164 MacroAssembler::Label slowPathTarget; … … 211 205 } 212 206 213 static void compileGetByValWithCachedId(VM* vm, CodeBlock* codeBlock, ByValInfo* byValInfo, ReturnAddressPtr returnAddress, const Identifier& propertyName)214 {215 JIT jit(vm, codeBlock);216 jit.m_bytecodeOffset = byValInfo->bytecodeIndex;217 jit.privateCompileGetByValWithCachedId(byValInfo, returnAddress, propertyName);218 }219 220 207 static void compilePutByVal(VM* vm, CodeBlock* codeBlock, ByValInfo* byValInfo, ReturnAddressPtr returnAddress, JITArrayMode arrayMode) 221 208 { … … 260 247 261 248 void privateCompileGetByVal(ByValInfo*, ReturnAddressPtr, JITArrayMode); 262 void privateCompileGetByValWithCachedId(ByValInfo*, ReturnAddressPtr, const Identifier&);263 249 void privateCompilePutByVal(ByValInfo*, ReturnAddressPtr, JITArrayMode); 264 250 … … 386 372 JumpList emitIntTypedArrayPutByVal(Instruction*, PatchableJump& badType, TypedArrayType); 387 373 JumpList emitFloatTypedArrayPutByVal(Instruction*, PatchableJump& badType, TypedArrayType); 388 389 JITGetByIdGenerator emitGetByValWithCachedId(Instruction*, const Identifier&, JumpList& doneCases, JumpList& slowCases); 390 374 391 375 enum FinalObjectMode { MayBeFinal, KnownNotFinal }; 392 376 … … 719 703 MacroAssembler::Call callOperation(J_JITOperation_EJJ, int, GPRReg, GPRReg); 720 704 MacroAssembler::Call callOperation(J_JITOperation_EJJAp, int, GPRReg, GPRReg, ArrayProfile*); 721 MacroAssembler::Call callOperation(J_JITOperation_EJJBy, int, GPRReg, GPRReg, ByValInfo*);722 705 MacroAssembler::Call callOperation(C_JITOperation_EJsc, GPRReg); 723 706 MacroAssembler::Call callOperation(J_JITOperation_EJscC, int, GPRReg, JSCell*); … … 764 747 MacroAssembler::Call callOperation(V_JITOperation_EJJJ, RegisterID, RegisterID, RegisterID); 765 748 MacroAssembler::Call callOperation(V_JITOperation_EJJJAp, RegisterID, RegisterID, RegisterID, ArrayProfile*); 766 MacroAssembler::Call callOperation(V_JITOperation_EJJJBy, RegisterID, RegisterID, RegisterID, ByValInfo*);767 749 MacroAssembler::Call callOperation(V_JITOperation_EJZJ, RegisterID, int32_t, RegisterID); 768 750 MacroAssembler::Call callOperation(V_JITOperation_EJZ, RegisterID, int32_t); … … 781 763 MacroAssembler::Call callOperation(J_JITOperation_EJJ, int, GPRReg, GPRReg, GPRReg, GPRReg); 782 764 MacroAssembler::Call callOperation(J_JITOperation_EJJAp, int, GPRReg, GPRReg, GPRReg, GPRReg, ArrayProfile*); 783 MacroAssembler::Call callOperation(J_JITOperation_EJJBy, int, GPRReg, GPRReg, GPRReg, GPRReg, ByValInfo*);784 765 MacroAssembler::Call callOperation(P_JITOperation_EJS, GPRReg, GPRReg, size_t); 785 766 MacroAssembler::Call callOperation(S_JITOperation_EJ, RegisterID, RegisterID); … … 789 770 MacroAssembler::Call callOperation(V_JITOperation_EJJJ, RegisterID, RegisterID, RegisterID, RegisterID, RegisterID, RegisterID); 790 771 MacroAssembler::Call callOperation(V_JITOperation_EJJJAp, RegisterID, RegisterID, RegisterID, RegisterID, RegisterID, RegisterID, ArrayProfile*); 791 MacroAssembler::Call callOperation(V_JITOperation_EJJJBy, RegisterID, RegisterID, RegisterID, RegisterID, RegisterID, RegisterID, ByValInfo*);792 772 MacroAssembler::Call callOperation(V_JITOperation_EJZ, RegisterID, RegisterID, int32_t); 793 773 MacroAssembler::Call callOperation(V_JITOperation_EJZJ, RegisterID, RegisterID, int32_t, RegisterID, RegisterID);
Note:
See TracChangeset
for help on using the changeset viewer.