Changeset 43331 in webkit for trunk/JavaScriptCore/jit/JIT.cpp
- Timestamp:
- May 6, 2009, 5:06:07 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JIT.cpp
r43276 r43331 464 464 NEXT_OPCODE(op_construct_verify); 465 465 } 466 case op_to_primitive: { 467 int dst = currentInstruction[1].u.operand; 468 int src = currentInstruction[2].u.operand; 469 470 emitGetVirtualRegister(src, regT0); 471 472 Jump isImm = emitJumpIfNotJSCell(regT0); 473 addSlowCase(branchPtr(NotEqual, Address(regT0), ImmPtr(m_globalData->jsStringVPtr))); 474 isImm.link(this); 475 476 if (dst != src) 477 emitPutVirtualRegister(dst); 478 479 NEXT_OPCODE(op_to_primitive); 480 } 481 case op_strcat: { 482 emitPutJITStubArgConstant(currentInstruction[2].u.operand, 1); 483 emitPutJITStubArgConstant(currentInstruction[3].u.operand, 2); 484 emitCTICall(JITStubs::cti_op_strcat); 485 emitPutVirtualRegister(currentInstruction[1].u.operand); 486 487 NEXT_OPCODE(op_strcat); 488 } 466 489 case op_get_by_val: { 467 490 emitGetVirtualRegisters(currentInstruction[2].u.operand, regT0, currentInstruction[3].u.operand, regT1); … … 1167 1190 NEXT_OPCODE(op_construct_verify); 1168 1191 } 1192 case op_to_primitive: { 1193 linkSlowCase(iter); 1194 1195 emitPutJITStubArg(regT0, 1); 1196 emitCTICall(JITStubs::cti_op_to_primitive); 1197 emitPutVirtualRegister(currentInstruction[1].u.operand); 1198 1199 NEXT_OPCODE(op_to_primitive); 1200 } 1169 1201 case op_get_by_val: { 1170 1202 // The slow case that handles accesses to arrays (below) may jump back up to here.
Note:
See TracChangeset
for help on using the changeset viewer.