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

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

Issue 2944013002: Remove TypeFeedbackId parameters from assembler and full-code. (Closed)
Patch Set: REBASE+fixes. Created 3 years, 6 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
« no previous file with comments | « src/arm64/macro-assembler-arm64.h ('k') | src/crankshaft/arm/lithium-codegen-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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #if V8_TARGET_ARCH_ARM64 5 #if V8_TARGET_ARCH_ARM64
6 6
7 #include "src/arm64/frames-arm64.h" 7 #include "src/arm64/frames-arm64.h"
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/base/division-by-constant.h" 10 #include "src/base/division-by-constant.h"
(...skipping 1879 matching lines...) Expand 10 before | Expand all | Expand 10 after
1890 void MacroAssembler::AssertPositiveOrZero(Register value) { 1890 void MacroAssembler::AssertPositiveOrZero(Register value) {
1891 if (emit_debug_code()) { 1891 if (emit_debug_code()) {
1892 Label done; 1892 Label done;
1893 int sign_bit = value.Is64Bits() ? kXSignBit : kWSignBit; 1893 int sign_bit = value.Is64Bits() ? kXSignBit : kWSignBit;
1894 Tbz(value, sign_bit, &done); 1894 Tbz(value, sign_bit, &done);
1895 Abort(kUnexpectedNegativeValue); 1895 Abort(kUnexpectedNegativeValue);
1896 Bind(&done); 1896 Bind(&done);
1897 } 1897 }
1898 } 1898 }
1899 1899
1900 void MacroAssembler::CallStub(CodeStub* stub, TypeFeedbackId ast_id) { 1900 void MacroAssembler::CallStub(CodeStub* stub) {
1901 DCHECK(AllowThisStubCall(stub)); // Stub calls are not allowed in some stubs. 1901 DCHECK(AllowThisStubCall(stub)); // Stub calls are not allowed in some stubs.
1902 Call(stub->GetCode(), RelocInfo::CODE_TARGET, ast_id); 1902 Call(stub->GetCode(), RelocInfo::CODE_TARGET);
1903 } 1903 }
1904 1904
1905 1905
1906 void MacroAssembler::TailCallStub(CodeStub* stub) { 1906 void MacroAssembler::TailCallStub(CodeStub* stub) {
1907 Jump(stub->GetCode(), RelocInfo::CODE_TARGET); 1907 Jump(stub->GetCode(), RelocInfo::CODE_TARGET);
1908 } 1908 }
1909 1909
1910 1910
1911 void MacroAssembler::CallRuntime(const Runtime::Function* f, 1911 void MacroAssembler::CallRuntime(const Runtime::Function* f,
1912 int num_arguments, 1912 int num_arguments,
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
2166 movk(temp, (imm >> 32) & 0xffff, 32); 2166 movk(temp, (imm >> 32) & 0xffff, 32);
2167 } else { 2167 } else {
2168 Ldr(temp, Immediate(reinterpret_cast<intptr_t>(target), rmode)); 2168 Ldr(temp, Immediate(reinterpret_cast<intptr_t>(target), rmode));
2169 } 2169 }
2170 Blr(temp); 2170 Blr(temp);
2171 #ifdef DEBUG 2171 #ifdef DEBUG
2172 AssertSizeOfCodeGeneratedSince(&start_call, CallSize(target, rmode)); 2172 AssertSizeOfCodeGeneratedSince(&start_call, CallSize(target, rmode));
2173 #endif 2173 #endif
2174 } 2174 }
2175 2175
2176 2176 void MacroAssembler::Call(Handle<Code> code, RelocInfo::Mode rmode) {
2177 void MacroAssembler::Call(Handle<Code> code,
2178 RelocInfo::Mode rmode,
2179 TypeFeedbackId ast_id) {
2180 #ifdef DEBUG 2177 #ifdef DEBUG
2181 Label start_call; 2178 Label start_call;
2182 Bind(&start_call); 2179 Bind(&start_call);
2183 #endif 2180 #endif
2184 2181
2185 if ((rmode == RelocInfo::CODE_TARGET) && (!ast_id.IsNone())) {
2186 SetRecordedAstId(ast_id);
2187 rmode = RelocInfo::CODE_TARGET_WITH_ID;
2188 }
2189
2190 AllowDeferredHandleDereference embedding_raw_address; 2182 AllowDeferredHandleDereference embedding_raw_address;
2191 Call(reinterpret_cast<Address>(code.location()), rmode); 2183 Call(reinterpret_cast<Address>(code.location()), rmode);
2192 2184
2193 #ifdef DEBUG 2185 #ifdef DEBUG
2194 // Check the size of the code generated. 2186 // Check the size of the code generated.
2195 AssertSizeOfCodeGeneratedSince(&start_call, CallSize(code, rmode, ast_id)); 2187 AssertSizeOfCodeGeneratedSince(&start_call, CallSize(code, rmode));
2196 #endif 2188 #endif
2197 } 2189 }
2198 2190
2199 2191
2200 int MacroAssembler::CallSize(Register target) { 2192 int MacroAssembler::CallSize(Register target) {
2201 USE(target); 2193 USE(target);
2202 return kInstructionSize; 2194 return kInstructionSize;
2203 } 2195 }
2204 2196
2205 2197
2206 int MacroAssembler::CallSize(Label* target) { 2198 int MacroAssembler::CallSize(Label* target) {
2207 USE(target); 2199 USE(target);
2208 return kInstructionSize; 2200 return kInstructionSize;
2209 } 2201 }
2210 2202
2211 2203
2212 int MacroAssembler::CallSize(Address target, RelocInfo::Mode rmode) { 2204 int MacroAssembler::CallSize(Address target, RelocInfo::Mode rmode) {
2213 USE(target); 2205 USE(target);
2214 2206
2215 // Addresses always have 64 bits, so we shouldn't encounter NONE32. 2207 // Addresses always have 64 bits, so we shouldn't encounter NONE32.
2216 DCHECK(rmode != RelocInfo::NONE32); 2208 DCHECK(rmode != RelocInfo::NONE32);
2217 2209
2218 if (rmode == RelocInfo::NONE64) { 2210 if (rmode == RelocInfo::NONE64) {
2219 return kCallSizeWithoutRelocation; 2211 return kCallSizeWithoutRelocation;
2220 } else { 2212 } else {
2221 return kCallSizeWithRelocation; 2213 return kCallSizeWithRelocation;
2222 } 2214 }
2223 } 2215 }
2224 2216
2225 2217 int MacroAssembler::CallSize(Handle<Code> code, RelocInfo::Mode rmode) {
2226 int MacroAssembler::CallSize(Handle<Code> code,
2227 RelocInfo::Mode rmode,
2228 TypeFeedbackId ast_id) {
2229 USE(code); 2218 USE(code);
2230 USE(ast_id);
2231 2219
2232 // Addresses always have 64 bits, so we shouldn't encounter NONE32. 2220 // Addresses always have 64 bits, so we shouldn't encounter NONE32.
2233 DCHECK(rmode != RelocInfo::NONE32); 2221 DCHECK(rmode != RelocInfo::NONE32);
2234 2222
2235 if (rmode == RelocInfo::NONE64) { 2223 if (rmode == RelocInfo::NONE64) {
2236 return kCallSizeWithoutRelocation; 2224 return kCallSizeWithoutRelocation;
2237 } else { 2225 } else {
2238 return kCallSizeWithRelocation; 2226 return kCallSizeWithRelocation;
2239 } 2227 }
2240 } 2228 }
(...skipping 2563 matching lines...) Expand 10 before | Expand all | Expand 10 after
4804 } 4792 }
4805 4793
4806 4794
4807 #undef __ 4795 #undef __
4808 4796
4809 4797
4810 } // namespace internal 4798 } // namespace internal
4811 } // namespace v8 4799 } // namespace v8
4812 4800
4813 #endif // V8_TARGET_ARCH_ARM64 4801 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm64/macro-assembler-arm64.h ('k') | src/crankshaft/arm/lithium-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698