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

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

Issue 922153002: Move identical code from platform specific assemblers to assembler.cc (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 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/arm/assembler-arm.cc ('k') | src/assembler.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 // 2 //
3 // Redistribution and use in source and binary forms, with or without 3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are 4 // modification, are permitted provided that the following conditions are
5 // met: 5 // met:
6 // 6 //
7 // * Redistributions of source code must retain the above copyright 7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer. 8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above 9 // * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following 10 // copyright notice, this list of conditions and the following
(...skipping 3054 matching lines...) Expand 10 before | Expand all | Expand 10 after
3065 } 3065 }
3066 if (force_emit || ShouldEmitVeneers(margin)) { 3066 if (force_emit || ShouldEmitVeneers(margin)) {
3067 EmitVeneers(force_emit, require_jump, margin); 3067 EmitVeneers(force_emit, require_jump, margin);
3068 } else { 3068 } else {
3069 next_veneer_pool_check_ = 3069 next_veneer_pool_check_ =
3070 unresolved_branches_first_limit() - kVeneerDistanceCheckMargin; 3070 unresolved_branches_first_limit() - kVeneerDistanceCheckMargin;
3071 } 3071 }
3072 } 3072 }
3073 3073
3074 3074
3075 void Assembler::RecordComment(const char* msg) {
3076 if (FLAG_code_comments) {
3077 CheckBuffer();
3078 RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg));
3079 }
3080 }
3081
3082
3083 void Assembler::RecordDeoptReason(const int reason, const int raw_position) {
3084 if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) {
3085 EnsureSpace ensure_space(this);
3086 RecordRelocInfo(RelocInfo::POSITION, raw_position);
3087 RecordRelocInfo(RelocInfo::DEOPT_REASON, reason);
3088 }
3089 }
3090
3091
3092 int Assembler::buffer_space() const { 3075 int Assembler::buffer_space() const {
3093 return reloc_info_writer.pos() - reinterpret_cast<byte*>(pc_); 3076 return reloc_info_writer.pos() - reinterpret_cast<byte*>(pc_);
3094 } 3077 }
3095 3078
3096 3079
3097 void Assembler::RecordJSReturn() {
3098 positions_recorder()->WriteRecordedPositions();
3099 CheckBuffer();
3100 RecordRelocInfo(RelocInfo::JS_RETURN);
3101 }
3102
3103
3104 void Assembler::RecordDebugBreakSlot() {
3105 positions_recorder()->WriteRecordedPositions();
3106 CheckBuffer();
3107 RecordRelocInfo(RelocInfo::DEBUG_BREAK_SLOT);
3108 }
3109
3110
3111 void Assembler::RecordConstPool(int size) { 3080 void Assembler::RecordConstPool(int size) {
3112 // We only need this for debugger support, to correctly compute offsets in the 3081 // We only need this for debugger support, to correctly compute offsets in the
3113 // code. 3082 // code.
3114 RecordRelocInfo(RelocInfo::CONST_POOL, static_cast<intptr_t>(size)); 3083 RecordRelocInfo(RelocInfo::CONST_POOL, static_cast<intptr_t>(size));
3115 } 3084 }
3116 3085
3117 3086
3118 Handle<ConstantPoolArray> Assembler::NewConstantPool(Isolate* isolate) { 3087 Handle<ConstantPoolArray> Assembler::NewConstantPool(Isolate* isolate) {
3119 // No out-of-line constant pool support. 3088 // No out-of-line constant pool support.
3120 DCHECK(!FLAG_enable_ool_constant_pool); 3089 DCHECK(!FLAG_enable_ool_constant_pool);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
3158 movz(scratch, (target_offset >> 16) & 0xFFFF, 16); 3127 movz(scratch, (target_offset >> 16) & 0xFFFF, 16);
3159 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); 3128 movk(scratch, (target_offset >> 32) & 0xFFFF, 32);
3160 DCHECK((target_offset >> 48) == 0); 3129 DCHECK((target_offset >> 48) == 0);
3161 add(rd, rd, scratch); 3130 add(rd, rd, scratch);
3162 } 3131 }
3163 3132
3164 3133
3165 } } // namespace v8::internal 3134 } } // namespace v8::internal
3166 3135
3167 #endif // V8_TARGET_ARCH_ARM64 3136 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/assembler-arm.cc ('k') | src/assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698