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

Side by Side Diff: src/x64/assembler-x64.h

Issue 1474323002: Delete Assembler::FlushICacheWithoutIsolate (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: updates Created 5 years 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/snapshot/serialize.cc ('k') | src/x64/assembler-x64-inl.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 are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // 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 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 489
490 // Read/Modify the code target in the relative branch/call instruction at pc. 490 // Read/Modify the code target in the relative branch/call instruction at pc.
491 // On the x64 architecture, we use relative jumps with a 32-bit displacement 491 // On the x64 architecture, we use relative jumps with a 32-bit displacement
492 // to jump to other Code objects in the Code space in the heap. 492 // to jump to other Code objects in the Code space in the heap.
493 // Jumps to C functions are done indirectly through a 64-bit register holding 493 // Jumps to C functions are done indirectly through a 64-bit register holding
494 // the absolute address of the target. 494 // the absolute address of the target.
495 // These functions convert between absolute Addresses of Code objects and 495 // These functions convert between absolute Addresses of Code objects and
496 // the relative displacements stored in the code. 496 // the relative displacements stored in the code.
497 static inline Address target_address_at(Address pc, Address constant_pool); 497 static inline Address target_address_at(Address pc, Address constant_pool);
498 static inline void set_target_address_at( 498 static inline void set_target_address_at(
499 Address pc, Address constant_pool, Address target, 499 Isolate* isolate, Address pc, Address constant_pool, Address target,
500 ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED); 500 ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED);
501 static inline Address target_address_at(Address pc, Code* code) { 501 static inline Address target_address_at(Address pc, Code* code) {
502 Address constant_pool = code ? code->constant_pool() : NULL; 502 Address constant_pool = code ? code->constant_pool() : NULL;
503 return target_address_at(pc, constant_pool); 503 return target_address_at(pc, constant_pool);
504 } 504 }
505 static inline void set_target_address_at(Address pc, 505 static inline void set_target_address_at(
506 Code* code, 506 Isolate* isolate, Address pc, Code* code, Address target,
507 Address target, 507 ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED) {
508 ICacheFlushMode icache_flush_mode =
509 FLUSH_ICACHE_IF_NEEDED) {
510 Address constant_pool = code ? code->constant_pool() : NULL; 508 Address constant_pool = code ? code->constant_pool() : NULL;
511 set_target_address_at(pc, constant_pool, target, icache_flush_mode); 509 set_target_address_at(isolate, pc, constant_pool, target,
510 icache_flush_mode);
512 } 511 }
513 512
514 // Return the code target address at a call site from the return address 513 // Return the code target address at a call site from the return address
515 // of that call in the instruction stream. 514 // of that call in the instruction stream.
516 static inline Address target_address_from_return_address(Address pc); 515 static inline Address target_address_from_return_address(Address pc);
517 516
518 // This sets the branch destination (which is in the instruction on x64). 517 // This sets the branch destination (which is in the instruction on x64).
519 // This is for calls and branches within generated code. 518 // This is for calls and branches within generated code.
520 inline static void deserialization_set_special_target_at( 519 inline static void deserialization_set_special_target_at(
521 Address instruction_payload, Code* code, Address target) { 520 Isolate* isolate, Address instruction_payload, Code* code,
522 set_target_address_at(instruction_payload, code, target); 521 Address target) {
522 set_target_address_at(isolate, instruction_payload, code, target);
523 } 523 }
524 524
525 // This sets the internal reference at the pc. 525 // This sets the internal reference at the pc.
526 inline static void deserialization_set_target_internal_reference_at( 526 inline static void deserialization_set_target_internal_reference_at(
527 Address pc, Address target, 527 Isolate* isolate, Address pc, Address target,
528 RelocInfo::Mode mode = RelocInfo::INTERNAL_REFERENCE); 528 RelocInfo::Mode mode = RelocInfo::INTERNAL_REFERENCE);
529 529
530 static inline RelocInfo::Mode RelocInfoNone() { 530 static inline RelocInfo::Mode RelocInfoNone() {
531 if (kPointerSize == kInt64Size) { 531 if (kPointerSize == kInt64Size) {
532 return RelocInfo::NONE64; 532 return RelocInfo::NONE64;
533 } else { 533 } else {
534 DCHECK(kPointerSize == kInt32Size); 534 DCHECK(kPointerSize == kInt32Size);
535 return RelocInfo::NONE32; 535 return RelocInfo::NONE32;
536 } 536 }
537 } 537 }
(...skipping 1651 matching lines...) Expand 10 before | Expand all | Expand 10 after
2189 Assembler* assembler_; 2189 Assembler* assembler_;
2190 #ifdef DEBUG 2190 #ifdef DEBUG
2191 int space_before_; 2191 int space_before_;
2192 #endif 2192 #endif
2193 }; 2193 };
2194 2194
2195 } // namespace internal 2195 } // namespace internal
2196 } // namespace v8 2196 } // namespace v8
2197 2197
2198 #endif // V8_X64_ASSEMBLER_X64_H_ 2198 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « src/snapshot/serialize.cc ('k') | src/x64/assembler-x64-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698