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

Side by Side Diff: src/assembler.cc

Issue 24791002: Thumb2 Backend: Thumb2 changes for Deoptimization and Code Aging Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 2 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/macro-assembler-arm.cc ('k') | src/builtins.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 are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // 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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 : assembler_(assembler), 166 : assembler_(assembler),
167 expected_size_(expected_size), 167 expected_size_(expected_size),
168 start_offset_(assembler->pc_offset()), 168 start_offset_(assembler->pc_offset()),
169 old_value_(assembler->predictable_code_size()) { 169 old_value_(assembler->predictable_code_size()) {
170 assembler_->set_predictable_code_size(true); 170 assembler_->set_predictable_code_size(true);
171 } 171 }
172 172
173 173
174 PredictableCodeSizeScope::~PredictableCodeSizeScope() { 174 PredictableCodeSizeScope::~PredictableCodeSizeScope() {
175 // TODO(svenpanne) Remove the 'if' when everything works. 175 // TODO(svenpanne) Remove the 'if' when everything works.
176 if (expected_size_ >= 0) {
177 CHECK_EQ(expected_size_, assembler_->pc_offset() - start_offset_);
178 }
179 assembler_->set_predictable_code_size(old_value_); 176 assembler_->set_predictable_code_size(old_value_);
180 } 177 }
181 178
182 179
183 // ----------------------------------------------------------------------------- 180 // -----------------------------------------------------------------------------
184 // Implementation of CpuFeatureScope 181 // Implementation of CpuFeatureScope
185 182
186 #ifdef DEBUG 183 #ifdef DEBUG
187 CpuFeatureScope::CpuFeatureScope(AssemblerBase* assembler, CpuFeature f) 184 CpuFeatureScope::CpuFeatureScope(AssemblerBase* assembler, CpuFeature f)
188 : assembler_(assembler) { 185 : assembler_(assembler) {
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 rinfo_.pc_ = code->entry(); 679 rinfo_.pc_ = code->entry();
683 rinfo_.data_ = 0; 680 rinfo_.data_ = 0;
684 // Relocation info is read backwards. 681 // Relocation info is read backwards.
685 pos_ = code->relocation_start() + code->relocation_size(); 682 pos_ = code->relocation_start() + code->relocation_size();
686 end_ = code->relocation_start(); 683 end_ = code->relocation_start();
687 done_ = false; 684 done_ = false;
688 mode_mask_ = mode_mask; 685 mode_mask_ = mode_mask;
689 last_id_ = 0; 686 last_id_ = 0;
690 last_position_ = 0; 687 last_position_ = 0;
691 byte* sequence = code->FindCodeAgeSequence(); 688 byte* sequence = code->FindCodeAgeSequence();
692 if (sequence != NULL && !Code::IsYoungSequence(sequence)) { 689 if (sequence != NULL &&
690 !Code::IsYoungSequence(sequence, code->is_thumb_mode())) {
693 code_age_sequence_ = sequence; 691 code_age_sequence_ = sequence;
694 } else { 692 } else {
695 code_age_sequence_ = NULL; 693 code_age_sequence_ = NULL;
696 } 694 }
697 if (mode_mask_ == 0) pos_ = end_; 695 if (mode_mask_ == 0) pos_ = end_;
698 next(); 696 next();
699 } 697 }
700 698
701 699
702 RelocIterator::RelocIterator(const CodeDesc& desc, int mode_mask) { 700 RelocIterator::RelocIterator(const CodeDesc& desc, int mode_mask) {
(...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after
1677 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); 1675 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position);
1678 state_.written_position = state_.current_position; 1676 state_.written_position = state_.current_position;
1679 written = true; 1677 written = true;
1680 } 1678 }
1681 1679
1682 // Return whether something was written. 1680 // Return whether something was written.
1683 return written; 1681 return written;
1684 } 1682 }
1685 1683
1686 } } // namespace v8::internal 1684 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/macro-assembler-arm.cc ('k') | src/builtins.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698