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 9624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9635 } | 9635 } |
9636 | 9636 |
9637 | 9637 |
9638 Context* JSFunction::NativeContextFromLiterals(FixedArray* literals) { | 9638 Context* JSFunction::NativeContextFromLiterals(FixedArray* literals) { |
9639 return Context::cast(literals->get(JSFunction::kLiteralNativeContextIndex)); | 9639 return Context::cast(literals->get(JSFunction::kLiteralNativeContextIndex)); |
9640 } | 9640 } |
9641 | 9641 |
9642 | 9642 |
9643 bool JSFunction::PassesHydrogenFilter() { | 9643 bool JSFunction::PassesHydrogenFilter() { |
9644 String* name = shared()->DebugName(); | 9644 String* name = shared()->DebugName(); |
9645 if (*FLAG_hydrogen_filter != '\0') { | 9645 // The filter string is a pattern that matches functions in this way: |
| 9646 // "*" all; the default |
| 9647 // "-" all but the top-level function |
| 9648 // "-name" all but the function "name" |
| 9649 // "" only the top-level function |
| 9650 // "name" only the function "name" |
| 9651 // "name*" only functions starting with "name" |
| 9652 if (*FLAG_hydrogen_filter != '*') { |
9646 Vector<const char> filter = CStrVector(FLAG_hydrogen_filter); | 9653 Vector<const char> filter = CStrVector(FLAG_hydrogen_filter); |
| 9654 if (filter.length() == 0) return name->length() == 0; |
9647 if (filter[0] != '-' && name->IsUtf8EqualTo(filter)) return true; | 9655 if (filter[0] != '-' && name->IsUtf8EqualTo(filter)) return true; |
9648 if (filter[0] == '-' && | 9656 if (filter[0] == '-' && |
9649 !name->IsUtf8EqualTo(filter.SubVector(1, filter.length()))) { | 9657 !name->IsUtf8EqualTo(filter.SubVector(1, filter.length()))) { |
9650 return true; | 9658 return true; |
9651 } | 9659 } |
9652 if (filter[filter.length() - 1] == '*' && | 9660 if (filter[filter.length() - 1] == '*' && |
9653 name->IsUtf8EqualTo(filter.SubVector(0, filter.length() - 1), true)) { | 9661 name->IsUtf8EqualTo(filter.SubVector(0, filter.length() - 1), true)) { |
9654 return true; | 9662 return true; |
9655 } | 9663 } |
9656 return false; | 9664 return false; |
(...skipping 6291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15948 | 15956 |
15949 void PropertyCell::AddDependentCode(Handle<Code> code) { | 15957 void PropertyCell::AddDependentCode(Handle<Code> code) { |
15950 Handle<DependentCode> codes = DependentCode::Insert( | 15958 Handle<DependentCode> codes = DependentCode::Insert( |
15951 Handle<DependentCode>(dependent_code()), | 15959 Handle<DependentCode>(dependent_code()), |
15952 DependentCode::kPropertyCellChangedGroup, code); | 15960 DependentCode::kPropertyCellChangedGroup, code); |
15953 if (*codes != dependent_code()) set_dependent_code(*codes); | 15961 if (*codes != dependent_code()) set_dependent_code(*codes); |
15954 } | 15962 } |
15955 | 15963 |
15956 | 15964 |
15957 } } // namespace v8::internal | 15965 } } // namespace v8::internal |
OLD | NEW |