| 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 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 } | 382 } |
| 383 | 383 |
| 384 void MarkRecursive() { | 384 void MarkRecursive() { |
| 385 is_recursive_ = true; | 385 is_recursive_ = true; |
| 386 } | 386 } |
| 387 | 387 |
| 388 bool is_recursive() const { | 388 bool is_recursive() const { |
| 389 return is_recursive_; | 389 return is_recursive_; |
| 390 } | 390 } |
| 391 | 391 |
| 392 void MarkDependsOnEmptyArrayProtoElements() { |
| 393 depends_on_empty_array_proto_elements_ = true; |
| 394 } |
| 395 |
| 396 bool depends_on_empty_array_proto_elements() { |
| 397 return depends_on_empty_array_proto_elements_; |
| 398 } |
| 399 |
| 392 void RecordUint32Instruction(HInstruction* instr) { | 400 void RecordUint32Instruction(HInstruction* instr) { |
| 393 if (uint32_instructions_ == NULL) { | 401 if (uint32_instructions_ == NULL) { |
| 394 uint32_instructions_ = new(zone()) ZoneList<HInstruction*>(4, zone()); | 402 uint32_instructions_ = new(zone()) ZoneList<HInstruction*>(4, zone()); |
| 395 } | 403 } |
| 396 uint32_instructions_->Add(instr, zone()); | 404 uint32_instructions_->Add(instr, zone()); |
| 397 } | 405 } |
| 398 | 406 |
| 399 private: | 407 private: |
| 400 HConstant* GetConstantInt32(SetOncePointer<HConstant>* pointer, | 408 HConstant* GetConstantInt32(SetOncePointer<HConstant>* pointer, |
| 401 int32_t integer_value); | 409 int32_t integer_value); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 | 450 |
| 443 SetOncePointer<HBasicBlock> osr_loop_entry_; | 451 SetOncePointer<HBasicBlock> osr_loop_entry_; |
| 444 SetOncePointer<ZoneList<HUnknownOSRValue*> > osr_values_; | 452 SetOncePointer<ZoneList<HUnknownOSRValue*> > osr_values_; |
| 445 | 453 |
| 446 CompilationInfo* info_; | 454 CompilationInfo* info_; |
| 447 Zone* zone_; | 455 Zone* zone_; |
| 448 | 456 |
| 449 bool is_recursive_; | 457 bool is_recursive_; |
| 450 bool use_optimistic_licm_; | 458 bool use_optimistic_licm_; |
| 451 bool has_soft_deoptimize_; | 459 bool has_soft_deoptimize_; |
| 460 bool depends_on_empty_array_proto_elements_; |
| 452 int type_change_checksum_; | 461 int type_change_checksum_; |
| 453 | 462 |
| 454 DISALLOW_COPY_AND_ASSIGN(HGraph); | 463 DISALLOW_COPY_AND_ASSIGN(HGraph); |
| 455 }; | 464 }; |
| 456 | 465 |
| 457 | 466 |
| 458 Zone* HBasicBlock::zone() const { return graph_->zone(); } | 467 Zone* HBasicBlock::zone() const { return graph_->zone(); } |
| 459 | 468 |
| 460 | 469 |
| 461 // Type of stack frame an environment might refer to. | 470 // Type of stack frame an environment might refer to. |
| (...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 995 ElementsKind elements_kind, | 1004 ElementsKind elements_kind, |
| 996 bool is_store); | 1005 bool is_store); |
| 997 | 1006 |
| 998 HInstruction* BuildFastElementAccess( | 1007 HInstruction* BuildFastElementAccess( |
| 999 HValue* elements, | 1008 HValue* elements, |
| 1000 HValue* checked_key, | 1009 HValue* checked_key, |
| 1001 HValue* val, | 1010 HValue* val, |
| 1002 HValue* dependency, | 1011 HValue* dependency, |
| 1003 ElementsKind elements_kind, | 1012 ElementsKind elements_kind, |
| 1004 bool is_store, | 1013 bool is_store, |
| 1014 LoadKeyedHoleMode load_mode, |
| 1005 KeyedAccessStoreMode store_mode); | 1015 KeyedAccessStoreMode store_mode); |
| 1006 | 1016 |
| 1007 HValue* BuildCheckForCapacityGrow(HValue* object, | 1017 HValue* BuildCheckForCapacityGrow(HValue* object, |
| 1008 HValue* elements, | 1018 HValue* elements, |
| 1009 ElementsKind kind, | 1019 ElementsKind kind, |
| 1010 HValue* length, | 1020 HValue* length, |
| 1011 HValue* key, | 1021 HValue* key, |
| 1012 bool is_js_array); | 1022 bool is_js_array); |
| 1013 | 1023 |
| 1014 HValue* BuildCopyElementsOnWrite(HValue* object, | 1024 HValue* BuildCopyElementsOnWrite(HValue* object, |
| 1015 HValue* elements, | 1025 HValue* elements, |
| 1016 ElementsKind kind, | 1026 ElementsKind kind, |
| 1017 HValue* length); | 1027 HValue* length); |
| 1018 | 1028 |
| 1019 HInstruction* BuildUncheckedMonomorphicElementAccess( | 1029 HInstruction* BuildUncheckedMonomorphicElementAccess( |
| 1020 HValue* object, | 1030 HValue* object, |
| 1021 HValue* key, | 1031 HValue* key, |
| 1022 HValue* val, | 1032 HValue* val, |
| 1023 HCheckMaps* mapcheck, | 1033 HCheckMaps* mapcheck, |
| 1024 bool is_js_array, | 1034 bool is_js_array, |
| 1025 ElementsKind elements_kind, | 1035 ElementsKind elements_kind, |
| 1026 bool is_store, | 1036 bool is_store, |
| 1037 LoadKeyedHoleMode load_mode, |
| 1027 KeyedAccessStoreMode store_mode, | 1038 KeyedAccessStoreMode store_mode, |
| 1028 Representation checked_index_representation = Representation::None()); | 1039 Representation checked_index_representation = Representation::None()); |
| 1029 | 1040 |
| 1030 HInstruction* BuildStoreMap(HValue* object, HValue* map); | 1041 HInstruction* BuildStoreMap(HValue* object, HValue* map); |
| 1031 HInstruction* BuildStoreMap(HValue* object, Handle<Map> map); | 1042 HInstruction* BuildStoreMap(HValue* object, Handle<Map> map); |
| 1032 | 1043 |
| 1033 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL); | 1044 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL); |
| 1034 | 1045 |
| 1035 class IfBuilder { | 1046 class IfBuilder { |
| 1036 public: | 1047 public: |
| (...skipping 976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2013 EmbeddedVector<char, 64> filename_; | 2024 EmbeddedVector<char, 64> filename_; |
| 2014 HeapStringAllocator string_allocator_; | 2025 HeapStringAllocator string_allocator_; |
| 2015 StringStream trace_; | 2026 StringStream trace_; |
| 2016 int indent_; | 2027 int indent_; |
| 2017 }; | 2028 }; |
| 2018 | 2029 |
| 2019 | 2030 |
| 2020 } } // namespace v8::internal | 2031 } } // namespace v8::internal |
| 2021 | 2032 |
| 2022 #endif // V8_HYDROGEN_H_ | 2033 #endif // V8_HYDROGEN_H_ |
| OLD | NEW |