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

Side by Side Diff: src/assembler.h

Issue 133443009: A64: Synchronize with r17441. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « src/arraybuffer.js ('k') | src/assembler.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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 135
136 136
137 // Enable a unsupported feature within a scope for cross-compiling for a 137 // Enable a unsupported feature within a scope for cross-compiling for a
138 // different CPU. 138 // different CPU.
139 class PlatformFeatureScope BASE_EMBEDDED { 139 class PlatformFeatureScope BASE_EMBEDDED {
140 public: 140 public:
141 explicit PlatformFeatureScope(CpuFeature f); 141 explicit PlatformFeatureScope(CpuFeature f);
142 ~PlatformFeatureScope(); 142 ~PlatformFeatureScope();
143 143
144 private: 144 private:
145 uint64_t old_supported_; 145 uint64_t old_cross_compile_;
146 uint64_t old_found_by_runtime_probing_only_;
147 }; 146 };
148 147
149 148
150 // ----------------------------------------------------------------------------- 149 // -----------------------------------------------------------------------------
151 // Labels represent pc locations; they are typically jump or call targets. 150 // Labels represent pc locations; they are typically jump or call targets.
152 // After declaration, a label can be freely used to denote known or (yet) 151 // After declaration, a label can be freely used to denote known or (yet)
153 // unknown pc location. Assembler::bind() is used to bind a label to the 152 // unknown pc location. Assembler::bind() is used to bind a label to the
154 // current pc. A label can be bound only once. 153 // current pc. A label can be bound only once.
155 154
156 class Label BASE_EMBEDDED { 155 class Label BASE_EMBEDDED {
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 INLINE(void set_target_object(Object* target, 394 INLINE(void set_target_object(Object* target,
396 WriteBarrierMode mode = UPDATE_WRITE_BARRIER)); 395 WriteBarrierMode mode = UPDATE_WRITE_BARRIER));
397 INLINE(Address target_runtime_entry(Assembler* origin)); 396 INLINE(Address target_runtime_entry(Assembler* origin));
398 INLINE(void set_target_runtime_entry(Address target, 397 INLINE(void set_target_runtime_entry(Address target,
399 WriteBarrierMode mode = 398 WriteBarrierMode mode =
400 UPDATE_WRITE_BARRIER)); 399 UPDATE_WRITE_BARRIER));
401 INLINE(Cell* target_cell()); 400 INLINE(Cell* target_cell());
402 INLINE(Handle<Cell> target_cell_handle()); 401 INLINE(Handle<Cell> target_cell_handle());
403 INLINE(void set_target_cell(Cell* cell, 402 INLINE(void set_target_cell(Cell* cell,
404 WriteBarrierMode mode = UPDATE_WRITE_BARRIER)); 403 WriteBarrierMode mode = UPDATE_WRITE_BARRIER));
404 INLINE(Handle<Object> code_age_stub_handle(Assembler* origin));
405 INLINE(Code* code_age_stub()); 405 INLINE(Code* code_age_stub());
406 INLINE(void set_code_age_stub(Code* stub)); 406 INLINE(void set_code_age_stub(Code* stub));
407 407
408 // Read the address of the word containing the target_address in an 408 // Read the address of the word containing the target_address in an
409 // instruction stream. What this means exactly is architecture-independent. 409 // instruction stream. What this means exactly is architecture-independent.
410 // The only architecture-independent user of this function is the serializer. 410 // The only architecture-independent user of this function is the serializer.
411 // The serializer uses it to find out how many raw bytes of instruction to 411 // The serializer uses it to find out how many raw bytes of instruction to
412 // output before the next target. Architecture-independent code shouldn't 412 // output before the next target. Architecture-independent code shouldn't
413 // dereference the pointer it gets back from this. 413 // dereference the pointer it gets back from this.
414 INLINE(Address target_address_address()); 414 INLINE(Address target_address_address());
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
721 static ExternalReference fill_heap_number_with_random_function( 721 static ExternalReference fill_heap_number_with_random_function(
722 Isolate* isolate); 722 Isolate* isolate);
723 static ExternalReference random_uint32_function(Isolate* isolate); 723 static ExternalReference random_uint32_function(Isolate* isolate);
724 static ExternalReference transcendental_cache_array_address(Isolate* isolate); 724 static ExternalReference transcendental_cache_array_address(Isolate* isolate);
725 static ExternalReference delete_handle_scope_extensions(Isolate* isolate); 725 static ExternalReference delete_handle_scope_extensions(Isolate* isolate);
726 726
727 static ExternalReference get_date_field_function(Isolate* isolate); 727 static ExternalReference get_date_field_function(Isolate* isolate);
728 static ExternalReference date_cache_stamp(Isolate* isolate); 728 static ExternalReference date_cache_stamp(Isolate* isolate);
729 729
730 static ExternalReference get_make_code_young_function(Isolate* isolate); 730 static ExternalReference get_make_code_young_function(Isolate* isolate);
731 static ExternalReference get_mark_code_as_executed_function(Isolate* isolate);
732
733 // New heap objects tracking support.
734 static ExternalReference record_object_allocation_function(Isolate* isolate);
731 735
732 // Deoptimization support. 736 // Deoptimization support.
733 static ExternalReference new_deoptimizer_function(Isolate* isolate); 737 static ExternalReference new_deoptimizer_function(Isolate* isolate);
734 static ExternalReference compute_output_frames_function(Isolate* isolate); 738 static ExternalReference compute_output_frames_function(Isolate* isolate);
735 739
736 // Log support. 740 // Log support.
737 static ExternalReference log_enter_external_function(Isolate* isolate); 741 static ExternalReference log_enter_external_function(Isolate* isolate);
738 static ExternalReference log_leave_external_function(Isolate* isolate); 742 static ExternalReference log_leave_external_function(Isolate* isolate);
739 743
740 // Static data in the keyed lookup cache. 744 // Static data in the keyed lookup cache.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 // Static variables containing common double constants. 808 // Static variables containing common double constants.
805 static ExternalReference address_of_min_int(); 809 static ExternalReference address_of_min_int();
806 static ExternalReference address_of_one_half(); 810 static ExternalReference address_of_one_half();
807 static ExternalReference address_of_minus_one_half(); 811 static ExternalReference address_of_minus_one_half();
808 static ExternalReference address_of_minus_zero(); 812 static ExternalReference address_of_minus_zero();
809 static ExternalReference address_of_zero(); 813 static ExternalReference address_of_zero();
810 static ExternalReference address_of_uint8_max_value(); 814 static ExternalReference address_of_uint8_max_value();
811 static ExternalReference address_of_negative_infinity(); 815 static ExternalReference address_of_negative_infinity();
812 static ExternalReference address_of_canonical_non_hole_nan(); 816 static ExternalReference address_of_canonical_non_hole_nan();
813 static ExternalReference address_of_the_hole_nan(); 817 static ExternalReference address_of_the_hole_nan();
818 static ExternalReference address_of_uint32_bias();
814 819
815 static ExternalReference math_sin_double_function(Isolate* isolate); 820 static ExternalReference math_sin_double_function(Isolate* isolate);
816 static ExternalReference math_cos_double_function(Isolate* isolate); 821 static ExternalReference math_cos_double_function(Isolate* isolate);
817 static ExternalReference math_tan_double_function(Isolate* isolate); 822 static ExternalReference math_tan_double_function(Isolate* isolate);
818 static ExternalReference math_log_double_function(Isolate* isolate); 823 static ExternalReference math_log_double_function(Isolate* isolate);
819 824
820 static ExternalReference math_exp_constants(int constant_index); 825 static ExternalReference math_exp_constants(int constant_index);
821 static ExternalReference math_exp_log_table(); 826 static ExternalReference math_exp_log_table();
822 827
823 static ExternalReference page_flags(Page* page); 828 static ExternalReference page_flags(Page* page);
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
1043 public: 1048 public:
1044 NullCallWrapper() { } 1049 NullCallWrapper() { }
1045 virtual ~NullCallWrapper() { } 1050 virtual ~NullCallWrapper() { }
1046 virtual void BeforeCall(int call_size) const { } 1051 virtual void BeforeCall(int call_size) const { }
1047 virtual void AfterCall() const { } 1052 virtual void AfterCall() const { }
1048 }; 1053 };
1049 1054
1050 } } // namespace v8::internal 1055 } } // namespace v8::internal
1051 1056
1052 #endif // V8_ASSEMBLER_H_ 1057 #endif // V8_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/arraybuffer.js ('k') | src/assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698