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

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

Issue 2900683002: [compiler] Delay allocation of code-embedded heap numbers. (Closed)
Patch Set: Fix rebase. 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/mips/codegen-mips.cc ('k') | src/mips64/assembler-mips64.cc » ('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 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 // is too small, a fatal error occurs. No deallocation of the buffer is done 497 // is too small, a fatal error occurs. No deallocation of the buffer is done
498 // upon destruction of the assembler. 498 // upon destruction of the assembler.
499 Assembler(Isolate* isolate, void* buffer, int buffer_size) 499 Assembler(Isolate* isolate, void* buffer, int buffer_size)
500 : Assembler(IsolateData(isolate), buffer, buffer_size) {} 500 : Assembler(IsolateData(isolate), buffer, buffer_size) {}
501 Assembler(IsolateData isolate_data, void* buffer, int buffer_size); 501 Assembler(IsolateData isolate_data, void* buffer, int buffer_size);
502 virtual ~Assembler() { } 502 virtual ~Assembler() { }
503 503
504 // GetCode emits any pending (non-emitted) code and fills the descriptor 504 // GetCode emits any pending (non-emitted) code and fills the descriptor
505 // desc. GetCode() is idempotent; it returns the same result if no other 505 // desc. GetCode() is idempotent; it returns the same result if no other
506 // Assembler functions are invoked in between GetCode() calls. 506 // Assembler functions are invoked in between GetCode() calls.
507 void GetCode(CodeDesc* desc); 507 void GetCode(Isolate* isolate, CodeDesc* desc);
508 508
509 // Label operations & relative jumps (PPUM Appendix D). 509 // Label operations & relative jumps (PPUM Appendix D).
510 // 510 //
511 // Takes a branch opcode (cc) and a label (L) and generates 511 // Takes a branch opcode (cc) and a label (L) and generates
512 // either a backward branch or a forward branch and links it 512 // either a backward branch or a forward branch and links it
513 // to the label fixup chain. Usage: 513 // to the label fixup chain. Usage:
514 // 514 //
515 // Label L; // unbound label 515 // Label L; // unbound label
516 // j(cc, &L); // forward branch to unbound label 516 // j(cc, &L); // forward branch to unbound label
517 // bind(&L); // bind label to the current pc 517 // bind(&L); // bind label to the current pc
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 } 586 }
587 INLINE(static Address target_address_at(Address pc, Code* code)); 587 INLINE(static Address target_address_at(Address pc, Code* code));
588 INLINE(static void set_target_address_at( 588 INLINE(static void set_target_address_at(
589 Isolate* isolate, Address pc, Code* code, Address target, 589 Isolate* isolate, Address pc, Code* code, Address target,
590 ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED)); 590 ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED));
591 591
592 // Return the code target address at a call site from the return address 592 // Return the code target address at a call site from the return address
593 // of that call in the instruction stream. 593 // of that call in the instruction stream.
594 inline static Address target_address_from_return_address(Address pc); 594 inline static Address target_address_from_return_address(Address pc);
595 595
596 static void set_heap_number(Handle<HeapObject> number, Address pc) {
597 UNIMPLEMENTED();
598 }
599
596 static void JumpLabelToJumpRegister(Address pc); 600 static void JumpLabelToJumpRegister(Address pc);
597 601
598 static void QuietNaN(HeapObject* nan); 602 static void QuietNaN(HeapObject* nan);
599 603
600 // This sets the branch destination (which gets loaded at the call address). 604 // This sets the branch destination (which gets loaded at the call address).
601 // This is for calls and branches within generated code. The serializer 605 // This is for calls and branches within generated code. The serializer
602 // has already deserialized the lui/ori instructions etc. 606 // has already deserialized the lui/ori instructions etc.
603 inline static void deserialization_set_special_target_at( 607 inline static void deserialization_set_special_target_at(
604 Isolate* isolate, Address instruction_payload, Code* code, 608 Isolate* isolate, Address instruction_payload, Code* code,
605 Address target) { 609 Address target) {
(...skipping 1659 matching lines...) Expand 10 before | Expand all | Expand 10 after
2265 public: 2269 public:
2266 explicit EnsureSpace(Assembler* assembler) { 2270 explicit EnsureSpace(Assembler* assembler) {
2267 assembler->CheckBuffer(); 2271 assembler->CheckBuffer();
2268 } 2272 }
2269 }; 2273 };
2270 2274
2271 } // namespace internal 2275 } // namespace internal
2272 } // namespace v8 2276 } // namespace v8
2273 2277
2274 #endif // V8_ARM_ASSEMBLER_MIPS_H_ 2278 #endif // V8_ARM_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/codegen-mips.cc ('k') | src/mips64/assembler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698