OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 HBasicBlock* entry_block() const { return entry_block_; } | 289 HBasicBlock* entry_block() const { return entry_block_; } |
290 HEnvironment* start_environment() const { return start_environment_; } | 290 HEnvironment* start_environment() const { return start_environment_; } |
291 | 291 |
292 void FinalizeUniqueValueIds(); | 292 void FinalizeUniqueValueIds(); |
293 void InitializeInferredTypes(); | 293 void InitializeInferredTypes(); |
294 void InsertTypeConversions(); | 294 void InsertTypeConversions(); |
295 void MergeRemovableSimulates(); | 295 void MergeRemovableSimulates(); |
296 void InsertRepresentationChanges(); | 296 void InsertRepresentationChanges(); |
297 void MarkDeoptimizeOnUndefined(); | 297 void MarkDeoptimizeOnUndefined(); |
298 void ComputeMinusZeroChecks(); | 298 void ComputeMinusZeroChecks(); |
299 void ComputeSafeUint32Operations(); | |
300 bool ProcessArgumentsObject(); | 299 bool ProcessArgumentsObject(); |
301 void EliminateRedundantPhis(); | 300 void EliminateRedundantPhis(); |
302 void Canonicalize(); | 301 void Canonicalize(); |
303 void OrderBlocks(); | 302 void OrderBlocks(); |
304 void AssignDominators(); | 303 void AssignDominators(); |
305 void SetupInformativeDefinitions(); | 304 void SetupInformativeDefinitions(); |
306 void EliminateRedundantBoundsChecks(); | 305 void EliminateRedundantBoundsChecks(); |
307 void DehoistSimpleArrayIndexComputations(); | 306 void DehoistSimpleArrayIndexComputations(); |
308 void RestoreActualValues(); | 307 void RestoreActualValues(); |
309 void DeadCodeElimination(const char *phase_name); | 308 void DeadCodeElimination(const char *phase_name); |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 DependentCode::kElementsCantBeAddedGroup, info()); | 421 DependentCode::kElementsCantBeAddedGroup, info()); |
423 isolate()->initial_array_prototype()->map()->AddDependentCompilationInfo( | 422 isolate()->initial_array_prototype()->map()->AddDependentCompilationInfo( |
424 DependentCode::kElementsCantBeAddedGroup, info()); | 423 DependentCode::kElementsCantBeAddedGroup, info()); |
425 depends_on_empty_array_proto_elements_ = true; | 424 depends_on_empty_array_proto_elements_ = true; |
426 } | 425 } |
427 | 426 |
428 bool depends_on_empty_array_proto_elements() { | 427 bool depends_on_empty_array_proto_elements() { |
429 return depends_on_empty_array_proto_elements_; | 428 return depends_on_empty_array_proto_elements_; |
430 } | 429 } |
431 | 430 |
| 431 bool has_uint32_instructions() { |
| 432 ASSERT(uint32_instructions_ == NULL || !uint32_instructions_->is_empty()); |
| 433 return uint32_instructions_ != NULL; |
| 434 } |
| 435 |
| 436 ZoneList<HInstruction*>* uint32_instructions() { |
| 437 ASSERT(uint32_instructions_ == NULL || !uint32_instructions_->is_empty()); |
| 438 return uint32_instructions_; |
| 439 } |
| 440 |
432 void RecordUint32Instruction(HInstruction* instr) { | 441 void RecordUint32Instruction(HInstruction* instr) { |
| 442 ASSERT(uint32_instructions_ == NULL || !uint32_instructions_->is_empty()); |
433 if (uint32_instructions_ == NULL) { | 443 if (uint32_instructions_ == NULL) { |
434 uint32_instructions_ = new(zone()) ZoneList<HInstruction*>(4, zone()); | 444 uint32_instructions_ = new(zone()) ZoneList<HInstruction*>(4, zone()); |
435 } | 445 } |
436 uint32_instructions_->Add(instr, zone()); | 446 uint32_instructions_->Add(instr, zone()); |
437 } | 447 } |
438 | 448 |
439 private: | 449 private: |
440 HConstant* GetConstant(SetOncePointer<HConstant>* pointer, | 450 HConstant* GetConstant(SetOncePointer<HConstant>* pointer, |
441 int32_t integer_value); | 451 int32_t integer_value); |
442 | 452 |
(...skipping 1652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2095 EmbeddedVector<char, 64> filename_; | 2105 EmbeddedVector<char, 64> filename_; |
2096 HeapStringAllocator string_allocator_; | 2106 HeapStringAllocator string_allocator_; |
2097 StringStream trace_; | 2107 StringStream trace_; |
2098 int indent_; | 2108 int indent_; |
2099 }; | 2109 }; |
2100 | 2110 |
2101 | 2111 |
2102 } } // namespace v8::internal | 2112 } } // namespace v8::internal |
2103 | 2113 |
2104 #endif // V8_HYDROGEN_H_ | 2114 #endif // V8_HYDROGEN_H_ |
OLD | NEW |