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

Side by Side Diff: src/arm64/macro-assembler-arm64.h

Issue 211323003: ARM64: block veneer pool in InstructionAccurateScope. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 2139 matching lines...) Expand 10 before | Expand all | Expand 10 after
2150 public: 2150 public:
2151 InstructionAccurateScope(MacroAssembler* masm, size_t count = 0) 2151 InstructionAccurateScope(MacroAssembler* masm, size_t count = 0)
2152 : masm_(masm) 2152 : masm_(masm)
2153 #ifdef DEBUG 2153 #ifdef DEBUG
2154 , 2154 ,
2155 size_(count * kInstructionSize) 2155 size_(count * kInstructionSize)
2156 #endif 2156 #endif
2157 { 2157 {
2158 // Before blocking the const pool, see if it needs to be emitted. 2158 // Before blocking the const pool, see if it needs to be emitted.
2159 masm_->CheckConstPool(false, true); 2159 masm_->CheckConstPool(false, true);
2160 masm_->CheckVeneerPool(false, true);
2160 2161
2161 masm_->StartBlockConstPool(); 2162 masm_->StartBlockPools();
2162 #ifdef DEBUG 2163 #ifdef DEBUG
2163 if (count != 0) { 2164 if (count != 0) {
2164 masm_->bind(&start_); 2165 masm_->bind(&start_);
2165 } 2166 }
2166 previous_allow_macro_instructions_ = masm_->allow_macro_instructions(); 2167 previous_allow_macro_instructions_ = masm_->allow_macro_instructions();
2167 masm_->set_allow_macro_instructions(false); 2168 masm_->set_allow_macro_instructions(false);
2168 #endif 2169 #endif
2169 } 2170 }
2170 2171
2171 ~InstructionAccurateScope() { 2172 ~InstructionAccurateScope() {
2172 masm_->EndBlockConstPool(); 2173 masm_->EndBlockPools();
2173 #ifdef DEBUG 2174 #ifdef DEBUG
2174 if (start_.is_bound()) { 2175 if (start_.is_bound()) {
2175 ASSERT(masm_->SizeOfCodeGeneratedSince(&start_) == size_); 2176 ASSERT(masm_->SizeOfCodeGeneratedSince(&start_) == size_);
2176 } 2177 }
2177 masm_->set_allow_macro_instructions(previous_allow_macro_instructions_); 2178 masm_->set_allow_macro_instructions(previous_allow_macro_instructions_);
2178 #endif 2179 #endif
2179 } 2180 }
2180 2181
2181 private: 2182 private:
2182 MacroAssembler* masm_; 2183 MacroAssembler* masm_;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
2300 #error "Unsupported option" 2301 #error "Unsupported option"
2301 #define CODE_COVERAGE_STRINGIFY(x) #x 2302 #define CODE_COVERAGE_STRINGIFY(x) #x
2302 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) 2303 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x)
2303 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 2304 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
2304 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 2305 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
2305 #else 2306 #else
2306 #define ACCESS_MASM(masm) masm-> 2307 #define ACCESS_MASM(masm) masm->
2307 #endif 2308 #endif
2308 2309
2309 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 2310 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698