Changeset 49005 in webkit for trunk/JavaScriptCore/jit/JITOpcodes.cpp
- Timestamp:
- Oct 1, 2009, 4:49:28 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JITOpcodes.cpp
r49004 r49005 249 249 250 250 // Check for an exception 251 // FIXME: Maybe we can optimize this comparison to JSValue(). 251 252 move(ImmPtr(&globalData->exception), regT2); 252 Jump sawException = branch32(NotEqual, tagFor(0, regT2), Imm32(JSValue::EmptyValueTag)); 253 Jump sawException1 = branch32(NotEqual, tagFor(0, regT2), Imm32(JSValue::CellTag)); 254 Jump sawException2 = branch32(NonZero, payloadFor(0, regT2), Imm32(0)); 253 255 254 256 // Grab the return address. … … 263 265 264 266 // Handle an exception 265 sawException.link(this); 267 sawException1.link(this); 268 sawException2.link(this); 266 269 // Grab the return address. 267 270 emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT1); … … 1235 1238 1236 1239 Jump isInt32 = branch32(Equal, regT1, Imm32(JSValue::Int32Tag)); 1237 addSlowCase(branch32(AboveOrEqual, regT1, Imm32(JSValue:: EmptyValueTag)));1240 addSlowCase(branch32(AboveOrEqual, regT1, Imm32(JSValue::DeletedValueTag))); 1238 1241 isInt32.link(this); 1239 1242 … … 1379 1382 void JIT::emit_op_create_arguments(Instruction*) 1380 1383 { 1381 Jump argsCreated = branch32(NotEqual, tagFor(RegisterFile::ArgumentsRegister, callFrameRegister), Imm32(JSValue::EmptyValueTag)); 1384 Jump argsNotCell = branch32(NotEqual, tagFor(RegisterFile::ArgumentsRegister, callFrameRegister), Imm32(JSValue::CellTag)); 1385 Jump argsNotNull = branchTestPtr(NonZero, payloadFor(RegisterFile::ArgumentsRegister, callFrameRegister)); 1382 1386 1383 1387 // If we get here the arguments pointer is a null cell - i.e. arguments need lazy creation. … … 1387 1391 JITStubCall(this, cti_op_create_arguments).call(); 1388 1392 1389 argsCreated.link(this); 1393 argsNotCell.link(this); 1394 argsNotNull.link(this); 1390 1395 } 1391 1396
Note:
See TracChangeset
for help on using the changeset viewer.