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 3650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3661 } | 3661 } |
3662 } | 3662 } |
3663 return new(zone) HStringAdd(context, left, right, flags); | 3663 return new(zone) HStringAdd(context, left, right, flags); |
3664 } | 3664 } |
3665 | 3665 |
3666 | 3666 |
3667 HInstruction* HStringCharFromCode::New( | 3667 HInstruction* HStringCharFromCode::New( |
3668 Zone* zone, HValue* context, HValue* char_code) { | 3668 Zone* zone, HValue* context, HValue* char_code) { |
3669 if (FLAG_fold_constants && char_code->IsConstant()) { | 3669 if (FLAG_fold_constants && char_code->IsConstant()) { |
3670 HConstant* c_code = HConstant::cast(char_code); | 3670 HConstant* c_code = HConstant::cast(char_code); |
3671 Isolate* isolate = Isolate::Current(); | 3671 Isolate* isolate = zone->isolate(); |
3672 if (c_code->HasNumberValue()) { | 3672 if (c_code->HasNumberValue()) { |
3673 if (std::isfinite(c_code->DoubleValue())) { | 3673 if (std::isfinite(c_code->DoubleValue())) { |
3674 uint32_t code = c_code->NumberValueAsInteger32() & 0xffff; | 3674 uint32_t code = c_code->NumberValueAsInteger32() & 0xffff; |
3675 return HConstant::New(zone, context, | 3675 return HConstant::New(zone, context, |
3676 LookupSingleCharacterStringFromCode(isolate, code)); | 3676 LookupSingleCharacterStringFromCode(isolate, code)); |
3677 } | 3677 } |
3678 return HConstant::New(zone, context, isolate->factory()->empty_string()); | 3678 return HConstant::New(zone, context, isolate->factory()->empty_string()); |
3679 } | 3679 } |
3680 } | 3680 } |
3681 return new(zone) HStringCharFromCode(context, char_code); | 3681 return new(zone) HStringCharFromCode(context, char_code); |
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4225 break; | 4225 break; |
4226 case kExternalMemory: | 4226 case kExternalMemory: |
4227 stream->Add("[external-memory]"); | 4227 stream->Add("[external-memory]"); |
4228 break; | 4228 break; |
4229 } | 4229 } |
4230 | 4230 |
4231 stream->Add("@%d", offset()); | 4231 stream->Add("@%d", offset()); |
4232 } | 4232 } |
4233 | 4233 |
4234 } } // namespace v8::internal | 4234 } } // namespace v8::internal |
OLD | NEW |