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 2611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2622 EMIT(0xc4); | 2622 EMIT(0xc4); |
2623 EMIT(0xc0 | mm); | 2623 EMIT(0xc0 | mm); |
2624 EMIT(w | ((~vreg.code() & 0xf) << 3) | l | pp); | 2624 EMIT(w | ((~vreg.code() & 0xf) << 3) | l | pp); |
2625 } else { | 2625 } else { |
2626 EMIT(0xc5); | 2626 EMIT(0xc5); |
2627 EMIT(((~vreg.code()) << 3) | l | pp); | 2627 EMIT(((~vreg.code()) << 3) | l | pp); |
2628 } | 2628 } |
2629 } | 2629 } |
2630 | 2630 |
2631 | 2631 |
2632 void Assembler::RecordJSReturn() { | |
2633 positions_recorder()->WriteRecordedPositions(); | |
2634 EnsureSpace ensure_space(this); | |
2635 RecordRelocInfo(RelocInfo::JS_RETURN); | |
2636 } | |
2637 | |
2638 | |
2639 void Assembler::RecordDebugBreakSlot() { | |
2640 positions_recorder()->WriteRecordedPositions(); | |
2641 EnsureSpace ensure_space(this); | |
2642 RecordRelocInfo(RelocInfo::DEBUG_BREAK_SLOT); | |
2643 } | |
2644 | |
2645 | |
2646 void Assembler::RecordComment(const char* msg, bool force) { | |
2647 if (FLAG_code_comments || force) { | |
2648 EnsureSpace ensure_space(this); | |
2649 RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg)); | |
2650 } | |
2651 } | |
2652 | |
2653 | |
2654 void Assembler::RecordDeoptReason(const int reason, const int raw_position) { | |
2655 if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) { | |
2656 EnsureSpace ensure_space(this); | |
2657 RecordRelocInfo(RelocInfo::POSITION, raw_position); | |
2658 RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); | |
2659 } | |
2660 } | |
2661 | |
2662 | |
2663 void Assembler::GrowBuffer() { | 2632 void Assembler::GrowBuffer() { |
2664 DCHECK(buffer_overflow()); | 2633 DCHECK(buffer_overflow()); |
2665 if (!own_buffer_) FATAL("external code buffer is too small"); | 2634 if (!own_buffer_) FATAL("external code buffer is too small"); |
2666 | 2635 |
2667 // Compute new buffer size. | 2636 // Compute new buffer size. |
2668 CodeDesc desc; // the new buffer | 2637 CodeDesc desc; // the new buffer |
2669 desc.buffer_size = 2 * buffer_size_; | 2638 desc.buffer_size = 2 * buffer_size_; |
2670 | 2639 |
2671 // Some internal data structures overflow for very large buffers, | 2640 // Some internal data structures overflow for very large buffers, |
2672 // they must ensure that kMaximalBufferSize is not too large. | 2641 // they must ensure that kMaximalBufferSize is not too large. |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2847 fprintf(coverage_log, "%s\n", file_line); | 2816 fprintf(coverage_log, "%s\n", file_line); |
2848 fflush(coverage_log); | 2817 fflush(coverage_log); |
2849 } | 2818 } |
2850 } | 2819 } |
2851 | 2820 |
2852 #endif | 2821 #endif |
2853 | 2822 |
2854 } } // namespace v8::internal | 2823 } } // namespace v8::internal |
2855 | 2824 |
2856 #endif // V8_TARGET_ARCH_IA32 | 2825 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |