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

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

Issue 1030353003: Enable constant pool support. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
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 // TODO(vitalyr): the assembler does not need an isolate. 489 // TODO(vitalyr): the assembler does not need an isolate.
490 Assembler(Isolate* isolate, void* buffer, int buffer_size); 490 Assembler(Isolate* isolate, void* buffer, int buffer_size);
491 virtual ~Assembler() { } 491 virtual ~Assembler() { }
492 492
493 // GetCode emits any pending (non-emitted) code and fills the descriptor 493 // GetCode emits any pending (non-emitted) code and fills the descriptor
494 // desc. GetCode() is idempotent; it returns the same result if no other 494 // desc. GetCode() is idempotent; it returns the same result if no other
495 // Assembler functions are invoked in between GetCode() calls. 495 // Assembler functions are invoked in between GetCode() calls.
496 void GetCode(CodeDesc* desc); 496 void GetCode(CodeDesc* desc);
497 497
498 // Read/Modify the code target in the branch/call instruction at pc. 498 // Read/Modify the code target in the branch/call instruction at pc.
499 inline static Address target_address_at(Address pc, 499 inline static Address target_address_at(Address pc, Address constant_pool);
500 ConstantPoolArray* constant_pool); 500 inline static void set_target_address_at(
501 inline static void set_target_address_at(Address pc, 501 Address pc, Address constant_pool, Address target,
502 ConstantPoolArray* constant_pool, 502 ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED);
503 Address target,
504 ICacheFlushMode icache_flush_mode =
505 FLUSH_ICACHE_IF_NEEDED);
506 static inline Address target_address_at(Address pc, Code* code) { 503 static inline Address target_address_at(Address pc, Code* code) {
507 ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL; 504 Address constant_pool = code ? code->constant_pool() : NULL;
508 return target_address_at(pc, constant_pool); 505 return target_address_at(pc, constant_pool);
509 } 506 }
510 static inline void set_target_address_at(Address pc, 507 static inline void set_target_address_at(Address pc,
511 Code* code, 508 Code* code,
512 Address target, 509 Address target,
513 ICacheFlushMode icache_flush_mode = 510 ICacheFlushMode icache_flush_mode =
514 FLUSH_ICACHE_IF_NEEDED) { 511 FLUSH_ICACHE_IF_NEEDED) {
515 ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL; 512 Address constant_pool = code ? code->constant_pool() : NULL;
516 set_target_address_at(pc, constant_pool, target); 513 set_target_address_at(pc, constant_pool, target);
517 } 514 }
518 515
519 // Return the code target address at a call site from the return address 516 // Return the code target address at a call site from the return address
520 // of that call in the instruction stream. 517 // of that call in the instruction stream.
521 inline static Address target_address_from_return_address(Address pc); 518 inline static Address target_address_from_return_address(Address pc);
522 519
523 // Return the code target address of the patch debug break slot 520 // Return the code target address of the patch debug break slot
524 inline static Address break_address_from_return_address(Address pc); 521 inline static Address break_address_from_return_address(Address pc);
525 522
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 private: 1077 private:
1081 Assembler* assembler_; 1078 Assembler* assembler_;
1082 #ifdef DEBUG 1079 #ifdef DEBUG
1083 int space_before_; 1080 int space_before_;
1084 #endif 1081 #endif
1085 }; 1082 };
1086 1083
1087 } } // namespace v8::internal 1084 } } // namespace v8::internal
1088 1085
1089 #endif // V8_X87_ASSEMBLER_X87_H_ 1086 #endif // V8_X87_ASSEMBLER_X87_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698