Changeset 94981 in webkit for trunk/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h
- Timestamp:
- Sep 12, 2011, 3:17:53 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h
r93277 r94981 510 510 } 511 511 512 void load8(BaseIndex address, RegisterID dest) 513 { 514 RegisterID scr = claimScratch(); 515 move(address.index, scr); 516 lshift32(TrustedImm32(address.scale), scr); 517 add32(address.base, scr); 518 load8(scr, address.offset, dest); 519 releaseScratch(scr); 520 } 521 512 522 void load32(BaseIndex address, RegisterID dest) 513 523 { … … 1353 1363 } 1354 1364 1365 Jump branch8(RelationalCondition cond, BaseIndex left, TrustedImm32 right) 1366 { 1367 ASSERT(!(right.m_value & 0xFFFFFF00)); 1368 RegisterID scr = claimScratch(); 1369 1370 move(left.index, scr); 1371 lshift32(TrustedImm32(left.scale), scr); 1372 1373 if (left.offset) 1374 add32(TrustedImm32(left.offset), scr); 1375 add32(left.base, scr); 1376 load8(scr, scr); 1377 extub(scr, scr); 1378 RegisterID scr1 = claimScratch(); 1379 m_assembler.loadConstant(right.m_value, scr1); 1380 releaseScratch(scr); 1381 releaseScratch(scr1); 1382 1383 return branch32(cond, scr, scr1); 1384 } 1385 1386 Jump branch16(RelationalCondition cond, RegisterID left, TrustedImm32 right) 1387 { 1388 ASSERT(!(right.m_value & 0xFFFF0000)); 1389 RegisterID scr = claimScratch(); 1390 1391 extuw(left, scr); 1392 if (((cond == Equal) || (cond == NotEqual)) && !right.m_value) 1393 m_assembler.testlRegReg(scr, scr); 1394 else 1395 compare32(right.m_value, scr, cond); 1396 1397 releaseScratch(scr); 1398 1399 if (cond == NotEqual) 1400 return branchFalse(); 1401 return branchTrue(); 1402 } 1403 1355 1404 Jump branch16(RelationalCondition cond, BaseIndex left, RegisterID right) 1356 1405 {
Note:
See TracChangeset
for help on using the changeset viewer.