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