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

Side by Side Diff: src/objects.cc

Issue 2732273003: Disentangle assembler from isolate. (Closed)
Patch Set: Address feedback. Created 3 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
« no previous file with comments | « src/mips64/macro-assembler-mips64.cc ('k') | src/ppc/assembler-ppc.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 #include "src/objects.h" 5 #include "src/objects.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <iomanip> 8 #include <iomanip>
9 #include <memory> 9 #include <memory>
10 #include <sstream> 10 #include <sstream>
(...skipping 13876 matching lines...) Expand 10 before | Expand all | Expand 10 after
13887 SKIP_ICACHE_FLUSH); 13887 SKIP_ICACHE_FLUSH);
13888 } else if (mode == RelocInfo::CELL) { 13888 } else if (mode == RelocInfo::CELL) {
13889 Handle<Cell> cell = it.rinfo()->target_cell_handle(); 13889 Handle<Cell> cell = it.rinfo()->target_cell_handle();
13890 it.rinfo()->set_target_cell(*cell, UPDATE_WRITE_BARRIER, 13890 it.rinfo()->set_target_cell(*cell, UPDATE_WRITE_BARRIER,
13891 SKIP_ICACHE_FLUSH); 13891 SKIP_ICACHE_FLUSH);
13892 } else if (RelocInfo::IsCodeTarget(mode)) { 13892 } else if (RelocInfo::IsCodeTarget(mode)) {
13893 // rewrite code handles in inline cache targets to direct 13893 // rewrite code handles in inline cache targets to direct
13894 // pointers to the first instruction in the code object 13894 // pointers to the first instruction in the code object
13895 Handle<Object> p = it.rinfo()->target_object_handle(origin); 13895 Handle<Object> p = it.rinfo()->target_object_handle(origin);
13896 Code* code = Code::cast(*p); 13896 Code* code = Code::cast(*p);
13897 it.rinfo()->set_target_address(code->instruction_start(), 13897 it.rinfo()->set_target_address(GetIsolate(), code->instruction_start(),
13898 UPDATE_WRITE_BARRIER, SKIP_ICACHE_FLUSH); 13898 UPDATE_WRITE_BARRIER, SKIP_ICACHE_FLUSH);
13899 } else if (RelocInfo::IsRuntimeEntry(mode)) { 13899 } else if (RelocInfo::IsRuntimeEntry(mode)) {
13900 Address p = it.rinfo()->target_runtime_entry(origin); 13900 Address p = it.rinfo()->target_runtime_entry(origin);
13901 it.rinfo()->set_target_runtime_entry(p, UPDATE_WRITE_BARRIER, 13901 it.rinfo()->set_target_runtime_entry(
13902 SKIP_ICACHE_FLUSH); 13902 GetIsolate(), p, UPDATE_WRITE_BARRIER, SKIP_ICACHE_FLUSH);
13903 } else if (mode == RelocInfo::CODE_AGE_SEQUENCE) { 13903 } else if (mode == RelocInfo::CODE_AGE_SEQUENCE) {
13904 Handle<Object> p = it.rinfo()->code_age_stub_handle(origin); 13904 Handle<Object> p = it.rinfo()->code_age_stub_handle(origin);
13905 Code* code = Code::cast(*p); 13905 Code* code = Code::cast(*p);
13906 it.rinfo()->set_code_age_stub(code, SKIP_ICACHE_FLUSH); 13906 it.rinfo()->set_code_age_stub(code, SKIP_ICACHE_FLUSH);
13907 } else { 13907 } else {
13908 it.rinfo()->apply(delta); 13908 it.rinfo()->apply(delta);
13909 } 13909 }
13910 } 13910 }
13911 Assembler::FlushICache(GetIsolate(), instruction_start(), instruction_size()); 13911 Assembler::FlushICache(GetIsolate(), instruction_start(), instruction_size());
13912 } 13912 }
(...skipping 6348 matching lines...) Expand 10 before | Expand all | Expand 10 after
20261 // depend on this. 20261 // depend on this.
20262 return DICTIONARY_ELEMENTS; 20262 return DICTIONARY_ELEMENTS;
20263 } 20263 }
20264 DCHECK_LE(kind, LAST_ELEMENTS_KIND); 20264 DCHECK_LE(kind, LAST_ELEMENTS_KIND);
20265 return kind; 20265 return kind;
20266 } 20266 }
20267 } 20267 }
20268 20268
20269 } // namespace internal 20269 } // namespace internal
20270 } // namespace v8 20270 } // namespace v8
OLDNEW
« no previous file with comments | « src/mips64/macro-assembler-mips64.cc ('k') | src/ppc/assembler-ppc.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698