| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
| 6 // are met: | 6 // are met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 rm_ = rm; | 364 rm_ = rm; |
| 365 rmode_ = kRelocInfo_NONEPTR; // S390 -why doesn't ARM do this? | 365 rmode_ = kRelocInfo_NONEPTR; // S390 -why doesn't ARM do this? |
| 366 } | 366 } |
| 367 | 367 |
| 368 void Assembler::CheckBuffer() { | 368 void Assembler::CheckBuffer() { |
| 369 if (buffer_space() <= kGap) { | 369 if (buffer_space() <= kGap) { |
| 370 GrowBuffer(); | 370 GrowBuffer(); |
| 371 } | 371 } |
| 372 } | 372 } |
| 373 | 373 |
| 374 int32_t Assembler::emit_code_target(Handle<Code> target, RelocInfo::Mode rmode, | 374 int32_t Assembler::emit_code_target(Handle<Code> target, |
| 375 TypeFeedbackId ast_id) { | 375 RelocInfo::Mode rmode) { |
| 376 DCHECK(RelocInfo::IsCodeTarget(rmode)); | 376 DCHECK(RelocInfo::IsCodeTarget(rmode)); |
| 377 if (rmode == RelocInfo::CODE_TARGET && !ast_id.IsNone()) { | 377 RecordRelocInfo(rmode); |
| 378 SetRecordedAstId(ast_id); | |
| 379 RecordRelocInfo(RelocInfo::CODE_TARGET_WITH_ID); | |
| 380 } else { | |
| 381 RecordRelocInfo(rmode); | |
| 382 } | |
| 383 | 378 |
| 384 int current = code_targets_.length(); | 379 int current = code_targets_.length(); |
| 385 if (current > 0 && code_targets_.last().is_identical_to(target)) { | 380 if (current > 0 && code_targets_.last().is_identical_to(target)) { |
| 386 // Optimization if we keep jumping to the same code target. | 381 // Optimization if we keep jumping to the same code target. |
| 387 current--; | 382 current--; |
| 388 } else { | 383 } else { |
| 389 code_targets_.Add(target); | 384 code_targets_.Add(target); |
| 390 } | 385 } |
| 391 return current; | 386 return current; |
| 392 } | 387 } |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 570 } | 565 } |
| 571 #endif | 566 #endif |
| 572 } | 567 } |
| 573 if (!patched) UNREACHABLE(); | 568 if (!patched) UNREACHABLE(); |
| 574 } | 569 } |
| 575 | 570 |
| 576 } // namespace internal | 571 } // namespace internal |
| 577 } // namespace v8 | 572 } // namespace v8 |
| 578 | 573 |
| 579 #endif // V8_S390_ASSEMBLER_S390_INL_H_ | 574 #endif // V8_S390_ASSEMBLER_S390_INL_H_ |
| OLD | NEW |