Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: src/arm/assembler-arm.cc

Issue 7400016: Fixed confusion between AST IDs and condition codes on ARM. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm/assembler-arm.h ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « src/arm/assembler-arm.h ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698