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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 Handle<Code> ComputeMonomorphicIC(Handle<HeapObject> receiver, | 98 Handle<Code> ComputeMonomorphicIC(Handle<HeapObject> receiver, |
99 Handle<Code> handler, | 99 Handle<Code> handler, |
100 Handle<Name> name, | 100 Handle<Name> name, |
101 StrictModeFlag strict_mode); | 101 StrictModeFlag strict_mode); |
102 | 102 |
103 // Computes the right stub matching. Inserts the result in the | 103 // Computes the right stub matching. Inserts the result in the |
104 // cache before returning. This might compile a stub if needed. | 104 // cache before returning. This might compile a stub if needed. |
105 Handle<Code> ComputeLoadNonexistent(Handle<Name> name, | 105 Handle<Code> ComputeLoadNonexistent(Handle<Name> name, |
106 Handle<JSObject> object); | 106 Handle<JSObject> object); |
107 | 107 |
108 Handle<Code> ComputeLoadGlobal(Handle<Name> name, | |
109 Handle<JSObject> object, | |
110 Handle<GlobalObject> holder, | |
111 Handle<PropertyCell> cell, | |
112 bool is_dont_delete); | |
113 | |
114 // --- | 108 // --- |
115 | 109 |
116 Handle<Code> ComputeKeyedLoadField(Handle<Name> name, | 110 Handle<Code> ComputeKeyedLoadField(Handle<Name> name, |
117 Handle<JSObject> object, | 111 Handle<JSObject> object, |
118 Handle<JSObject> holder, | 112 Handle<JSObject> holder, |
119 PropertyIndex field_index, | 113 PropertyIndex field_index, |
120 Representation representation); | 114 Representation representation); |
121 | 115 |
122 Handle<Code> ComputeKeyedLoadCallback( | 116 Handle<Code> ComputeKeyedLoadCallback( |
123 Handle<Name> name, | 117 Handle<Name> name, |
124 Handle<JSObject> object, | 118 Handle<JSObject> object, |
125 Handle<JSObject> holder, | 119 Handle<JSObject> holder, |
126 Handle<ExecutableAccessorInfo> callback); | 120 Handle<ExecutableAccessorInfo> callback); |
127 | 121 |
128 Handle<Code> ComputeKeyedLoadCallback( | 122 Handle<Code> ComputeKeyedLoadCallback( |
129 Handle<Name> name, | 123 Handle<Name> name, |
130 Handle<JSObject> object, | 124 Handle<JSObject> object, |
131 Handle<JSObject> holder, | 125 Handle<JSObject> holder, |
132 const CallOptimization& call_optimization); | 126 const CallOptimization& call_optimization); |
133 | 127 |
134 Handle<Code> ComputeKeyedLoadConstant(Handle<Name> name, | 128 Handle<Code> ComputeKeyedLoadConstant(Handle<Name> name, |
135 Handle<JSObject> object, | 129 Handle<JSObject> object, |
136 Handle<JSObject> holder, | 130 Handle<JSObject> holder, |
137 Handle<Object> value); | 131 Handle<Object> value); |
138 | 132 |
139 Handle<Code> ComputeKeyedLoadInterceptor(Handle<Name> name, | 133 Handle<Code> ComputeKeyedLoadInterceptor(Handle<Name> name, |
140 Handle<JSObject> object, | 134 Handle<JSObject> object, |
141 Handle<JSObject> holder); | 135 Handle<JSObject> holder); |
142 | 136 |
143 Handle<Code> ComputeStoreGlobal(Handle<Name> name, | |
144 Handle<GlobalObject> object, | |
145 Handle<PropertyCell> cell, | |
146 Handle<Object> value, | |
147 StrictModeFlag strict_mode); | |
148 | |
149 Handle<Code> ComputeKeyedLoadElement(Handle<Map> receiver_map); | 137 Handle<Code> ComputeKeyedLoadElement(Handle<Map> receiver_map); |
150 | 138 |
151 Handle<Code> ComputeKeyedStoreElement(Handle<Map> receiver_map, | 139 Handle<Code> ComputeKeyedStoreElement(Handle<Map> receiver_map, |
152 StrictModeFlag strict_mode, | 140 StrictModeFlag strict_mode, |
153 KeyedAccessStoreMode store_mode); | 141 KeyedAccessStoreMode store_mode); |
154 | 142 |
155 Handle<Code> ComputeCallField(int argc, | 143 Handle<Code> ComputeCallField(int argc, |
156 Code::Kind, | 144 Code::Kind, |
157 Code::ExtraICState extra_state, | 145 Code::ExtraICState extra_state, |
158 Handle<Name> name, | 146 Handle<Name> name, |
(...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1068 Handle<JSFunction> constant_function_; | 1056 Handle<JSFunction> constant_function_; |
1069 bool is_simple_api_call_; | 1057 bool is_simple_api_call_; |
1070 Handle<FunctionTemplateInfo> expected_receiver_type_; | 1058 Handle<FunctionTemplateInfo> expected_receiver_type_; |
1071 Handle<CallHandlerInfo> api_call_info_; | 1059 Handle<CallHandlerInfo> api_call_info_; |
1072 }; | 1060 }; |
1073 | 1061 |
1074 | 1062 |
1075 } } // namespace v8::internal | 1063 } } // namespace v8::internal |
1076 | 1064 |
1077 #endif // V8_STUB_CACHE_H_ | 1065 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |