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 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 // Setup buffer pointers. | 319 // Setup buffer pointers. |
320 ASSERT(buffer_ != NULL); | 320 ASSERT(buffer_ != NULL); |
321 pc_ = buffer_; | 321 pc_ = buffer_; |
322 reloc_info_writer.Reposition(buffer_ + buffer_size, pc_); | 322 reloc_info_writer.Reposition(buffer_ + buffer_size, pc_); |
323 num_pending_reloc_info_ = 0; | 323 num_pending_reloc_info_ = 0; |
324 next_buffer_check_ = 0; | 324 next_buffer_check_ = 0; |
325 const_pool_blocked_nesting_ = 0; | 325 const_pool_blocked_nesting_ = 0; |
326 no_const_pool_before_ = 0; | 326 no_const_pool_before_ = 0; |
327 first_const_pool_use_ = -1; | 327 first_const_pool_use_ = -1; |
328 last_bound_pos_ = 0; | 328 last_bound_pos_ = 0; |
329 ast_id_for_reloc_info_ = kNoASTId; | 329 ClearRecordedAstId(); |
330 } | 330 } |
331 | 331 |
332 | 332 |
333 Assembler::~Assembler() { | 333 Assembler::~Assembler() { |
334 ASSERT(const_pool_blocked_nesting_ == 0); | 334 ASSERT(const_pool_blocked_nesting_ == 0); |
335 if (own_buffer_) { | 335 if (own_buffer_) { |
336 if (isolate()->assembler_spare_buffer() == NULL && | 336 if (isolate()->assembler_spare_buffer() == NULL && |
337 buffer_size_ == kMinimalBufferSize) { | 337 buffer_size_ == kMinimalBufferSize) { |
338 isolate()->set_assembler_spare_buffer(buffer_); | 338 isolate()->set_assembler_spare_buffer(buffer_); |
339 } else { | 339 } else { |
(...skipping 2190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2530 if (!Serializer::enabled()) { | 2530 if (!Serializer::enabled()) { |
2531 Serializer::TooLateToEnableNow(); | 2531 Serializer::TooLateToEnableNow(); |
2532 } | 2532 } |
2533 #endif | 2533 #endif |
2534 if (!Serializer::enabled() && !emit_debug_code()) { | 2534 if (!Serializer::enabled() && !emit_debug_code()) { |
2535 return; | 2535 return; |
2536 } | 2536 } |
2537 } | 2537 } |
2538 ASSERT(buffer_space() >= kMaxRelocSize); // too late to grow buffer here | 2538 ASSERT(buffer_space() >= kMaxRelocSize); // too late to grow buffer here |
2539 if (rmode == RelocInfo::CODE_TARGET_WITH_ID) { | 2539 if (rmode == RelocInfo::CODE_TARGET_WITH_ID) { |
2540 ASSERT(ast_id_for_reloc_info_ != kNoASTId); | 2540 RelocInfo reloc_info_with_ast_id(pc_, rmode, RecordedAstId()); |
2541 RelocInfo reloc_info_with_ast_id(pc_, rmode, ast_id_for_reloc_info_); | 2541 ClearRecordedAstId(); |
2542 ast_id_for_reloc_info_ = kNoASTId; | |
2543 reloc_info_writer.Write(&reloc_info_with_ast_id); | 2542 reloc_info_writer.Write(&reloc_info_with_ast_id); |
2544 } else { | 2543 } else { |
2545 reloc_info_writer.Write(&rinfo); | 2544 reloc_info_writer.Write(&rinfo); |
2546 } | 2545 } |
2547 } | 2546 } |
2548 } | 2547 } |
2549 | 2548 |
2550 | 2549 |
2551 void Assembler::BlockConstPoolFor(int instructions) { | 2550 void Assembler::BlockConstPoolFor(int instructions) { |
2552 int pc_limit = pc_offset() + instructions * kInstrSize; | 2551 int pc_limit = pc_offset() + instructions * kInstrSize; |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2653 | 2652 |
2654 // Since a constant pool was just emitted, move the check offset forward by | 2653 // Since a constant pool was just emitted, move the check offset forward by |
2655 // the standard interval. | 2654 // the standard interval. |
2656 next_buffer_check_ = pc_offset() + kCheckPoolInterval; | 2655 next_buffer_check_ = pc_offset() + kCheckPoolInterval; |
2657 } | 2656 } |
2658 | 2657 |
2659 | 2658 |
2660 } } // namespace v8::internal | 2659 } } // namespace v8::internal |
2661 | 2660 |
2662 #endif // V8_TARGET_ARCH_ARM | 2661 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |