Changeset 155418 in webkit
- Timestamp:
- Sep 9, 2013 11:01:03 PM (11 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r155415 r155418 1 2013-09-09 Michael Saboff <msaboff@apple.com> 2 3 Change virtual register function arguments from unsigned to int 4 https://bugs.webkit.org/show_bug.cgi?id=121055 5 6 Reviewed by Filip Pizlo. 7 8 This is a largely mechanical change. This changes function paramaters and local variables used to 9 represent bytecode operands from being unsigned to be int. 10 11 * bytecode/CodeOrigin.h: 12 * dfg/DFGByteCodeParser.cpp: 13 * jit/JIT.h: 14 * jit/JITArithmetic.cpp: 15 * jit/JITArithmetic32_64.cpp: 16 * jit/JITInlines.h: 17 * jit/JITOpcodes.cpp: 18 * jit/JITOpcodes32_64.cpp: 19 * jit/JITPropertyAccess.cpp: 20 * jit/JITPropertyAccess32_64.cpp: 21 * jit/JITStubCall.h: 22 1 23 2013-09-09 Michael Saboff <msaboff@apple.com> 2 24 -
trunk/Source/JavaScriptCore/bytecode/CodeOrigin.h
r153296 r155418 98 98 CodeOrigin caller; 99 99 BitVector capturedVars; // Indexed by the machine call frame's variable numbering. 100 unsignedstackOffset : 31;100 signed int stackOffset : 31; 101 101 bool isCall : 1; 102 102 -
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r155415 r155418 215 215 216 216 // Must be a local. 217 return getLocal((unsigned)operand); 218 } 217 return getLocal(operand); 218 } 219 219 220 Node* get(int operand) 220 221 { … … 228 229 return getDirect(m_inlineStackTop->remapOperand(operand)); 229 230 } 231 230 232 enum SetMode { NormalSet, SetOnEntry }; 231 233 void setDirect(int operand, Node* value, SetMode setMode = NormalSet) … … 238 240 239 241 // Must be a local. 240 setLocal((unsigned)operand, value, setMode); 241 } 242 setLocal(operand, value, setMode); 243 } 244 242 245 void set(int operand, Node* value, SetMode setMode = NormalSet) 243 246 { … … 260 263 261 264 // Used in implementing get/set, above, where the operand is a local variable. 262 Node* getLocal( unsignedoperand)265 Node* getLocal(int operand) 263 266 { 264 267 unsigned local = operandToLocal(operand); … … 297 300 return node; 298 301 } 299 void setLocal(unsigned operand, Node* value, SetMode setMode = NormalSet) 302 303 void setLocal(int operand, Node* value, SetMode setMode = NormalSet) 300 304 { 301 305 unsigned local = operandToLocal(operand); … … 2090 2094 2091 2095 case op_inc: { 2092 unsignedsrcDst = currentInstruction[1].u.operand;2096 int srcDst = currentInstruction[1].u.operand; 2093 2097 Node* op = get(srcDst); 2094 2098 set(srcDst, makeSafe(addToGraph(ArithAdd, op, one()))); … … 2097 2101 2098 2102 case op_dec: { 2099 unsignedsrcDst = currentInstruction[1].u.operand;2103 int srcDst = currentInstruction[1].u.operand; 2100 2104 Node* op = get(srcDst); 2101 2105 set(srcDst, makeSafe(addToGraph(ArithSub, op, one()))); … … 2997 3001 2998 3002 case op_resolve_scope: { 2999 unsigneddst = currentInstruction[1].u.operand;3003 int dst = currentInstruction[1].u.operand; 3000 3004 ResolveType resolveType = static_cast<ResolveType>(currentInstruction[3].u.operand); 3001 3005 unsigned depth = currentInstruction[4].u.operand; … … 3024 3028 3025 3029 case op_get_from_scope: { 3026 unsigneddst = currentInstruction[1].u.operand;3030 int dst = currentInstruction[1].u.operand; 3027 3031 unsigned scope = currentInstruction[2].u.operand; 3028 3032 unsigned identifierNumber = m_inlineStackTop->m_identifierRemap[currentInstruction[3].u.operand]; -
trunk/Source/JavaScriptCore/jit/JIT.h
r155399 r155418 439 439 enum CompileOpStrictEqType { OpStrictEq, OpNStrictEq }; 440 440 void compileOpStrictEq(Instruction* instruction, CompileOpStrictEqType type); 441 bool isOperandConstantImmediateDouble( unsignedsrc);441 bool isOperandConstantImmediateDouble(int src); 442 442 443 443 void emitLoadDouble(int index, FPRegisterID value); … … 510 510 511 511 #if USE(JSVALUE32_64) 512 bool getOperandConstantImmediateInt( unsigned op1, unsigned op2, unsigned& op, int32_t& constant);512 bool getOperandConstantImmediateInt(int op1, int op2, int& op, int32_t& constant); 513 513 514 514 void emitLoadTag(int index, RegisterID tag); … … 547 547 548 548 // Arithmetic opcode helpers 549 void emitAdd32Constant( unsigned dst, unsignedop, int32_t constant, ResultType opType);550 void emitSub32Constant( unsigned dst, unsignedop, int32_t constant, ResultType opType);551 void emitBinaryDoubleOp(OpcodeID, unsigned dst, unsigned op1, unsignedop2, OperandTypes, JumpList& notInt32Op1, JumpList& notInt32Op2, bool op1IsInRegisters = true, bool op2IsInRegisters = true);549 void emitAdd32Constant(int dst, int op, int32_t constant, ResultType opType); 550 void emitSub32Constant(int dst, int op, int32_t constant, ResultType opType); 551 void emitBinaryDoubleOp(OpcodeID, int dst, int op1, int op2, OperandTypes, JumpList& notInt32Op1, JumpList& notInt32Op2, bool op1IsInRegisters = true, bool op2IsInRegisters = true); 552 552 553 553 #if CPU(ARM_TRADITIONAL) … … 581 581 #else // USE(JSVALUE32_64) 582 582 /* This function is deprecated. */ 583 void emitGetJITStubArg( unsignedargumentNumber, RegisterID dst);583 void emitGetJITStubArg(int argumentNumber, RegisterID dst); 584 584 585 585 void emitGetVirtualRegister(int src, RegisterID dst); 586 586 void emitGetVirtualRegisters(int src1, RegisterID dst1, int src2, RegisterID dst2); 587 void emitPutVirtualRegister( unsigneddst, RegisterID from = regT0);588 void emitStoreCell( unsigneddst, RegisterID payload, bool /* only used in JSValue32_64 */ = false)587 void emitPutVirtualRegister(int dst, RegisterID from = regT0); 588 void emitStoreCell(int dst, RegisterID payload, bool /* only used in JSValue32_64 */ = false) 589 589 { 590 590 emitPutVirtualRegister(dst, payload); 591 591 } 592 592 593 int32_t getConstantOperandImmediateInt( unsignedsrc);593 int32_t getConstantOperandImmediateInt(int src); 594 594 595 595 void killLastResultRegister(); … … 610 610 611 611 void emitTagAsBoolImmediate(RegisterID reg); 612 void compileBinaryArithOp(OpcodeID, unsigned dst, unsigned src1, unsignedsrc2, OperandTypes opi);613 void compileBinaryArithOpSlowCase(Instruction*, OpcodeID, Vector<SlowCaseEntry>::iterator&, unsigned dst, unsigned src1, unsignedsrc2, OperandTypes, bool op1HasImmediateIntFastCase, bool op2HasImmediateIntFastCase);612 void compileBinaryArithOp(OpcodeID, int dst, int src1, int src2, OperandTypes opi); 613 void compileBinaryArithOpSlowCase(Instruction*, OpcodeID, Vector<SlowCaseEntry>::iterator&, int dst, int src1, int src2, OperandTypes, bool op1HasImmediateIntFastCase, bool op2HasImmediateIntFastCase); 614 614 615 615 void compileGetByIdHotPath(int baseVReg, const Identifier*); … … 636 636 #endif 637 637 638 void emit_compareAndJump(OpcodeID, unsigned op1, unsignedop2, unsigned target, RelationalCondition);639 void emit_compareAndJumpSlow( unsigned op1, unsignedop2, unsigned target, DoubleCondition, int (JIT_STUB *stub)(STUB_ARGS_DECLARATION), bool invert, Vector<SlowCaseEntry>::iterator&);638 void emit_compareAndJump(OpcodeID, int op1, int op2, unsigned target, RelationalCondition); 639 void emit_compareAndJumpSlow(int op1, int op2, unsigned target, DoubleCondition, int (JIT_STUB *stub)(STUB_ARGS_DECLARATION), bool invert, Vector<SlowCaseEntry>::iterator&); 640 640 641 641 void emit_op_add(Instruction*); … … 795 795 796 796 void emitVarInjectionCheck(bool needsVarInjectionChecks); 797 void emitResolveClosure( unsigneddst, bool needsVarInjectionChecks, unsigned depth);798 void emitLoadWithStructureCheck( unsignedscope, Structure** structureSlot);797 void emitResolveClosure(int dst, bool needsVarInjectionChecks, unsigned depth); 798 void emitLoadWithStructureCheck(int scope, Structure** structureSlot); 799 799 void emitGetGlobalProperty(uintptr_t* operandSlot); 800 800 void emitGetGlobalVar(uintptr_t operand); 801 void emitGetClosureVar( unsignedscope, uintptr_t operand);802 void emitPutGlobalProperty(uintptr_t* operandSlot, unsignedvalue);803 void emitPutGlobalVar(uintptr_t operand, unsignedvalue);804 void emitPutClosureVar( unsigned scope, uintptr_t operand, unsignedvalue);805 806 void emitInitRegister( unsigneddst);801 void emitGetClosureVar(int scope, uintptr_t operand); 802 void emitPutGlobalProperty(uintptr_t* operandSlot, int value); 803 void emitPutGlobalVar(uintptr_t operand, int value); 804 void emitPutClosureVar(int scope, uintptr_t operand, int value); 805 806 void emitInitRegister(int dst); 807 807 808 808 void emitPutIntToCallFrameHeader(RegisterID from, JSStack::CallFrameHeaderEntry); … … 813 813 #endif 814 814 815 JSValue getConstantOperand( unsignedsrc);816 bool isOperandConstantImmediateInt( unsignedsrc);817 bool isOperandConstantImmediateChar( unsignedsrc);815 JSValue getConstantOperand(int src); 816 bool isOperandConstantImmediateInt(int src); 817 bool isOperandConstantImmediateChar(int src); 818 818 819 819 bool atJumpTarget(); … … 852 852 853 853 #ifndef NDEBUG 854 void printBytecodeOperandTypes( unsigned src1, unsignedsrc2);854 void printBytecodeOperandTypes(int src1, int src2); 855 855 #endif 856 856 -
trunk/Source/JavaScriptCore/jit/JITArithmetic.cpp
r153222 r155418 51 51 void JIT::emit_op_jless(Instruction* currentInstruction) 52 52 { 53 unsignedop1 = currentInstruction[1].u.operand;54 unsignedop2 = currentInstruction[2].u.operand;53 int op1 = currentInstruction[1].u.operand; 54 int op2 = currentInstruction[2].u.operand; 55 55 unsigned target = currentInstruction[3].u.operand; 56 56 … … 60 60 void JIT::emit_op_jlesseq(Instruction* currentInstruction) 61 61 { 62 unsignedop1 = currentInstruction[1].u.operand;63 unsignedop2 = currentInstruction[2].u.operand;62 int op1 = currentInstruction[1].u.operand; 63 int op2 = currentInstruction[2].u.operand; 64 64 unsigned target = currentInstruction[3].u.operand; 65 65 … … 69 69 void JIT::emit_op_jgreater(Instruction* currentInstruction) 70 70 { 71 unsignedop1 = currentInstruction[1].u.operand;72 unsignedop2 = currentInstruction[2].u.operand;71 int op1 = currentInstruction[1].u.operand; 72 int op2 = currentInstruction[2].u.operand; 73 73 unsigned target = currentInstruction[3].u.operand; 74 74 … … 78 78 void JIT::emit_op_jgreatereq(Instruction* currentInstruction) 79 79 { 80 unsignedop1 = currentInstruction[1].u.operand;81 unsignedop2 = currentInstruction[2].u.operand;80 int op1 = currentInstruction[1].u.operand; 81 int op2 = currentInstruction[2].u.operand; 82 82 unsigned target = currentInstruction[3].u.operand; 83 83 … … 87 87 void JIT::emit_op_jnless(Instruction* currentInstruction) 88 88 { 89 unsignedop1 = currentInstruction[1].u.operand;90 unsignedop2 = currentInstruction[2].u.operand;89 int op1 = currentInstruction[1].u.operand; 90 int op2 = currentInstruction[2].u.operand; 91 91 unsigned target = currentInstruction[3].u.operand; 92 92 … … 96 96 void JIT::emit_op_jnlesseq(Instruction* currentInstruction) 97 97 { 98 unsignedop1 = currentInstruction[1].u.operand;99 unsignedop2 = currentInstruction[2].u.operand;98 int op1 = currentInstruction[1].u.operand; 99 int op2 = currentInstruction[2].u.operand; 100 100 unsigned target = currentInstruction[3].u.operand; 101 101 … … 105 105 void JIT::emit_op_jngreater(Instruction* currentInstruction) 106 106 { 107 unsignedop1 = currentInstruction[1].u.operand;108 unsignedop2 = currentInstruction[2].u.operand;107 int op1 = currentInstruction[1].u.operand; 108 int op2 = currentInstruction[2].u.operand; 109 109 unsigned target = currentInstruction[3].u.operand; 110 110 … … 114 114 void JIT::emit_op_jngreatereq(Instruction* currentInstruction) 115 115 { 116 unsignedop1 = currentInstruction[1].u.operand;117 unsignedop2 = currentInstruction[2].u.operand;116 int op1 = currentInstruction[1].u.operand; 117 int op2 = currentInstruction[2].u.operand; 118 118 unsigned target = currentInstruction[3].u.operand; 119 119 … … 123 123 void JIT::emitSlow_op_jless(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 124 124 { 125 unsignedop1 = currentInstruction[1].u.operand;126 unsignedop2 = currentInstruction[2].u.operand;125 int op1 = currentInstruction[1].u.operand; 126 int op2 = currentInstruction[2].u.operand; 127 127 unsigned target = currentInstruction[3].u.operand; 128 128 … … 132 132 void JIT::emitSlow_op_jlesseq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 133 133 { 134 unsignedop1 = currentInstruction[1].u.operand;135 unsignedop2 = currentInstruction[2].u.operand;134 int op1 = currentInstruction[1].u.operand; 135 int op2 = currentInstruction[2].u.operand; 136 136 unsigned target = currentInstruction[3].u.operand; 137 137 … … 141 141 void JIT::emitSlow_op_jgreater(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 142 142 { 143 unsignedop1 = currentInstruction[1].u.operand;144 unsignedop2 = currentInstruction[2].u.operand;143 int op1 = currentInstruction[1].u.operand; 144 int op2 = currentInstruction[2].u.operand; 145 145 unsigned target = currentInstruction[3].u.operand; 146 146 … … 150 150 void JIT::emitSlow_op_jgreatereq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 151 151 { 152 unsignedop1 = currentInstruction[1].u.operand;153 unsignedop2 = currentInstruction[2].u.operand;152 int op1 = currentInstruction[1].u.operand; 153 int op2 = currentInstruction[2].u.operand; 154 154 unsigned target = currentInstruction[3].u.operand; 155 155 … … 159 159 void JIT::emitSlow_op_jnless(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 160 160 { 161 unsignedop1 = currentInstruction[1].u.operand;162 unsignedop2 = currentInstruction[2].u.operand;161 int op1 = currentInstruction[1].u.operand; 162 int op2 = currentInstruction[2].u.operand; 163 163 unsigned target = currentInstruction[3].u.operand; 164 164 … … 168 168 void JIT::emitSlow_op_jnlesseq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 169 169 { 170 unsignedop1 = currentInstruction[1].u.operand;171 unsignedop2 = currentInstruction[2].u.operand;170 int op1 = currentInstruction[1].u.operand; 171 int op2 = currentInstruction[2].u.operand; 172 172 unsigned target = currentInstruction[3].u.operand; 173 173 … … 177 177 void JIT::emitSlow_op_jngreater(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 178 178 { 179 unsignedop1 = currentInstruction[1].u.operand;180 unsignedop2 = currentInstruction[2].u.operand;179 int op1 = currentInstruction[1].u.operand; 180 int op2 = currentInstruction[2].u.operand; 181 181 unsigned target = currentInstruction[3].u.operand; 182 182 … … 186 186 void JIT::emitSlow_op_jngreatereq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 187 187 { 188 unsignedop1 = currentInstruction[1].u.operand;189 unsignedop2 = currentInstruction[2].u.operand;188 int op1 = currentInstruction[1].u.operand; 189 int op2 = currentInstruction[2].u.operand; 190 190 unsigned target = currentInstruction[3].u.operand; 191 191 … … 197 197 void JIT::emit_op_negate(Instruction* currentInstruction) 198 198 { 199 unsigneddst = currentInstruction[1].u.operand;200 unsignedsrc = currentInstruction[2].u.operand;199 int dst = currentInstruction[1].u.operand; 200 int src = currentInstruction[2].u.operand; 201 201 202 202 emitGetVirtualRegister(src, regT0); … … 221 221 void JIT::emitSlow_op_negate(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 222 222 { 223 unsignedresult = currentInstruction[1].u.operand;223 int result = currentInstruction[1].u.operand; 224 224 225 225 linkSlowCase(iter); // 0x7fffffff check … … 233 233 void JIT::emit_op_lshift(Instruction* currentInstruction) 234 234 { 235 unsignedresult = currentInstruction[1].u.operand;236 unsignedop1 = currentInstruction[2].u.operand;237 unsignedop2 = currentInstruction[3].u.operand;235 int result = currentInstruction[1].u.operand; 236 int op1 = currentInstruction[2].u.operand; 237 int op2 = currentInstruction[3].u.operand; 238 238 239 239 emitGetVirtualRegisters(op1, regT0, op2, regT2); … … 250 250 void JIT::emitSlow_op_lshift(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 251 251 { 252 unsignedresult = currentInstruction[1].u.operand;252 int result = currentInstruction[1].u.operand; 253 253 254 254 linkSlowCase(iter); … … 261 261 void JIT::emit_op_rshift(Instruction* currentInstruction) 262 262 { 263 unsignedresult = currentInstruction[1].u.operand;264 unsignedop1 = currentInstruction[2].u.operand;265 unsignedop2 = currentInstruction[3].u.operand;263 int result = currentInstruction[1].u.operand; 264 int op1 = currentInstruction[2].u.operand; 265 int op2 = currentInstruction[3].u.operand; 266 266 267 267 if (isOperandConstantImmediateInt(op2)) { … … 296 296 void JIT::emitSlow_op_rshift(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 297 297 { 298 unsignedresult = currentInstruction[1].u.operand;299 unsignedop1 = currentInstruction[2].u.operand;300 unsignedop2 = currentInstruction[3].u.operand;298 int result = currentInstruction[1].u.operand; 299 int op1 = currentInstruction[2].u.operand; 300 int op2 = currentInstruction[3].u.operand; 301 301 302 302 UNUSED_PARAM(op1); … … 323 323 void JIT::emit_op_urshift(Instruction* currentInstruction) 324 324 { 325 unsigneddst = currentInstruction[1].u.operand;326 unsignedop1 = currentInstruction[2].u.operand;327 unsignedop2 = currentInstruction[3].u.operand;325 int dst = currentInstruction[1].u.operand; 326 int op1 = currentInstruction[2].u.operand; 327 int op2 = currentInstruction[3].u.operand; 328 328 329 329 // Slow case of urshift makes assumptions about what registers hold the … … 359 359 void JIT::emitSlow_op_urshift(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 360 360 { 361 unsigneddst = currentInstruction[1].u.operand;362 unsignedop1 = currentInstruction[2].u.operand;363 unsignedop2 = currentInstruction[3].u.operand;361 int dst = currentInstruction[1].u.operand; 362 int op1 = currentInstruction[2].u.operand; 363 int op2 = currentInstruction[3].u.operand; 364 364 if (isOperandConstantImmediateInt(op2)) { 365 365 int shift = getConstantOperand(op2).asInt32(); … … 414 414 } 415 415 416 void JIT::emit_compareAndJump(OpcodeID, unsigned op1, unsignedop2, unsigned target, RelationalCondition condition)416 void JIT::emit_compareAndJump(OpcodeID, int op1, int op2, unsigned target, RelationalCondition condition) 417 417 { 418 418 // We generate inline code for the following cases in the fast path: … … 458 458 } 459 459 460 void JIT::emit_compareAndJumpSlow( unsigned op1, unsignedop2, unsigned target, DoubleCondition condition, int (JIT_STUB *stub)(STUB_ARGS_DECLARATION), bool invert, Vector<SlowCaseEntry>::iterator& iter)460 void JIT::emit_compareAndJumpSlow(int op1, int op2, unsigned target, DoubleCondition condition, int (JIT_STUB *stub)(STUB_ARGS_DECLARATION), bool invert, Vector<SlowCaseEntry>::iterator& iter) 461 461 { 462 462 COMPILE_ASSERT(OPCODE_LENGTH(op_jless) == OPCODE_LENGTH(op_jlesseq), OPCODE_LENGTH_op_jlesseq_equals_op_jless); … … 568 568 void JIT::emit_op_bitand(Instruction* currentInstruction) 569 569 { 570 unsignedresult = currentInstruction[1].u.operand;571 unsignedop1 = currentInstruction[2].u.operand;572 unsignedop2 = currentInstruction[3].u.operand;570 int result = currentInstruction[1].u.operand; 571 int op1 = currentInstruction[2].u.operand; 572 int op2 = currentInstruction[3].u.operand; 573 573 574 574 if (isOperandConstantImmediateInt(op1)) { … … 596 596 void JIT::emitSlow_op_bitand(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 597 597 { 598 unsignedresult = currentInstruction[1].u.operand;598 int result = currentInstruction[1].u.operand; 599 599 600 600 linkSlowCase(iter); … … 607 607 void JIT::emit_op_inc(Instruction* currentInstruction) 608 608 { 609 unsignedsrcDst = currentInstruction[1].u.operand;609 int srcDst = currentInstruction[1].u.operand; 610 610 611 611 emitGetVirtualRegister(srcDst, regT0); … … 618 618 void JIT::emitSlow_op_inc(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 619 619 { 620 unsignedsrcDst = currentInstruction[1].u.operand;620 int srcDst = currentInstruction[1].u.operand; 621 621 622 622 linkSlowCase(iter); … … 629 629 void JIT::emit_op_dec(Instruction* currentInstruction) 630 630 { 631 unsignedsrcDst = currentInstruction[1].u.operand;631 int srcDst = currentInstruction[1].u.operand; 632 632 633 633 emitGetVirtualRegister(srcDst, regT0); … … 640 640 void JIT::emitSlow_op_dec(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 641 641 { 642 unsignedsrcDst = currentInstruction[1].u.operand;642 int srcDst = currentInstruction[1].u.operand; 643 643 644 644 linkSlowCase(iter); … … 655 655 void JIT::emit_op_mod(Instruction* currentInstruction) 656 656 { 657 unsignedresult = currentInstruction[1].u.operand;658 unsignedop1 = currentInstruction[2].u.operand;659 unsignedop2 = currentInstruction[3].u.operand;657 int result = currentInstruction[1].u.operand; 658 int op1 = currentInstruction[2].u.operand; 659 int op2 = currentInstruction[3].u.operand; 660 660 661 661 // Make sure registers are correct for x86 IDIV instructions. … … 684 684 void JIT::emitSlow_op_mod(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 685 685 { 686 unsignedresult = currentInstruction[1].u.operand;686 int result = currentInstruction[1].u.operand; 687 687 688 688 linkSlowCase(iter); … … 700 700 void JIT::emit_op_mod(Instruction* currentInstruction) 701 701 { 702 unsignedresult = currentInstruction[1].u.operand;703 unsignedop1 = currentInstruction[2].u.operand;704 unsignedop2 = currentInstruction[3].u.operand;702 int result = currentInstruction[1].u.operand; 703 int op1 = currentInstruction[2].u.operand; 704 int op2 = currentInstruction[3].u.operand; 705 705 706 706 UNUSED_PARAM(op1); … … 723 723 /* ------------------------------ BEGIN: USE(JSVALUE64) (OP_ADD, OP_SUB, OP_MUL) ------------------------------ */ 724 724 725 void JIT::compileBinaryArithOp(OpcodeID opcodeID, unsigned, unsigned op1, unsignedop2, OperandTypes)725 void JIT::compileBinaryArithOp(OpcodeID opcodeID, int, int op1, int op2, OperandTypes) 726 726 { 727 727 emitGetVirtualRegisters(op1, regT0, op2, regT1); … … 769 769 } 770 770 771 void JIT::compileBinaryArithOpSlowCase(Instruction* currentInstruction, OpcodeID opcodeID, Vector<SlowCaseEntry>::iterator& iter, unsigned result, unsigned op1, unsignedop2, OperandTypes types, bool op1HasImmediateIntFastCase, bool op2HasImmediateIntFastCase)771 void JIT::compileBinaryArithOpSlowCase(Instruction* currentInstruction, OpcodeID opcodeID, Vector<SlowCaseEntry>::iterator& iter, int result, int op1, int op2, OperandTypes types, bool op1HasImmediateIntFastCase, bool op2HasImmediateIntFastCase) 772 772 { 773 773 // We assume that subtracting TagTypeNumber is equivalent to adding DoubleEncodeOffset. … … 855 855 void JIT::emit_op_add(Instruction* currentInstruction) 856 856 { 857 unsignedresult = currentInstruction[1].u.operand;858 unsignedop1 = currentInstruction[2].u.operand;859 unsignedop2 = currentInstruction[3].u.operand;857 int result = currentInstruction[1].u.operand; 858 int op1 = currentInstruction[2].u.operand; 859 int op2 = currentInstruction[3].u.operand; 860 860 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 861 861 … … 885 885 void JIT::emitSlow_op_add(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 886 886 { 887 unsignedresult = currentInstruction[1].u.operand;888 unsignedop1 = currentInstruction[2].u.operand;889 unsignedop2 = currentInstruction[3].u.operand;887 int result = currentInstruction[1].u.operand; 888 int op1 = currentInstruction[2].u.operand; 889 int op2 = currentInstruction[3].u.operand; 890 890 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 891 891 … … 902 902 void JIT::emit_op_mul(Instruction* currentInstruction) 903 903 { 904 unsignedresult = currentInstruction[1].u.operand;905 unsignedop1 = currentInstruction[2].u.operand;906 unsignedop2 = currentInstruction[3].u.operand;904 int result = currentInstruction[1].u.operand; 905 int op1 = currentInstruction[2].u.operand; 906 int op2 = currentInstruction[3].u.operand; 907 907 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 908 908 … … 935 935 void JIT::emitSlow_op_mul(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 936 936 { 937 unsignedresult = currentInstruction[1].u.operand;938 unsignedop1 = currentInstruction[2].u.operand;939 unsignedop2 = currentInstruction[3].u.operand;937 int result = currentInstruction[1].u.operand; 938 int op1 = currentInstruction[2].u.operand; 939 int op2 = currentInstruction[3].u.operand; 940 940 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 941 941 … … 947 947 void JIT::emit_op_div(Instruction* currentInstruction) 948 948 { 949 unsigneddst = currentInstruction[1].u.operand;950 unsignedop1 = currentInstruction[2].u.operand;951 unsignedop2 = currentInstruction[3].u.operand;949 int dst = currentInstruction[1].u.operand; 950 int op1 = currentInstruction[2].u.operand; 951 int op2 = currentInstruction[3].u.operand; 952 952 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 953 953 … … 1029 1029 void JIT::emitSlow_op_div(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1030 1030 { 1031 unsignedresult = currentInstruction[1].u.operand;1032 unsignedop1 = currentInstruction[2].u.operand;1033 unsignedop2 = currentInstruction[3].u.operand;1031 int result = currentInstruction[1].u.operand; 1032 int op1 = currentInstruction[2].u.operand; 1033 int op2 = currentInstruction[3].u.operand; 1034 1034 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 1035 1035 if (types.first().definitelyIsNumber() && types.second().definitelyIsNumber()) { … … 1055 1055 void JIT::emit_op_sub(Instruction* currentInstruction) 1056 1056 { 1057 unsignedresult = currentInstruction[1].u.operand;1058 unsignedop1 = currentInstruction[2].u.operand;1059 unsignedop2 = currentInstruction[3].u.operand;1057 int result = currentInstruction[1].u.operand; 1058 int op1 = currentInstruction[2].u.operand; 1059 int op2 = currentInstruction[3].u.operand; 1060 1060 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 1061 1061 … … 1066 1066 void JIT::emitSlow_op_sub(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1067 1067 { 1068 unsignedresult = currentInstruction[1].u.operand;1069 unsignedop1 = currentInstruction[2].u.operand;1070 unsignedop2 = currentInstruction[3].u.operand;1068 int result = currentInstruction[1].u.operand; 1069 int op1 = currentInstruction[2].u.operand; 1070 int op2 = currentInstruction[3].u.operand; 1071 1071 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 1072 1072 -
trunk/Source/JavaScriptCore/jit/JITArithmetic32_64.cpp
r153231 r155418 52 52 void JIT::emit_op_negate(Instruction* currentInstruction) 53 53 { 54 unsigneddst = currentInstruction[1].u.operand;55 unsignedsrc = currentInstruction[2].u.operand;54 int dst = currentInstruction[1].u.operand; 55 int src = currentInstruction[2].u.operand; 56 56 57 57 emitLoad(src, regT1, regT0); … … 77 77 void JIT::emitSlow_op_negate(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 78 78 { 79 unsigneddst = currentInstruction[1].u.operand;79 int dst = currentInstruction[1].u.operand; 80 80 81 81 linkSlowCase(iter); // 0x7fffffff check … … 87 87 } 88 88 89 void JIT::emit_compareAndJump(OpcodeID opcode, unsigned op1, unsignedop2, unsigned target, RelationalCondition condition)89 void JIT::emit_compareAndJump(OpcodeID opcode, int op1, int op2, unsigned target, RelationalCondition condition) 90 90 { 91 91 JumpList notInt32Op1; … … 138 138 } 139 139 140 void JIT::emit_compareAndJumpSlow( unsigned op1, unsignedop2, unsigned target, DoubleCondition, int (JIT_STUB *stub)(STUB_ARGS_DECLARATION), bool invert, Vector<SlowCaseEntry>::iterator& iter)140 void JIT::emit_compareAndJumpSlow(int op1, int op2, unsigned target, DoubleCondition, int (JIT_STUB *stub)(STUB_ARGS_DECLARATION), bool invert, Vector<SlowCaseEntry>::iterator& iter) 141 141 { 142 142 if (isOperandConstantImmediateChar(op1) || isOperandConstantImmediateChar(op2)) { … … 170 170 void JIT::emit_op_lshift(Instruction* currentInstruction) 171 171 { 172 unsigneddst = currentInstruction[1].u.operand;173 unsignedop1 = currentInstruction[2].u.operand;174 unsignedop2 = currentInstruction[3].u.operand;172 int dst = currentInstruction[1].u.operand; 173 int op1 = currentInstruction[2].u.operand; 174 int op2 = currentInstruction[3].u.operand; 175 175 176 176 if (isOperandConstantImmediateInt(op2)) { … … 192 192 void JIT::emitSlow_op_lshift(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 193 193 { 194 unsigneddst = currentInstruction[1].u.operand;195 unsignedop1 = currentInstruction[2].u.operand;196 unsignedop2 = currentInstruction[3].u.operand;194 int dst = currentInstruction[1].u.operand; 195 int op1 = currentInstruction[2].u.operand; 196 int op2 = currentInstruction[3].u.operand; 197 197 198 198 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2)) … … 209 209 void JIT::emitRightShift(Instruction* currentInstruction, bool isUnsigned) 210 210 { 211 unsigneddst = currentInstruction[1].u.operand;212 unsignedop1 = currentInstruction[2].u.operand;213 unsignedop2 = currentInstruction[3].u.operand;211 int dst = currentInstruction[1].u.operand; 212 int op1 = currentInstruction[2].u.operand; 213 int op2 = currentInstruction[3].u.operand; 214 214 215 215 // Slow case of rshift makes assumptions about what registers hold the … … 243 243 void JIT::emitRightShiftSlowCase(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter, bool isUnsigned) 244 244 { 245 unsigneddst = currentInstruction[1].u.operand;246 unsignedop1 = currentInstruction[2].u.operand;247 unsignedop2 = currentInstruction[3].u.operand;245 int dst = currentInstruction[1].u.operand; 246 int op1 = currentInstruction[2].u.operand; 247 int op2 = currentInstruction[3].u.operand; 248 248 if (isOperandConstantImmediateInt(op2)) { 249 249 int shift = getConstantOperand(op2).asInt32() & 0x1f; … … 330 330 void JIT::emit_op_bitand(Instruction* currentInstruction) 331 331 { 332 unsigneddst = currentInstruction[1].u.operand;333 unsignedop1 = currentInstruction[2].u.operand;334 unsignedop2 = currentInstruction[3].u.operand;335 336 unsignedop;332 int dst = currentInstruction[1].u.operand; 333 int op1 = currentInstruction[2].u.operand; 334 int op2 = currentInstruction[3].u.operand; 335 336 int op; 337 337 int32_t constant; 338 338 if (getOperandConstantImmediateInt(op1, op2, op, constant)) { … … 353 353 void JIT::emitSlow_op_bitand(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 354 354 { 355 unsigneddst = currentInstruction[1].u.operand;356 unsignedop1 = currentInstruction[2].u.operand;357 unsignedop2 = currentInstruction[3].u.operand;355 int dst = currentInstruction[1].u.operand; 356 int op1 = currentInstruction[2].u.operand; 357 int op2 = currentInstruction[3].u.operand; 358 358 359 359 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2)) … … 370 370 void JIT::emit_op_bitor(Instruction* currentInstruction) 371 371 { 372 unsigneddst = currentInstruction[1].u.operand;373 unsignedop1 = currentInstruction[2].u.operand;374 unsignedop2 = currentInstruction[3].u.operand;375 376 unsignedop;372 int dst = currentInstruction[1].u.operand; 373 int op1 = currentInstruction[2].u.operand; 374 int op2 = currentInstruction[3].u.operand; 375 376 int op; 377 377 int32_t constant; 378 378 if (getOperandConstantImmediateInt(op1, op2, op, constant)) { … … 393 393 void JIT::emitSlow_op_bitor(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 394 394 { 395 unsigneddst = currentInstruction[1].u.operand;396 unsignedop1 = currentInstruction[2].u.operand;397 unsignedop2 = currentInstruction[3].u.operand;395 int dst = currentInstruction[1].u.operand; 396 int op1 = currentInstruction[2].u.operand; 397 int op2 = currentInstruction[3].u.operand; 398 398 399 399 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2)) … … 410 410 void JIT::emit_op_bitxor(Instruction* currentInstruction) 411 411 { 412 unsigneddst = currentInstruction[1].u.operand;413 unsignedop1 = currentInstruction[2].u.operand;414 unsignedop2 = currentInstruction[3].u.operand;415 416 unsignedop;412 int dst = currentInstruction[1].u.operand; 413 int op1 = currentInstruction[2].u.operand; 414 int op2 = currentInstruction[3].u.operand; 415 416 int op; 417 417 int32_t constant; 418 418 if (getOperandConstantImmediateInt(op1, op2, op, constant)) { … … 433 433 void JIT::emitSlow_op_bitxor(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 434 434 { 435 unsigneddst = currentInstruction[1].u.operand;436 unsignedop1 = currentInstruction[2].u.operand;437 unsignedop2 = currentInstruction[3].u.operand;435 int dst = currentInstruction[1].u.operand; 436 int op1 = currentInstruction[2].u.operand; 437 int op2 = currentInstruction[3].u.operand; 438 438 439 439 if (!isOperandConstantImmediateInt(op1) && !isOperandConstantImmediateInt(op2)) … … 448 448 void JIT::emit_op_inc(Instruction* currentInstruction) 449 449 { 450 unsignedsrcDst = currentInstruction[1].u.operand;450 int srcDst = currentInstruction[1].u.operand; 451 451 452 452 emitLoad(srcDst, regT1, regT0); … … 459 459 void JIT::emitSlow_op_inc(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 460 460 { 461 unsignedsrcDst = currentInstruction[1].u.operand;461 int srcDst = currentInstruction[1].u.operand; 462 462 463 463 linkSlowCase(iter); // int32 check … … 471 471 void JIT::emit_op_dec(Instruction* currentInstruction) 472 472 { 473 unsignedsrcDst = currentInstruction[1].u.operand;473 int srcDst = currentInstruction[1].u.operand; 474 474 475 475 emitLoad(srcDst, regT1, regT0); … … 482 482 void JIT::emitSlow_op_dec(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 483 483 { 484 unsignedsrcDst = currentInstruction[1].u.operand;484 int srcDst = currentInstruction[1].u.operand; 485 485 486 486 linkSlowCase(iter); // int32 check … … 496 496 void JIT::emit_op_add(Instruction* currentInstruction) 497 497 { 498 unsigneddst = currentInstruction[1].u.operand;499 unsignedop1 = currentInstruction[2].u.operand;500 unsignedop2 = currentInstruction[3].u.operand;498 int dst = currentInstruction[1].u.operand; 499 int op1 = currentInstruction[2].u.operand; 500 int op2 = currentInstruction[3].u.operand; 501 501 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 502 502 … … 511 511 JumpList notInt32Op2; 512 512 513 unsignedop;513 int op; 514 514 int32_t constant; 515 515 if (getOperandConstantImmediateInt(op1, op2, op, constant)) { … … 538 538 } 539 539 540 void JIT::emitAdd32Constant( unsigned dst, unsignedop, int32_t constant, ResultType opType)540 void JIT::emitAdd32Constant(int dst, int op, int32_t constant, ResultType opType) 541 541 { 542 542 // Int32 case. … … 567 567 void JIT::emitSlow_op_add(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 568 568 { 569 unsigneddst = currentInstruction[1].u.operand;570 unsignedop1 = currentInstruction[2].u.operand;571 unsignedop2 = currentInstruction[3].u.operand;569 int dst = currentInstruction[1].u.operand; 570 int op1 = currentInstruction[2].u.operand; 571 int op2 = currentInstruction[3].u.operand; 572 572 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 573 573 … … 577 577 } 578 578 579 unsignedop;579 int op; 580 580 int32_t constant; 581 581 if (getOperandConstantImmediateInt(op1, op2, op, constant)) { … … 615 615 void JIT::emit_op_sub(Instruction* currentInstruction) 616 616 { 617 unsigneddst = currentInstruction[1].u.operand;618 unsignedop1 = currentInstruction[2].u.operand;619 unsignedop2 = currentInstruction[3].u.operand;617 int dst = currentInstruction[1].u.operand; 618 int op1 = currentInstruction[2].u.operand; 619 int op2 = currentInstruction[3].u.operand; 620 620 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 621 621 … … 648 648 } 649 649 650 void JIT::emitSub32Constant( unsigned dst, unsignedop, int32_t constant, ResultType opType)650 void JIT::emitSub32Constant(int dst, int op, int32_t constant, ResultType opType) 651 651 { 652 652 // Int32 case. … … 682 682 void JIT::emitSlow_op_sub(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 683 683 { 684 unsigneddst = currentInstruction[1].u.operand;685 unsignedop2 = currentInstruction[3].u.operand;684 int dst = currentInstruction[1].u.operand; 685 int op2 = currentInstruction[3].u.operand; 686 686 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 687 687 … … 713 713 } 714 714 715 void JIT::emitBinaryDoubleOp(OpcodeID opcodeID, unsigned dst, unsigned op1, unsignedop2, OperandTypes types, JumpList& notInt32Op1, JumpList& notInt32Op2, bool op1IsInRegisters, bool op2IsInRegisters)715 void JIT::emitBinaryDoubleOp(OpcodeID opcodeID, int dst, int op1, int op2, OperandTypes types, JumpList& notInt32Op1, JumpList& notInt32Op2, bool op1IsInRegisters, bool op2IsInRegisters) 716 716 { 717 717 JumpList end; … … 941 941 void JIT::emit_op_mul(Instruction* currentInstruction) 942 942 { 943 unsigneddst = currentInstruction[1].u.operand;944 unsignedop1 = currentInstruction[2].u.operand;945 unsignedop2 = currentInstruction[3].u.operand;943 int dst = currentInstruction[1].u.operand; 944 int op1 = currentInstruction[2].u.operand; 945 int op2 = currentInstruction[3].u.operand; 946 946 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 947 947 … … 977 977 void JIT::emitSlow_op_mul(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 978 978 { 979 unsigneddst = currentInstruction[1].u.operand;980 unsignedop1 = currentInstruction[2].u.operand;981 unsignedop2 = currentInstruction[3].u.operand;979 int dst = currentInstruction[1].u.operand; 980 int op1 = currentInstruction[2].u.operand; 981 int op2 = currentInstruction[3].u.operand; 982 982 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 983 983 … … 1023 1023 void JIT::emit_op_div(Instruction* currentInstruction) 1024 1024 { 1025 unsigneddst = currentInstruction[1].u.operand;1026 unsignedop1 = currentInstruction[2].u.operand;1027 unsignedop2 = currentInstruction[3].u.operand;1025 int dst = currentInstruction[1].u.operand; 1026 int op1 = currentInstruction[2].u.operand; 1027 int op2 = currentInstruction[3].u.operand; 1028 1028 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); 1029 1029 … … 1086 1086 void JIT::emitSlow_op_div(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1087 1087 { 1088 unsigneddst = currentInstruction[1].u.operand;1088 int dst = currentInstruction[1].u.operand; 1089 1089 1090 1090 OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); … … 1114 1114 { 1115 1115 #if CPU(X86) || CPU(X86_64) 1116 unsigneddst = currentInstruction[1].u.operand;1117 unsignedop1 = currentInstruction[2].u.operand;1118 unsignedop2 = currentInstruction[3].u.operand;1116 int dst = currentInstruction[1].u.operand; 1117 int op1 = currentInstruction[2].u.operand; 1118 int op2 = currentInstruction[3].u.operand; 1119 1119 1120 1120 // Make sure registers are correct for x86 IDIV instructions. -
trunk/Source/JavaScriptCore/jit/JITInlines.h
r155415 r155418 34 34 namespace JSC { 35 35 36 ALWAYS_INLINE bool JIT::isOperandConstantImmediateDouble( unsignedsrc)36 ALWAYS_INLINE bool JIT::isOperandConstantImmediateDouble(int src) 37 37 { 38 38 return m_codeBlock->isConstantRegisterIndex(src) && getConstantOperand(src).isDouble(); 39 39 } 40 40 41 ALWAYS_INLINE JSValue JIT::getConstantOperand( unsignedsrc)41 ALWAYS_INLINE JSValue JIT::getConstantOperand(int src) 42 42 { 43 43 ASSERT(m_codeBlock->isConstantRegisterIndex(src)); … … 313 313 #endif 314 314 315 ALWAYS_INLINE bool JIT::isOperandConstantImmediateChar( unsignedsrc)315 ALWAYS_INLINE bool JIT::isOperandConstantImmediateChar(int src) 316 316 { 317 317 return m_codeBlock->isConstantRegisterIndex(src) && getConstantOperand(src).isString() && asString(getConstantOperand(src).asCell())->length() == 1; … … 606 606 } 607 607 608 ALWAYS_INLINE void JIT::emitInitRegister( unsigneddst)608 ALWAYS_INLINE void JIT::emitInitRegister(int dst) 609 609 { 610 610 emitStore(dst, jsUndefined()); … … 706 706 } 707 707 708 ALWAYS_INLINE bool JIT::isOperandConstantImmediateInt( unsignedsrc)708 ALWAYS_INLINE bool JIT::isOperandConstantImmediateInt(int src) 709 709 { 710 710 return m_codeBlock->isConstantRegisterIndex(src) && getConstantOperand(src).isInt32(); 711 711 } 712 712 713 ALWAYS_INLINE bool JIT::getOperandConstantImmediateInt( unsigned op1, unsigned op2, unsigned& op, int32_t& constant)713 ALWAYS_INLINE bool JIT::getOperandConstantImmediateInt(int op1, int op2, int& op, int32_t& constant) 714 714 { 715 715 if (isOperandConstantImmediateInt(op1)) { … … 732 732 /* Deprecated: Please use JITStubCall instead. */ 733 733 734 ALWAYS_INLINE void JIT::emitGetJITStubArg( unsignedargumentNumber, RegisterID dst)735 { 736 unsignedargumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX;734 ALWAYS_INLINE void JIT::emitGetJITStubArg(int argumentNumber, RegisterID dst) 735 { 736 int argumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX; 737 737 peek64(dst, argumentStackOffset); 738 738 } … … 782 782 } 783 783 784 ALWAYS_INLINE int32_t JIT::getConstantOperandImmediateInt( unsignedsrc)784 ALWAYS_INLINE int32_t JIT::getConstantOperandImmediateInt(int src) 785 785 { 786 786 return getConstantOperand(src).asInt32(); 787 787 } 788 788 789 ALWAYS_INLINE bool JIT::isOperandConstantImmediateInt( unsignedsrc)789 ALWAYS_INLINE bool JIT::isOperandConstantImmediateInt(int src) 790 790 { 791 791 return m_codeBlock->isConstantRegisterIndex(src) && getConstantOperand(src).isInt32(); 792 792 } 793 793 794 ALWAYS_INLINE void JIT::emitPutVirtualRegister( unsigneddst, RegisterID from)794 ALWAYS_INLINE void JIT::emitPutVirtualRegister(int dst, RegisterID from) 795 795 { 796 796 store64(from, Address(callFrameRegister, dst * sizeof(Register))); 797 m_lastResultBytecodeRegister = (from == cachedResultRegister) ? static_cast<int>(dst): std::numeric_limits<int>::max();798 } 799 800 ALWAYS_INLINE void JIT::emitInitRegister( unsigneddst)797 m_lastResultBytecodeRegister = (from == cachedResultRegister) ? dst : std::numeric_limits<int>::max(); 798 } 799 800 ALWAYS_INLINE void JIT::emitInitRegister(int dst) 801 801 { 802 802 store64(TrustedImm64(JSValue::encode(jsUndefined())), Address(callFrameRegister, dst * sizeof(Register))); -
trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp
r155415 r155418 120 120 void JIT::emit_op_check_has_instance(Instruction* currentInstruction) 121 121 { 122 unsignedbaseVal = currentInstruction[3].u.operand;122 int baseVal = currentInstruction[3].u.operand; 123 123 124 124 emitGetVirtualRegister(baseVal, regT0); … … 134 134 void JIT::emit_op_instanceof(Instruction* currentInstruction) 135 135 { 136 unsigneddst = currentInstruction[1].u.operand;137 unsignedvalue = currentInstruction[2].u.operand;138 unsignedproto = currentInstruction[3].u.operand;136 int dst = currentInstruction[1].u.operand; 137 int value = currentInstruction[2].u.operand; 138 int proto = currentInstruction[3].u.operand; 139 139 140 140 // Load the operands (baseVal, proto, and value respectively) into registers. … … 174 174 void JIT::emit_op_is_undefined(Instruction* currentInstruction) 175 175 { 176 unsigneddst = currentInstruction[1].u.operand;177 unsignedvalue = currentInstruction[2].u.operand;176 int dst = currentInstruction[1].u.operand; 177 int value = currentInstruction[2].u.operand; 178 178 179 179 emitGetVirtualRegister(value, regT0); … … 202 202 void JIT::emit_op_is_boolean(Instruction* currentInstruction) 203 203 { 204 unsigneddst = currentInstruction[1].u.operand;205 unsignedvalue = currentInstruction[2].u.operand;204 int dst = currentInstruction[1].u.operand; 205 int value = currentInstruction[2].u.operand; 206 206 207 207 emitGetVirtualRegister(value, regT0); … … 214 214 void JIT::emit_op_is_number(Instruction* currentInstruction) 215 215 { 216 unsigneddst = currentInstruction[1].u.operand;217 unsignedvalue = currentInstruction[2].u.operand;216 int dst = currentInstruction[1].u.operand; 217 int value = currentInstruction[2].u.operand; 218 218 219 219 emitGetVirtualRegister(value, regT0); … … 225 225 void JIT::emit_op_is_string(Instruction* currentInstruction) 226 226 { 227 unsigneddst = currentInstruction[1].u.operand;228 unsignedvalue = currentInstruction[2].u.operand;227 int dst = currentInstruction[1].u.operand; 228 int value = currentInstruction[2].u.operand; 229 229 230 230 emitGetVirtualRegister(value, regT0); … … 377 377 void JIT::emit_op_jeq_null(Instruction* currentInstruction) 378 378 { 379 unsignedsrc = currentInstruction[1].u.operand;379 int src = currentInstruction[1].u.operand; 380 380 unsigned target = currentInstruction[2].u.operand; 381 381 … … 400 400 void JIT::emit_op_jneq_null(Instruction* currentInstruction) 401 401 { 402 unsignedsrc = currentInstruction[1].u.operand;402 int src = currentInstruction[1].u.operand; 403 403 unsigned target = currentInstruction[2].u.operand; 404 404 … … 423 423 void JIT::emit_op_jneq_ptr(Instruction* currentInstruction) 424 424 { 425 unsignedsrc = currentInstruction[1].u.operand;425 int src = currentInstruction[1].u.operand; 426 426 Special::Pointer ptr = currentInstruction[2].u.specialPointer; 427 427 unsigned target = currentInstruction[3].u.operand; … … 618 618 void JIT::compileOpStrictEq(Instruction* currentInstruction, CompileOpStrictEqType type) 619 619 { 620 unsigneddst = currentInstruction[1].u.operand;621 unsignedsrc1 = currentInstruction[2].u.operand;622 unsignedsrc2 = currentInstruction[3].u.operand;620 int dst = currentInstruction[1].u.operand; 621 int src1 = currentInstruction[2].u.operand; 622 int src2 = currentInstruction[3].u.operand; 623 623 624 624 emitGetVirtualRegisters(src1, regT0, src2, regT1); … … 767 767 void JIT::emit_op_eq_null(Instruction* currentInstruction) 768 768 { 769 unsigneddst = currentInstruction[1].u.operand;770 unsignedsrc1 = currentInstruction[2].u.operand;769 int dst = currentInstruction[1].u.operand; 770 int src1 = currentInstruction[2].u.operand; 771 771 772 772 emitGetVirtualRegister(src1, regT0); … … 799 799 void JIT::emit_op_neq_null(Instruction* currentInstruction) 800 800 { 801 unsigneddst = currentInstruction[1].u.operand;802 unsignedsrc1 = currentInstruction[2].u.operand;801 int dst = currentInstruction[1].u.operand; 802 int src1 = currentInstruction[2].u.operand; 803 803 804 804 emitGetVirtualRegister(src1, regT0); … … 842 842 void JIT::emit_op_create_activation(Instruction* currentInstruction) 843 843 { 844 unsigneddst = currentInstruction[1].u.operand;844 int dst = currentInstruction[1].u.operand; 845 845 846 846 Jump activationCreated = branchTest64(NonZero, Address(callFrameRegister, sizeof(Register) * dst)); … … 852 852 void JIT::emit_op_create_arguments(Instruction* currentInstruction) 853 853 { 854 unsigneddst = currentInstruction[1].u.operand;854 int dst = currentInstruction[1].u.operand; 855 855 856 856 Jump argsCreated = branchTest64(NonZero, Address(callFrameRegister, sizeof(Register) * dst)); … … 863 863 void JIT::emit_op_init_lazy_reg(Instruction* currentInstruction) 864 864 { 865 unsigneddst = currentInstruction[1].u.operand;865 int dst = currentInstruction[1].u.operand; 866 866 867 867 store64(TrustedImm64((int64_t)0), Address(callFrameRegister, sizeof(Register) * dst)); … … 882 882 void JIT::emit_op_get_callee(Instruction* currentInstruction) 883 883 { 884 unsignedresult = currentInstruction[1].u.operand;884 int result = currentInstruction[1].u.operand; 885 885 emitGetFromCallFrameHeaderPtr(JSStack::Callee, regT0); 886 886 emitValueProfilingSite(regT4); … … 1040 1040 void JIT::emitSlow_op_check_has_instance(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1041 1041 { 1042 unsigneddst = currentInstruction[1].u.operand;1043 unsignedvalue = currentInstruction[2].u.operand;1044 unsignedbaseVal = currentInstruction[3].u.operand;1042 int dst = currentInstruction[1].u.operand; 1043 int value = currentInstruction[2].u.operand; 1044 int baseVal = currentInstruction[3].u.operand; 1045 1045 1046 1046 linkSlowCaseIfNotJSCell(iter, baseVal); … … 1056 1056 void JIT::emitSlow_op_instanceof(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1057 1057 { 1058 unsigneddst = currentInstruction[1].u.operand;1059 unsignedvalue = currentInstruction[2].u.operand;1060 unsignedproto = currentInstruction[3].u.operand;1058 int dst = currentInstruction[1].u.operand; 1059 int value = currentInstruction[2].u.operand; 1060 int proto = currentInstruction[3].u.operand; 1061 1061 1062 1062 linkSlowCaseIfNotJSCell(iter, value); … … 1092 1092 { 1093 1093 linkSlowCase(iter); 1094 unsigneddst = currentInstruction[1].u.operand;1095 unsignedbase = currentInstruction[2].u.operand;1094 int dst = currentInstruction[1].u.operand; 1095 int base = currentInstruction[2].u.operand; 1096 1096 const Identifier* ident = &(m_codeBlock->identifier(currentInstruction[3].u.operand)); 1097 1097 … … 1125 1125 void JIT::emitSlow_op_get_argument_by_val(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1126 1126 { 1127 unsigneddst = currentInstruction[1].u.operand;1128 unsignedarguments = currentInstruction[2].u.operand;1129 unsignedproperty = currentInstruction[3].u.operand;1127 int dst = currentInstruction[1].u.operand; 1128 int arguments = currentInstruction[2].u.operand; 1129 int property = currentInstruction[3].u.operand; 1130 1130 1131 1131 linkSlowCase(iter); -
trunk/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
r155415 r155418 183 183 void JIT::emit_op_mov(Instruction* currentInstruction) 184 184 { 185 unsigneddst = currentInstruction[1].u.operand;186 unsignedsrc = currentInstruction[2].u.operand;185 int dst = currentInstruction[1].u.operand; 186 int src = currentInstruction[2].u.operand; 187 187 188 188 if (m_codeBlock->isConstantRegisterIndex(src)) … … 234 234 void JIT::emit_op_check_has_instance(Instruction* currentInstruction) 235 235 { 236 unsignedbaseVal = currentInstruction[3].u.operand;236 int baseVal = currentInstruction[3].u.operand; 237 237 238 238 emitLoadPayload(baseVal, regT0); … … 248 248 void JIT::emit_op_instanceof(Instruction* currentInstruction) 249 249 { 250 unsigneddst = currentInstruction[1].u.operand;251 unsignedvalue = currentInstruction[2].u.operand;252 unsignedproto = currentInstruction[3].u.operand;250 int dst = currentInstruction[1].u.operand; 251 int value = currentInstruction[2].u.operand; 252 int proto = currentInstruction[3].u.operand; 253 253 254 254 // Load the operands into registers. … … 288 288 void JIT::emitSlow_op_check_has_instance(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 289 289 { 290 unsigneddst = currentInstruction[1].u.operand;291 unsignedvalue = currentInstruction[2].u.operand;292 unsignedbaseVal = currentInstruction[3].u.operand;290 int dst = currentInstruction[1].u.operand; 291 int value = currentInstruction[2].u.operand; 292 int baseVal = currentInstruction[3].u.operand; 293 293 294 294 linkSlowCaseIfNotJSCell(iter, baseVal); … … 305 305 void JIT::emitSlow_op_instanceof(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 306 306 { 307 unsigneddst = currentInstruction[1].u.operand;308 unsignedvalue = currentInstruction[2].u.operand;309 unsignedproto = currentInstruction[3].u.operand;307 int dst = currentInstruction[1].u.operand; 308 int value = currentInstruction[2].u.operand; 309 int proto = currentInstruction[3].u.operand; 310 310 311 311 linkSlowCaseIfNotJSCell(iter, value); … … 321 321 void JIT::emit_op_is_undefined(Instruction* currentInstruction) 322 322 { 323 unsigneddst = currentInstruction[1].u.operand;324 unsignedvalue = currentInstruction[2].u.operand;323 int dst = currentInstruction[1].u.operand; 324 int value = currentInstruction[2].u.operand; 325 325 326 326 emitLoad(value, regT1, regT0); … … 348 348 void JIT::emit_op_is_boolean(Instruction* currentInstruction) 349 349 { 350 unsigneddst = currentInstruction[1].u.operand;351 unsignedvalue = currentInstruction[2].u.operand;350 int dst = currentInstruction[1].u.operand; 351 int value = currentInstruction[2].u.operand; 352 352 353 353 emitLoadTag(value, regT0); … … 358 358 void JIT::emit_op_is_number(Instruction* currentInstruction) 359 359 { 360 unsigneddst = currentInstruction[1].u.operand;361 unsignedvalue = currentInstruction[2].u.operand;360 int dst = currentInstruction[1].u.operand; 361 int value = currentInstruction[2].u.operand; 362 362 363 363 emitLoadTag(value, regT0); … … 369 369 void JIT::emit_op_is_string(Instruction* currentInstruction) 370 370 { 371 unsigneddst = currentInstruction[1].u.operand;372 unsignedvalue = currentInstruction[2].u.operand;371 int dst = currentInstruction[1].u.operand; 372 int value = currentInstruction[2].u.operand; 373 373 374 374 emitLoad(value, regT1, regT0); … … 388 388 void JIT::emit_op_tear_off_activation(Instruction* currentInstruction) 389 389 { 390 unsignedactivation = currentInstruction[1].u.operand;390 int activation = currentInstruction[1].u.operand; 391 391 Jump activationNotCreated = branch32(Equal, tagFor(activation), TrustedImm32(JSValue::EmptyValueTag)); 392 392 JITStubCall stubCall(this, cti_op_tear_off_activation); … … 444 444 void JIT::emit_op_not(Instruction* currentInstruction) 445 445 { 446 unsigneddst = currentInstruction[1].u.operand;447 unsignedsrc = currentInstruction[2].u.operand;446 int dst = currentInstruction[1].u.operand; 447 int src = currentInstruction[2].u.operand; 448 448 449 449 emitLoadTag(src, regT0); … … 458 458 void JIT::emitSlow_op_not(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 459 459 { 460 unsigneddst = currentInstruction[1].u.operand;460 int dst = currentInstruction[1].u.operand; 461 461 462 462 linkSlowCase(iter); … … 469 469 void JIT::emit_op_jfalse(Instruction* currentInstruction) 470 470 { 471 unsignedcond = currentInstruction[1].u.operand;471 int cond = currentInstruction[1].u.operand; 472 472 unsigned target = currentInstruction[2].u.operand; 473 473 … … 481 481 void JIT::emitSlow_op_jfalse(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 482 482 { 483 unsignedcond = currentInstruction[1].u.operand;483 int cond = currentInstruction[1].u.operand; 484 484 unsigned target = currentInstruction[2].u.operand; 485 485 … … 505 505 void JIT::emit_op_jtrue(Instruction* currentInstruction) 506 506 { 507 unsignedcond = currentInstruction[1].u.operand;507 int cond = currentInstruction[1].u.operand; 508 508 unsigned target = currentInstruction[2].u.operand; 509 509 … … 517 517 void JIT::emitSlow_op_jtrue(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 518 518 { 519 unsignedcond = currentInstruction[1].u.operand;519 int cond = currentInstruction[1].u.operand; 520 520 unsigned target = currentInstruction[2].u.operand; 521 521 … … 541 541 void JIT::emit_op_jeq_null(Instruction* currentInstruction) 542 542 { 543 unsignedsrc = currentInstruction[1].u.operand;543 int src = currentInstruction[1].u.operand; 544 544 unsigned target = currentInstruction[2].u.operand; 545 545 … … 567 567 void JIT::emit_op_jneq_null(Instruction* currentInstruction) 568 568 { 569 unsignedsrc = currentInstruction[1].u.operand;569 int src = currentInstruction[1].u.operand; 570 570 unsigned target = currentInstruction[2].u.operand; 571 571 … … 593 593 void JIT::emit_op_jneq_ptr(Instruction* currentInstruction) 594 594 { 595 unsignedsrc = currentInstruction[1].u.operand;595 int src = currentInstruction[1].u.operand; 596 596 Special::Pointer ptr = currentInstruction[2].u.specialPointer; 597 597 unsigned target = currentInstruction[3].u.operand; … … 604 604 void JIT::emit_op_eq(Instruction* currentInstruction) 605 605 { 606 unsigneddst = currentInstruction[1].u.operand;607 unsignedsrc1 = currentInstruction[2].u.operand;608 unsignedsrc2 = currentInstruction[3].u.operand;606 int dst = currentInstruction[1].u.operand; 607 int src1 = currentInstruction[2].u.operand; 608 int src2 = currentInstruction[3].u.operand; 609 609 610 610 emitLoad2(src1, regT1, regT0, src2, regT3, regT2); … … 620 620 void JIT::emitSlow_op_eq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 621 621 { 622 unsigneddst = currentInstruction[1].u.operand;623 unsignedop1 = currentInstruction[2].u.operand;624 unsignedop2 = currentInstruction[3].u.operand;622 int dst = currentInstruction[1].u.operand; 623 int op1 = currentInstruction[2].u.operand; 624 int op2 = currentInstruction[3].u.operand; 625 625 626 626 JumpList storeResult; … … 654 654 void JIT::emit_op_neq(Instruction* currentInstruction) 655 655 { 656 unsigneddst = currentInstruction[1].u.operand;657 unsignedsrc1 = currentInstruction[2].u.operand;658 unsignedsrc2 = currentInstruction[3].u.operand;656 int dst = currentInstruction[1].u.operand; 657 int src1 = currentInstruction[2].u.operand; 658 int src2 = currentInstruction[3].u.operand; 659 659 660 660 emitLoad2(src1, regT1, regT0, src2, regT3, regT2); … … 670 670 void JIT::emitSlow_op_neq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 671 671 { 672 unsigneddst = currentInstruction[1].u.operand;672 int dst = currentInstruction[1].u.operand; 673 673 674 674 JumpList storeResult; … … 703 703 void JIT::compileOpStrictEq(Instruction* currentInstruction, CompileOpStrictEqType type) 704 704 { 705 unsigneddst = currentInstruction[1].u.operand;706 unsignedsrc1 = currentInstruction[2].u.operand;707 unsignedsrc2 = currentInstruction[3].u.operand;705 int dst = currentInstruction[1].u.operand; 706 int src1 = currentInstruction[2].u.operand; 707 int src2 = currentInstruction[3].u.operand; 708 708 709 709 emitLoad2(src1, regT1, regT0, src2, regT3, regT2); … … 736 736 void JIT::emitSlow_op_stricteq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 737 737 { 738 unsigneddst = currentInstruction[1].u.operand;738 int dst = currentInstruction[1].u.operand; 739 739 740 740 linkSlowCase(iter); … … 754 754 void JIT::emitSlow_op_nstricteq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 755 755 { 756 unsigneddst = currentInstruction[1].u.operand;756 int dst = currentInstruction[1].u.operand; 757 757 758 758 linkSlowCase(iter); … … 767 767 void JIT::emit_op_eq_null(Instruction* currentInstruction) 768 768 { 769 unsigneddst = currentInstruction[1].u.operand;770 unsignedsrc = currentInstruction[2].u.operand;769 int dst = currentInstruction[1].u.operand; 770 int src = currentInstruction[2].u.operand; 771 771 772 772 emitLoad(src, regT1, regT0); … … 798 798 void JIT::emit_op_neq_null(Instruction* currentInstruction) 799 799 { 800 unsigneddst = currentInstruction[1].u.operand;801 unsignedsrc = currentInstruction[2].u.operand;800 int dst = currentInstruction[1].u.operand; 801 int src = currentInstruction[2].u.operand; 802 802 803 803 emitLoad(src, regT1, regT0); … … 1105 1105 void JIT::emit_op_create_activation(Instruction* currentInstruction) 1106 1106 { 1107 unsignedactivation = currentInstruction[1].u.operand;1107 int activation = currentInstruction[1].u.operand; 1108 1108 1109 1109 Jump activationCreated = branch32(NotEqual, tagFor(activation), TrustedImm32(JSValue::EmptyValueTag)); … … 1114 1114 void JIT::emit_op_create_arguments(Instruction* currentInstruction) 1115 1115 { 1116 unsigneddst = currentInstruction[1].u.operand;1116 int dst = currentInstruction[1].u.operand; 1117 1117 1118 1118 Jump argsCreated = branch32(NotEqual, tagFor(dst), TrustedImm32(JSValue::EmptyValueTag)); … … 1126 1126 void JIT::emit_op_init_lazy_reg(Instruction* currentInstruction) 1127 1127 { 1128 unsigneddst = currentInstruction[1].u.operand;1128 int dst = currentInstruction[1].u.operand; 1129 1129 1130 1130 emitStore(dst, JSValue()); … … 1171 1171 void JIT::emit_op_to_this(Instruction* currentInstruction) 1172 1172 { 1173 unsignedthisRegister = currentInstruction[1].u.operand;1173 int thisRegister = currentInstruction[1].u.operand; 1174 1174 1175 1175 emitLoad(thisRegister, regT3, regT2); … … 1253 1253 void JIT::emitSlow_op_get_argument_by_val(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1254 1254 { 1255 unsigneddst = currentInstruction[1].u.operand;1256 unsignedarguments = currentInstruction[2].u.operand;1257 unsignedproperty = currentInstruction[3].u.operand;1255 int dst = currentInstruction[1].u.operand; 1256 int arguments = currentInstruction[2].u.operand; 1257 int property = currentInstruction[3].u.operand; 1258 1258 1259 1259 linkSlowCase(iter); -
trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
r154127 r155418 96 96 void JIT::emit_op_get_by_val(Instruction* currentInstruction) 97 97 { 98 unsigneddst = currentInstruction[1].u.operand;99 unsignedbase = currentInstruction[2].u.operand;100 unsignedproperty = currentInstruction[3].u.operand;98 int dst = currentInstruction[1].u.operand; 99 int base = currentInstruction[2].u.operand; 100 int property = currentInstruction[3].u.operand; 101 101 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 102 102 … … 202 202 void JIT::emitSlow_op_get_by_val(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 203 203 { 204 unsigneddst = currentInstruction[1].u.operand;205 unsignedbase = currentInstruction[2].u.operand;206 unsignedproperty = currentInstruction[3].u.operand;204 int dst = currentInstruction[1].u.operand; 205 int base = currentInstruction[2].u.operand; 206 int property = currentInstruction[3].u.operand; 207 207 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 208 208 … … 270 270 void JIT::emit_op_get_by_pname(Instruction* currentInstruction) 271 271 { 272 unsigneddst = currentInstruction[1].u.operand;273 unsignedbase = currentInstruction[2].u.operand;274 unsignedproperty = currentInstruction[3].u.operand;272 int dst = currentInstruction[1].u.operand; 273 int base = currentInstruction[2].u.operand; 274 int property = currentInstruction[3].u.operand; 275 275 unsigned expected = currentInstruction[4].u.operand; 276 unsignediter = currentInstruction[5].u.operand;277 unsignedi = currentInstruction[6].u.operand;276 int iter = currentInstruction[5].u.operand; 277 int i = currentInstruction[6].u.operand; 278 278 279 279 emitGetVirtualRegister(property, regT0); … … 299 299 void JIT::emitSlow_op_get_by_pname(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 300 300 { 301 unsigneddst = currentInstruction[1].u.operand;302 unsignedbase = currentInstruction[2].u.operand;303 unsignedproperty = currentInstruction[3].u.operand;301 int dst = currentInstruction[1].u.operand; 302 int base = currentInstruction[2].u.operand; 303 int property = currentInstruction[3].u.operand; 304 304 305 305 linkSlowCase(iter); … … 316 316 void JIT::emit_op_put_by_val(Instruction* currentInstruction) 317 317 { 318 unsignedbase = currentInstruction[1].u.operand;319 unsignedproperty = currentInstruction[2].u.operand;318 int base = currentInstruction[1].u.operand; 319 int property = currentInstruction[2].u.operand; 320 320 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 321 321 … … 363 363 JIT::JumpList JIT::emitGenericContiguousPutByVal(Instruction* currentInstruction, PatchableJump& badType, IndexingType indexingShape) 364 364 { 365 unsignedvalue = currentInstruction[3].u.operand;365 int value = currentInstruction[3].u.operand; 366 366 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 367 367 … … 418 418 JIT::JumpList JIT::emitArrayStoragePutByVal(Instruction* currentInstruction, PatchableJump& badType) 419 419 { 420 unsignedvalue = currentInstruction[3].u.operand;420 int value = currentInstruction[3].u.operand; 421 421 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 422 422 … … 451 451 void JIT::emitSlow_op_put_by_val(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 452 452 { 453 unsignedbase = currentInstruction[1].u.operand;454 unsignedproperty = currentInstruction[2].u.operand;455 unsignedvalue = currentInstruction[3].u.operand;453 int base = currentInstruction[1].u.operand; 454 int property = currentInstruction[2].u.operand; 455 int value = currentInstruction[3].u.operand; 456 456 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 457 457 … … 517 517 void JIT::emit_op_get_by_id(Instruction* currentInstruction) 518 518 { 519 unsignedresultVReg = currentInstruction[1].u.operand;520 unsignedbaseVReg = currentInstruction[2].u.operand;519 int resultVReg = currentInstruction[1].u.operand; 520 int baseVReg = currentInstruction[2].u.operand; 521 521 const Identifier* ident = &(m_codeBlock->identifier(currentInstruction[3].u.operand)); 522 522 … … 561 561 void JIT::emitSlow_op_get_by_id(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 562 562 { 563 unsignedresultVReg = currentInstruction[1].u.operand;564 unsignedbaseVReg = currentInstruction[2].u.operand;563 int resultVReg = currentInstruction[1].u.operand; 564 int baseVReg = currentInstruction[2].u.operand; 565 565 const Identifier* ident = &(m_codeBlock->identifier(currentInstruction[3].u.operand)); 566 566 … … 596 596 void JIT::emit_op_put_by_id(Instruction* currentInstruction) 597 597 { 598 unsignedbaseVReg = currentInstruction[1].u.operand;599 unsignedvalueVReg = currentInstruction[3].u.operand;598 int baseVReg = currentInstruction[1].u.operand; 599 int valueVReg = currentInstruction[3].u.operand; 600 600 601 601 // In order to be able to patch both the Structure, and the object offset, we store one pointer, … … 628 628 void JIT::emitSlow_op_put_by_id(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 629 629 { 630 unsignedbaseVReg = currentInstruction[1].u.operand;630 int baseVReg = currentInstruction[1].u.operand; 631 631 const Identifier* ident = &(m_codeBlock->identifier(currentInstruction[2].u.operand)); 632 632 unsigned direct = currentInstruction[8].u.operand; … … 1212 1212 } 1213 1213 1214 void JIT::emitResolveClosure( unsigneddst, bool needsVarInjectionChecks, unsigned depth)1214 void JIT::emitResolveClosure(int dst, bool needsVarInjectionChecks, unsigned depth) 1215 1215 { 1216 1216 emitVarInjectionCheck(needsVarInjectionChecks); … … 1229 1229 void JIT::emit_op_resolve_scope(Instruction* currentInstruction) 1230 1230 { 1231 unsigneddst = currentInstruction[1].u.operand;1231 int dst = currentInstruction[1].u.operand; 1232 1232 ResolveType resolveType = static_cast<ResolveType>(currentInstruction[3].u.operand); 1233 1233 unsigned depth = currentInstruction[4].u.operand; … … 1255 1255 void JIT::emitSlow_op_resolve_scope(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1256 1256 { 1257 unsigneddst = currentInstruction[1].u.operand;1257 int dst = currentInstruction[1].u.operand; 1258 1258 ResolveType resolveType = static_cast<ResolveType>(currentInstruction[3].u.operand); 1259 1259 … … 1268 1268 } 1269 1269 1270 void JIT::emitLoadWithStructureCheck( unsignedscope, Structure** structureSlot)1270 void JIT::emitLoadWithStructureCheck(int scope, Structure** structureSlot) 1271 1271 { 1272 1272 emitGetVirtualRegister(scope, regT0); … … 1286 1286 } 1287 1287 1288 void JIT::emitGetClosureVar( unsignedscope, uintptr_t operand)1288 void JIT::emitGetClosureVar(int scope, uintptr_t operand) 1289 1289 { 1290 1290 emitGetVirtualRegister(scope, regT0); … … 1295 1295 void JIT::emit_op_get_from_scope(Instruction* currentInstruction) 1296 1296 { 1297 unsigneddst = currentInstruction[1].u.operand;1298 unsignedscope = currentInstruction[2].u.operand;1297 int dst = currentInstruction[1].u.operand; 1298 int scope = currentInstruction[2].u.operand; 1299 1299 ResolveType resolveType = ResolveModeAndType(currentInstruction[4].u.operand).type(); 1300 1300 Structure** structureSlot = currentInstruction[5].u.structure.slot(); … … 1328 1328 void JIT::emitSlow_op_get_from_scope(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1329 1329 { 1330 unsigneddst = currentInstruction[1].u.operand;1330 int dst = currentInstruction[1].u.operand; 1331 1331 ResolveType resolveType = ResolveModeAndType(currentInstruction[4].u.operand).type(); 1332 1332 … … 1342 1342 } 1343 1343 1344 void JIT::emitPutGlobalProperty(uintptr_t* operandSlot, unsignedvalue)1344 void JIT::emitPutGlobalProperty(uintptr_t* operandSlot, int value) 1345 1345 { 1346 1346 loadPtr(Address(regT0, JSObject::butterflyOffset()), regT0); … … 1351 1351 } 1352 1352 1353 void JIT::emitPutGlobalVar(uintptr_t operand, unsignedvalue)1353 void JIT::emitPutGlobalVar(uintptr_t operand, int value) 1354 1354 { 1355 1355 emitGetVirtualRegister(value, regT0); … … 1357 1357 } 1358 1358 1359 void JIT::emitPutClosureVar( unsigned scope, uintptr_t operand, unsignedvalue)1359 void JIT::emitPutClosureVar(int scope, uintptr_t operand, int value) 1360 1360 { 1361 1361 emitGetVirtualRegister(value, regT1); … … 1367 1367 void JIT::emit_op_put_to_scope(Instruction* currentInstruction) 1368 1368 { 1369 unsignedscope = currentInstruction[1].u.operand;1370 unsignedvalue = currentInstruction[3].u.operand;1369 int scope = currentInstruction[1].u.operand; 1370 int value = currentInstruction[3].u.operand; 1371 1371 ResolveType resolveType = ResolveModeAndType(currentInstruction[4].u.operand).type(); 1372 1372 Structure** structureSlot = currentInstruction[5].u.structure.slot(); … … 1753 1753 ASSERT(isInt(type)); 1754 1754 1755 unsignedvalue = currentInstruction[3].u.operand;1755 int value = currentInstruction[3].u.operand; 1756 1756 1757 1757 #if USE(JSVALUE64) … … 1819 1819 ASSERT(isFloat(type)); 1820 1820 1821 unsignedvalue = currentInstruction[3].u.operand;1821 int value = currentInstruction[3].u.operand; 1822 1822 1823 1823 #if USE(JSVALUE64) -
trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp
r153962 r155418 55 55 void JIT::emit_op_put_by_index(Instruction* currentInstruction) 56 56 { 57 unsignedbase = currentInstruction[1].u.operand;58 unsignedproperty = currentInstruction[2].u.operand;59 unsignedvalue = currentInstruction[3].u.operand;57 int base = currentInstruction[1].u.operand; 58 int property = currentInstruction[2].u.operand; 59 int value = currentInstruction[3].u.operand; 60 60 61 61 JITStubCall stubCall(this, cti_op_put_by_index); … … 68 68 void JIT::emit_op_put_getter_setter(Instruction* currentInstruction) 69 69 { 70 unsignedbase = currentInstruction[1].u.operand;71 unsignedproperty = currentInstruction[2].u.operand;72 unsignedgetter = currentInstruction[3].u.operand;73 unsignedsetter = currentInstruction[4].u.operand;70 int base = currentInstruction[1].u.operand; 71 int property = currentInstruction[2].u.operand; 72 int getter = currentInstruction[3].u.operand; 73 int setter = currentInstruction[4].u.operand; 74 74 75 75 JITStubCall stubCall(this, cti_op_put_getter_setter); … … 83 83 void JIT::emit_op_del_by_id(Instruction* currentInstruction) 84 84 { 85 unsigneddst = currentInstruction[1].u.operand;86 unsignedbase = currentInstruction[2].u.operand;87 unsignedproperty = currentInstruction[3].u.operand;85 int dst = currentInstruction[1].u.operand; 86 int base = currentInstruction[2].u.operand; 87 int property = currentInstruction[3].u.operand; 88 88 89 89 JITStubCall stubCall(this, cti_op_del_by_id); … … 137 137 void JIT::emit_op_get_by_val(Instruction* currentInstruction) 138 138 { 139 unsigneddst = currentInstruction[1].u.operand;140 unsignedbase = currentInstruction[2].u.operand;141 unsignedproperty = currentInstruction[3].u.operand;139 int dst = currentInstruction[1].u.operand; 140 int base = currentInstruction[2].u.operand; 141 int property = currentInstruction[3].u.operand; 142 142 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 143 143 … … 240 240 void JIT::emitSlow_op_get_by_val(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 241 241 { 242 unsigneddst = currentInstruction[1].u.operand;243 unsignedbase = currentInstruction[2].u.operand;244 unsignedproperty = currentInstruction[3].u.operand;242 int dst = currentInstruction[1].u.operand; 243 int base = currentInstruction[2].u.operand; 244 int property = currentInstruction[3].u.operand; 245 245 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 246 246 … … 284 284 void JIT::emit_op_put_by_val(Instruction* currentInstruction) 285 285 { 286 unsignedbase = currentInstruction[1].u.operand;287 unsignedproperty = currentInstruction[2].u.operand;286 int base = currentInstruction[1].u.operand; 287 int property = currentInstruction[2].u.operand; 288 288 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 289 289 … … 328 328 JIT::JumpList JIT::emitGenericContiguousPutByVal(Instruction* currentInstruction, PatchableJump& badType, IndexingType indexingShape) 329 329 { 330 unsignedvalue = currentInstruction[3].u.operand;330 int value = currentInstruction[3].u.operand; 331 331 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 332 332 … … 384 384 JIT::JumpList JIT::emitArrayStoragePutByVal(Instruction* currentInstruction, PatchableJump& badType) 385 385 { 386 unsignedvalue = currentInstruction[3].u.operand;386 int value = currentInstruction[3].u.operand; 387 387 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 388 388 … … 420 420 void JIT::emitSlow_op_put_by_val(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 421 421 { 422 unsignedbase = currentInstruction[1].u.operand;423 unsignedproperty = currentInstruction[2].u.operand;424 unsignedvalue = currentInstruction[3].u.operand;422 int base = currentInstruction[1].u.operand; 423 int property = currentInstruction[2].u.operand; 424 int value = currentInstruction[3].u.operand; 425 425 ArrayProfile* profile = currentInstruction[4].u.arrayProfile; 426 426 … … 1197 1197 void JIT::emit_op_get_by_pname(Instruction* currentInstruction) 1198 1198 { 1199 unsigneddst = currentInstruction[1].u.operand;1200 unsignedbase = currentInstruction[2].u.operand;1201 unsignedproperty = currentInstruction[3].u.operand;1199 int dst = currentInstruction[1].u.operand; 1200 int base = currentInstruction[2].u.operand; 1201 int property = currentInstruction[3].u.operand; 1202 1202 unsigned expected = currentInstruction[4].u.operand; 1203 unsignediter = currentInstruction[5].u.operand;1204 unsignedi = currentInstruction[6].u.operand;1203 int iter = currentInstruction[5].u.operand; 1204 int i = currentInstruction[6].u.operand; 1205 1205 1206 1206 emitLoad2(property, regT1, regT0, base, regT3, regT2); … … 1229 1229 void JIT::emitSlow_op_get_by_pname(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1230 1230 { 1231 unsigneddst = currentInstruction[1].u.operand;1232 unsignedbase = currentInstruction[2].u.operand;1233 unsignedproperty = currentInstruction[3].u.operand;1231 int dst = currentInstruction[1].u.operand; 1232 int base = currentInstruction[2].u.operand; 1233 int property = currentInstruction[3].u.operand; 1234 1234 1235 1235 linkSlowCaseIfNotJSCell(iter, property); … … 1252 1252 } 1253 1253 1254 void JIT::emitResolveClosure( unsigneddst, bool needsVarInjectionChecks, unsigned depth)1254 void JIT::emitResolveClosure(int dst, bool needsVarInjectionChecks, unsigned depth) 1255 1255 { 1256 1256 emitVarInjectionCheck(needsVarInjectionChecks); … … 1271 1271 void JIT::emit_op_resolve_scope(Instruction* currentInstruction) 1272 1272 { 1273 unsigneddst = currentInstruction[1].u.operand;1273 int dst = currentInstruction[1].u.operand; 1274 1274 ResolveType resolveType = static_cast<ResolveType>(currentInstruction[3].u.operand); 1275 1275 unsigned depth = currentInstruction[4].u.operand; … … 1298 1298 void JIT::emitSlow_op_resolve_scope(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1299 1299 { 1300 unsigneddst = currentInstruction[1].u.operand;1300 int dst = currentInstruction[1].u.operand; 1301 1301 ResolveType resolveType = static_cast<ResolveType>(currentInstruction[3].u.operand); 1302 1302 … … 1311 1311 } 1312 1312 1313 void JIT::emitLoadWithStructureCheck( unsignedscope, Structure** structureSlot)1313 void JIT::emitLoadWithStructureCheck(int scope, Structure** structureSlot) 1314 1314 { 1315 1315 emitLoad(scope, regT1, regT0); … … 1331 1331 } 1332 1332 1333 void JIT::emitGetClosureVar( unsignedscope, uintptr_t operand)1333 void JIT::emitGetClosureVar(int scope, uintptr_t operand) 1334 1334 { 1335 1335 emitLoad(scope, regT1, regT0); … … 1341 1341 void JIT::emit_op_get_from_scope(Instruction* currentInstruction) 1342 1342 { 1343 unsigneddst = currentInstruction[1].u.operand;1344 unsignedscope = currentInstruction[2].u.operand;1343 int dst = currentInstruction[1].u.operand; 1344 int scope = currentInstruction[2].u.operand; 1345 1345 ResolveType resolveType = ResolveModeAndType(currentInstruction[4].u.operand).type(); 1346 1346 Structure** structureSlot = currentInstruction[5].u.structure.slot(); … … 1374 1374 void JIT::emitSlow_op_get_from_scope(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) 1375 1375 { 1376 unsigneddst = currentInstruction[1].u.operand;1376 int dst = currentInstruction[1].u.operand; 1377 1377 ResolveType resolveType = ResolveModeAndType(currentInstruction[4].u.operand).type(); 1378 1378 … … 1388 1388 } 1389 1389 1390 void JIT::emitPutGlobalProperty(uintptr_t* operandSlot, unsignedvalue)1390 void JIT::emitPutGlobalProperty(uintptr_t* operandSlot, int value) 1391 1391 { 1392 1392 loadPtr(Address(regT0, JSObject::butterflyOffset()), regT0); … … 1398 1398 } 1399 1399 1400 void JIT::emitPutGlobalVar(uintptr_t operand, unsignedvalue)1400 void JIT::emitPutGlobalVar(uintptr_t operand, int value) 1401 1401 { 1402 1402 emitLoad(value, regT1, regT0); … … 1405 1405 } 1406 1406 1407 void JIT::emitPutClosureVar( unsigned scope, uintptr_t operand, unsignedvalue)1407 void JIT::emitPutClosureVar(int scope, uintptr_t operand, int value) 1408 1408 { 1409 1409 emitLoad(value, regT3, regT2); … … 1416 1416 void JIT::emit_op_put_to_scope(Instruction* currentInstruction) 1417 1417 { 1418 unsignedscope = currentInstruction[1].u.operand;1419 unsignedvalue = currentInstruction[3].u.operand;1418 int scope = currentInstruction[1].u.operand; 1419 int value = currentInstruction[3].u.operand; 1420 1420 ResolveType resolveType = ResolveModeAndType(currentInstruction[4].u.operand).type(); 1421 1421 Structure** structureSlot = currentInstruction[5].u.structure.slot(); -
trunk/Source/JavaScriptCore/jit/JITStubCall.h
r153231 r155418 175 175 176 176 #if USE(JSVALUE32_64) 177 void addArgument( unsignedsrcVirtualRegister)177 void addArgument(int srcVirtualRegister) 178 178 { 179 179 if (m_jit->m_codeBlock->isConstantRegisterIndex(srcVirtualRegister)) { … … 193 193 } 194 194 #else 195 void addArgument( unsignedsrc, JIT::RegisterID scratchRegister) // src is a virtual register.195 void addArgument(int src, JIT::RegisterID scratchRegister) // src is a virtual register. 196 196 { 197 197 if (m_jit->m_codeBlock->isConstantRegisterIndex(src)) … … 231 231 232 232 #if USE(JSVALUE32_64) 233 JIT::Call call( unsigneddst) // dst is a virtual register.233 JIT::Call call(int dst) // dst is a virtual register. 234 234 { 235 235 ASSERT(m_returnType == Value || m_returnType == Cell); … … 242 242 } 243 243 244 JIT::Call callWithValueProfiling( unsigneddst)244 JIT::Call callWithValueProfiling(int dst) 245 245 { 246 246 ASSERT(m_returnType == Value || m_returnType == Cell); … … 257 257 } 258 258 #else 259 JIT::Call call( unsigneddst) // dst is a virtual register.259 JIT::Call call(int dst) // dst is a virtual register. 260 260 { 261 261 ASSERT(m_returnType == Value || m_returnType == Cell); … … 265 265 } 266 266 267 JIT::Call callWithValueProfiling( unsigneddst)267 JIT::Call callWithValueProfiling(int dst) 268 268 { 269 269 ASSERT(m_returnType == Value || m_returnType == Cell);
Note: See TracChangeset
for help on using the changeset viewer.