equal
deleted
inserted
replaced
1439 if (low10(lo) != 0) |
1439 if (low10(lo) != 0) |
1440 or3 ( d, low10(lo), d); |
1440 or3 ( d, low10(lo), d); |
1441 sllx(tmp, 32, tmp); |
1441 sllx(tmp, 32, tmp); |
1442 or3 (d, tmp, d); |
1442 or3 (d, tmp, d); |
1443 } |
1443 } |
|
1444 } |
|
1445 |
|
1446 int MacroAssembler::size_of_set64(jlong value) { |
|
1447 v9_dep(); |
|
1448 |
|
1449 int hi = (int)(value >> 32); |
|
1450 int lo = (int)(value & ~0); |
|
1451 int count = 0; |
|
1452 |
|
1453 // (Matcher::isSimpleConstant64 knows about the following optimizations.) |
|
1454 if (Assembler::is_simm13(lo) && value == lo) { |
|
1455 count++; |
|
1456 } else if (hi == 0) { |
|
1457 count++; |
|
1458 if (low10(lo) != 0) |
|
1459 count++; |
|
1460 } |
|
1461 else if (hi == -1) { |
|
1462 count += 2; |
|
1463 } |
|
1464 else if (lo == 0) { |
|
1465 if (Assembler::is_simm13(hi)) { |
|
1466 count++; |
|
1467 } else { |
|
1468 count++; |
|
1469 if (low10(hi) != 0) |
|
1470 count++; |
|
1471 } |
|
1472 count++; |
|
1473 } |
|
1474 else { |
|
1475 count += 2; |
|
1476 if (low10(hi) != 0) |
|
1477 count++; |
|
1478 if (low10(lo) != 0) |
|
1479 count++; |
|
1480 count += 2; |
|
1481 } |
|
1482 return count; |
1444 } |
1483 } |
1445 |
1484 |
1446 // compute size in bytes of sparc frame, given |
1485 // compute size in bytes of sparc frame, given |
1447 // number of extraWords |
1486 // number of extraWords |
1448 int MacroAssembler::total_frame_size_in_bytes(int extraWords) { |
1487 int MacroAssembler::total_frame_size_in_bytes(int extraWords) { |