| 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 1190 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1201                                                     Label* success) { | 1201                                                     Label* success) { | 
| 1202   Label miss; | 1202   Label miss; | 
| 1203 | 1203 | 
| 1204   Register reg = HandlerFrontendHeader(object, object_reg, holder, name, &miss); | 1204   Register reg = HandlerFrontendHeader(object, object_reg, holder, name, &miss); | 
| 1205 | 1205 | 
| 1206   HandlerFrontendFooter(name, success, &miss); | 1206   HandlerFrontendFooter(name, success, &miss); | 
| 1207   return reg; | 1207   return reg; | 
| 1208 } | 1208 } | 
| 1209 | 1209 | 
| 1210 | 1210 | 
|  | 1211 void LoadStubCompiler::NonexistentHandlerFrontend( | 
|  | 1212     Handle<JSObject> object, | 
|  | 1213     Handle<JSObject> last, | 
|  | 1214     Handle<Name> name, | 
|  | 1215     Label* success, | 
|  | 1216     Handle<GlobalObject> global) { | 
|  | 1217   Label miss; | 
|  | 1218 | 
|  | 1219   Register holder = | 
|  | 1220       HandlerFrontendHeader(object, receiver(), last, name, &miss); | 
|  | 1221 | 
|  | 1222   if (!last->HasFastProperties() && | 
|  | 1223       !last->IsJSGlobalObject() && | 
|  | 1224       !last->IsJSGlobalProxy()) { | 
|  | 1225     if (!name->IsUniqueName()) { | 
|  | 1226       ASSERT(name->IsString()); | 
|  | 1227       name = factory()->InternalizeString(Handle<String>::cast(name)); | 
|  | 1228     } | 
|  | 1229     ASSERT(last->property_dictionary()->FindEntry(*name) == | 
|  | 1230         NameDictionary::kNotFound); | 
|  | 1231     GenerateDictionaryNegativeLookup(masm(), &miss, holder, name, | 
|  | 1232                                      scratch2(), scratch3()); | 
|  | 1233   } | 
|  | 1234 | 
|  | 1235   // If the last object in the prototype chain is a global object, | 
|  | 1236   // check that the global property cell is empty. | 
|  | 1237   if (!global.is_null()) { | 
|  | 1238     GenerateCheckPropertyCell(masm(), global, name, scratch2(), &miss); | 
|  | 1239   } | 
|  | 1240 | 
|  | 1241   HandlerFrontendFooter(name, success, &miss); | 
|  | 1242 } | 
|  | 1243 | 
|  | 1244 | 
| 1211 Handle<Code> LoadStubCompiler::CompileLoadField( | 1245 Handle<Code> LoadStubCompiler::CompileLoadField( | 
| 1212     Handle<JSObject> object, | 1246     Handle<JSObject> object, | 
| 1213     Handle<JSObject> holder, | 1247     Handle<JSObject> holder, | 
| 1214     Handle<Name> name, | 1248     Handle<Name> name, | 
| 1215     PropertyIndex field, | 1249     PropertyIndex field, | 
| 1216     Representation representation) { | 1250     Representation representation) { | 
| 1217   Label miss; | 1251   Label miss; | 
| 1218 | 1252 | 
| 1219   Register reg = HandlerFrontendHeader(object, receiver(), holder, name, &miss); | 1253   Register reg = HandlerFrontendHeader(object, receiver(), holder, name, &miss); | 
| 1220 | 1254 | 
| (...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1817           Handle<FunctionTemplateInfo>( | 1851           Handle<FunctionTemplateInfo>( | 
| 1818               FunctionTemplateInfo::cast(signature->receiver())); | 1852               FunctionTemplateInfo::cast(signature->receiver())); | 
| 1819     } | 1853     } | 
| 1820   } | 1854   } | 
| 1821 | 1855 | 
| 1822   is_simple_api_call_ = true; | 1856   is_simple_api_call_ = true; | 
| 1823 } | 1857 } | 
| 1824 | 1858 | 
| 1825 | 1859 | 
| 1826 } }  // namespace v8::internal | 1860 } }  // namespace v8::internal | 
| OLD | NEW | 
|---|