| OLD | NEW | 
|---|
| 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  Loading... | 
| 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  Loading... | 
| 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 | 
| OLD | NEW | 
|---|