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 |