Changeset 47802 in webkit for trunk/JavaScriptCore/assembler
- Timestamp:
- Aug 26, 2009, 6:16:53 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/MacroAssemblerX86_64.h
r47530 r47802 297 297 void storePtr(ImmPtr imm, ImplicitAddress address) 298 298 { 299 intptr_t ptr = imm.asIntptr(); 300 if (CAN_SIGN_EXTEND_32_64(ptr)) 301 m_assembler.movq_i32m(static_cast<int>(ptr), address.offset, address.base); 302 else { 303 move(imm, scratchRegister); 304 storePtr(scratchRegister, address); 305 } 299 move(imm, scratchRegister); 300 storePtr(scratchRegister, address); 306 301 } 307 302 … … 340 335 Jump branchPtr(Condition cond, RegisterID left, ImmPtr right) 341 336 { 342 intptr_t imm = right.asIntptr(); 343 if (CAN_SIGN_EXTEND_32_64(imm)) { 344 if (!imm) 345 m_assembler.testq_rr(left, left); 346 else 347 m_assembler.cmpq_ir(imm, left); 348 return Jump(m_assembler.jCC(x86Condition(cond))); 349 } else { 350 move(right, scratchRegister); 351 return branchPtr(cond, left, scratchRegister); 352 } 337 move(right, scratchRegister); 338 return branchPtr(cond, left, scratchRegister); 353 339 } 354 340
Note:
See TracChangeset
for help on using the changeset viewer.