| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |