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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 kind, extra_state, cache_holder); | 108 kind, extra_state, cache_holder); |
109 Handle<Object> probe(stub_holder->FindInCodeCache(*name, flags), isolate_); | 109 Handle<Object> probe(stub_holder->FindInCodeCache(*name, flags), isolate_); |
110 if (probe->IsCode()) return Handle<Code>::cast(probe); | 110 if (probe->IsCode()) return Handle<Code>::cast(probe); |
111 return Handle<Code>::null(); | 111 return Handle<Code>::null(); |
112 } | 112 } |
113 | 113 |
114 | 114 |
115 Handle<Code> StubCache::FindHandler(Handle<Name> name, | 115 Handle<Code> StubCache::FindHandler(Handle<Name> name, |
116 Handle<Map> stub_holder, | 116 Handle<Map> stub_holder, |
117 Code::Kind kind, | 117 Code::Kind kind, |
118 InlineCacheHolderFlag cache_holder, | 118 InlineCacheHolderFlag cache_holder) { |
119 StrictModeFlag strict_mode) { | |
120 ExtraICState extra_ic_state = kNoExtraICState; | |
121 if (kind == Code::STORE_IC) { | |
122 extra_ic_state = StoreIC::ComputeExtraICState(strict_mode); | |
123 } else if (kind == Code::KEYED_STORE_IC) { | |
124 extra_ic_state = KeyedStoreIC::ComputeExtraICState(strict_mode, | |
125 STANDARD_STORE); | |
126 } | |
127 Code::Flags flags = Code::ComputeMonomorphicFlags( | 119 Code::Flags flags = Code::ComputeMonomorphicFlags( |
128 Code::HANDLER, extra_ic_state, cache_holder, Code::NORMAL, kind); | 120 Code::HANDLER, kNoExtraICState, cache_holder, Code::NORMAL, kind); |
129 | 121 |
130 Handle<Object> probe(stub_holder->FindInCodeCache(*name, flags), isolate_); | 122 Handle<Object> probe(stub_holder->FindInCodeCache(*name, flags), isolate_); |
131 if (probe->IsCode()) return Handle<Code>::cast(probe); | 123 if (probe->IsCode()) return Handle<Code>::cast(probe); |
132 return Handle<Code>::null(); | 124 return Handle<Code>::null(); |
133 } | 125 } |
134 | 126 |
135 | 127 |
136 Handle<Code> StubCache::ComputeMonomorphicIC( | 128 Handle<Code> StubCache::ComputeMonomorphicIC( |
137 Handle<Name> name, | 129 Handle<Name> name, |
138 Handle<Type> type, | 130 Handle<Type> type, |
(...skipping 1767 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1906 Handle<FunctionTemplateInfo>( | 1898 Handle<FunctionTemplateInfo>( |
1907 FunctionTemplateInfo::cast(signature->receiver())); | 1899 FunctionTemplateInfo::cast(signature->receiver())); |
1908 } | 1900 } |
1909 } | 1901 } |
1910 | 1902 |
1911 is_simple_api_call_ = true; | 1903 is_simple_api_call_ = true; |
1912 } | 1904 } |
1913 | 1905 |
1914 | 1906 |
1915 } } // namespace v8::internal | 1907 } } // namespace v8::internal |
OLD | NEW |