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

Side by Side Diff: src/arm/assembler-arm.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/arm/assembler-arm.h ('k') | src/arm/macro-assembler-arm.h » ('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 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are 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 532 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 const Instr kStrRegFpOffsetPattern = 543 const Instr kStrRegFpOffsetPattern =
544 al | B26 | Offset | Register::kCode_fp * B16; 544 al | B26 | Offset | Register::kCode_fp * B16;
545 const Instr kLdrRegFpNegOffsetPattern = 545 const Instr kLdrRegFpNegOffsetPattern =
546 al | B26 | L | NegOffset | Register::kCode_fp * B16; 546 al | B26 | L | NegOffset | Register::kCode_fp * B16;
547 const Instr kStrRegFpNegOffsetPattern = 547 const Instr kStrRegFpNegOffsetPattern =
548 al | B26 | NegOffset | Register::kCode_fp * B16; 548 al | B26 | NegOffset | Register::kCode_fp * B16;
549 const Instr kLdrStrInstrTypeMask = 0xffff0000; 549 const Instr kLdrStrInstrTypeMask = 0xffff0000;
550 550
551 Assembler::Assembler(IsolateData isolate_data, void* buffer, int buffer_size) 551 Assembler::Assembler(IsolateData isolate_data, void* buffer, int buffer_size)
552 : AssemblerBase(isolate_data, buffer, buffer_size), 552 : AssemblerBase(isolate_data, buffer, buffer_size),
553 recorded_ast_id_(TypeFeedbackId::None()),
554 pending_32_bit_constants_(), 553 pending_32_bit_constants_(),
555 pending_64_bit_constants_() { 554 pending_64_bit_constants_() {
556 pending_32_bit_constants_.reserve(kMinNumPendingConstants); 555 pending_32_bit_constants_.reserve(kMinNumPendingConstants);
557 pending_64_bit_constants_.reserve(kMinNumPendingConstants); 556 pending_64_bit_constants_.reserve(kMinNumPendingConstants);
558 reloc_info_writer.Reposition(buffer_ + buffer_size_, pc_); 557 reloc_info_writer.Reposition(buffer_ + buffer_size_, pc_);
559 next_buffer_check_ = 0; 558 next_buffer_check_ = 0;
560 code_target_sharing_blocked_nesting_ = 0; 559 code_target_sharing_blocked_nesting_ = 0;
561 const_pool_blocked_nesting_ = 0; 560 const_pool_blocked_nesting_ = 0;
562 no_const_pool_before_ = 0; 561 no_const_pool_before_ = 0;
563 first_const_pool_32_use_ = -1; 562 first_const_pool_32_use_ = -1;
564 first_const_pool_64_use_ = -1; 563 first_const_pool_64_use_ = -1;
565 last_bound_pos_ = 0; 564 last_bound_pos_ = 0;
566 ClearRecordedAstId();
567 if (CpuFeatures::IsSupported(VFP32DREGS)) { 565 if (CpuFeatures::IsSupported(VFP32DREGS)) {
568 // Register objects tend to be abstracted and survive between scopes, so 566 // Register objects tend to be abstracted and survive between scopes, so
569 // it's awkward to use CpuFeatures::VFP32DREGS with CpuFeatureScope. To make 567 // it's awkward to use CpuFeatures::VFP32DREGS with CpuFeatureScope. To make
570 // its use consistent with other features, we always enable it if we can. 568 // its use consistent with other features, we always enable it if we can.
571 EnableCpuFeature(VFP32DREGS); 569 EnableCpuFeature(VFP32DREGS);
572 } 570 }
573 } 571 }
574 572
575 573
576 Assembler::~Assembler() { 574 Assembler::~Assembler() {
(...skipping 4478 matching lines...) Expand 10 before | Expand all | Expand 10 after
5055 } 5053 }
5056 5054
5057 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) { 5055 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) {
5058 if (RelocInfo::IsNone(rmode) || 5056 if (RelocInfo::IsNone(rmode) ||
5059 // Don't record external references unless the heap will be serialized. 5057 // Don't record external references unless the heap will be serialized.
5060 (rmode == RelocInfo::EXTERNAL_REFERENCE && !serializer_enabled() && 5058 (rmode == RelocInfo::EXTERNAL_REFERENCE && !serializer_enabled() &&
5061 !emit_debug_code())) { 5059 !emit_debug_code())) {
5062 return; 5060 return;
5063 } 5061 }
5064 DCHECK(buffer_space() >= kMaxRelocSize); // too late to grow buffer here 5062 DCHECK(buffer_space() >= kMaxRelocSize); // too late to grow buffer here
5065 if (rmode == RelocInfo::CODE_TARGET_WITH_ID) {
5066 data = RecordedAstId().ToInt();
5067 ClearRecordedAstId();
5068 }
5069 RelocInfo rinfo(pc_, rmode, data, NULL); 5063 RelocInfo rinfo(pc_, rmode, data, NULL);
5070 reloc_info_writer.Write(&rinfo); 5064 reloc_info_writer.Write(&rinfo);
5071 } 5065 }
5072 5066
5073 void Assembler::ConstantPoolAddEntry(int position, RelocInfo::Mode rmode, 5067 void Assembler::ConstantPoolAddEntry(int position, RelocInfo::Mode rmode,
5074 intptr_t value) { 5068 intptr_t value) {
5075 DCHECK(rmode != RelocInfo::COMMENT && rmode != RelocInfo::CONST_POOL && 5069 DCHECK(rmode != RelocInfo::COMMENT && rmode != RelocInfo::CONST_POOL &&
5076 rmode != RelocInfo::NONE64); 5070 rmode != RelocInfo::NONE64);
5077 bool sharing_ok = RelocInfo::IsNone(rmode) || 5071 bool sharing_ok = RelocInfo::IsNone(rmode) ||
5078 (rmode >= RelocInfo::FIRST_SHAREABLE_RELOC_MODE); 5072 (rmode >= RelocInfo::FIRST_SHAREABLE_RELOC_MODE);
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
5391 } 5385 }
5392 5386
5393 void PatchingAssembler::FlushICache(Isolate* isolate) { 5387 void PatchingAssembler::FlushICache(Isolate* isolate) {
5394 Assembler::FlushICache(isolate, buffer_, buffer_size_ - kGap); 5388 Assembler::FlushICache(isolate, buffer_, buffer_size_ - kGap);
5395 } 5389 }
5396 5390
5397 } // namespace internal 5391 } // namespace internal
5398 } // namespace v8 5392 } // namespace v8
5399 5393
5400 #endif // V8_TARGET_ARCH_ARM 5394 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/assembler-arm.h ('k') | src/arm/macro-assembler-arm.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698