| OLD | NEW | 
|      1 // Copyright 2013 the V8 project authors. All rights reserved. |      1 // Copyright 2013 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 1753 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   1764   // Check if we should create a cons string. |   1764   // Check if we should create a cons string. | 
|   1765   IfBuilder if_createcons(this); |   1765   IfBuilder if_createcons(this); | 
|   1766   if_createcons.If<HCompareNumericAndBranch>( |   1766   if_createcons.If<HCompareNumericAndBranch>( | 
|   1767       length, Add<HConstant>(ConsString::kMinLength), Token::GTE); |   1767       length, Add<HConstant>(ConsString::kMinLength), Token::GTE); | 
|   1768   if_createcons.Then(); |   1768   if_createcons.Then(); | 
|   1769   { |   1769   { | 
|   1770     // Allocate the cons string object. HAllocate does not care whether we |   1770     // Allocate the cons string object. HAllocate does not care whether we | 
|   1771     // pass CONS_STRING_TYPE or CONS_ASCII_STRING_TYPE here, so we just use |   1771     // pass CONS_STRING_TYPE or CONS_ASCII_STRING_TYPE here, so we just use | 
|   1772     // CONS_STRING_TYPE here. Below we decide whether the cons string is |   1772     // CONS_STRING_TYPE here. Below we decide whether the cons string is | 
|   1773     // one-byte or two-byte and set the appropriate map. |   1773     // one-byte or two-byte and set the appropriate map. | 
 |   1774     ASSERT(HAllocate::CompatibleInstanceTypes(CONS_STRING_TYPE, | 
 |   1775                                               CONS_ASCII_STRING_TYPE)); | 
|   1774     HAllocate* string = Add<HAllocate>(Add<HConstant>(ConsString::kSize), |   1776     HAllocate* string = Add<HAllocate>(Add<HConstant>(ConsString::kSize), | 
|   1775                                        HType::String(), pretenure_flag, |   1777                                        HType::String(), pretenure_flag, | 
|   1776                                        CONS_STRING_TYPE); |   1778                                        CONS_STRING_TYPE); | 
|   1777  |   1779  | 
|   1778     // Compute the intersection of instance types. |   1780     // Compute the intersection of instance types. | 
|   1779     HValue* anded_instance_types = AddUncasted<HBitwise>( |   1781     HValue* anded_instance_types = AddUncasted<HBitwise>( | 
|   1780         Token::BIT_AND, left_instance_type, right_instance_type); |   1782         Token::BIT_AND, left_instance_type, right_instance_type); | 
|   1781  |   1783  | 
|   1782     // We create a one-byte cons string if |   1784     // We create a one-byte cons string if | 
|   1783     // 1. both strings are one-byte, or |   1785     // 1. both strings are one-byte, or | 
| (...skipping 9029 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  10813   if (ShouldProduceTraceOutput()) { |  10815   if (ShouldProduceTraceOutput()) { | 
|  10814     isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |  10816     isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 
|  10815   } |  10817   } | 
|  10816  |  10818  | 
|  10817 #ifdef DEBUG |  10819 #ifdef DEBUG | 
|  10818   graph_->Verify(false);  // No full verify. |  10820   graph_->Verify(false);  // No full verify. | 
|  10819 #endif |  10821 #endif | 
|  10820 } |  10822 } | 
|  10821  |  10823  | 
|  10822 } }  // namespace v8::internal |  10824 } }  // namespace v8::internal | 
| OLD | NEW |