| OLD | NEW |
| 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 898 | 898 |
| 899 ASSERT(current->GetPrototype()->IsJSObject()); | 899 ASSERT(current->GetPrototype()->IsJSObject()); |
| 900 JSObject* prototype = JSObject::cast(current->GetPrototype()); | 900 JSObject* prototype = JSObject::cast(current->GetPrototype()); |
| 901 if (!current->HasFastProperties() && | 901 if (!current->HasFastProperties() && |
| 902 !current->IsJSGlobalObject() && | 902 !current->IsJSGlobalObject() && |
| 903 !current->IsJSGlobalProxy()) { | 903 !current->IsJSGlobalProxy()) { |
| 904 if (!name->IsSymbol()) { | 904 if (!name->IsSymbol()) { |
| 905 MaybeObject* maybe_lookup_result = Heap::LookupSymbol(name); | 905 MaybeObject* maybe_lookup_result = Heap::LookupSymbol(name); |
| 906 Object* lookup_result = NULL; // Initialization to please compiler. | 906 Object* lookup_result = NULL; // Initialization to please compiler. |
| 907 if (!maybe_lookup_result->ToObject(&lookup_result)) { | 907 if (!maybe_lookup_result->ToObject(&lookup_result)) { |
| 908 set_failure(Failure::cast(lookup_result)); | 908 set_failure(Failure::cast(maybe_lookup_result)); |
| 909 return reg; | 909 return reg; |
| 910 } | 910 } |
| 911 name = String::cast(lookup_result); | 911 name = String::cast(lookup_result); |
| 912 } | 912 } |
| 913 ASSERT(current->property_dictionary()->FindEntry(name) == | 913 ASSERT(current->property_dictionary()->FindEntry(name) == |
| 914 StringDictionary::kNotFound); | 914 StringDictionary::kNotFound); |
| 915 | 915 |
| 916 GenerateDictionaryNegativeLookup(masm(), | 916 GenerateDictionaryNegativeLookup(masm(), |
| 917 miss, | 917 miss, |
| 918 reg, | 918 reg, |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1070 Address getter_address = v8::ToCData<Address>(callback->getter()); | 1070 Address getter_address = v8::ToCData<Address>(callback->getter()); |
| 1071 ApiFunction fun(getter_address); | 1071 ApiFunction fun(getter_address); |
| 1072 ApiGetterEntryStub stub(callback_handle, &fun); | 1072 ApiGetterEntryStub stub(callback_handle, &fun); |
| 1073 // Emitting a stub call may try to allocate (if the code is not | 1073 // Emitting a stub call may try to allocate (if the code is not |
| 1074 // already generated). Do not allow the assembler to perform a | 1074 // already generated). Do not allow the assembler to perform a |
| 1075 // garbage collection but instead return the allocation failure | 1075 // garbage collection but instead return the allocation failure |
| 1076 // object. | 1076 // object. |
| 1077 Object* result = NULL; // Initialization to please compiler. | 1077 Object* result = NULL; // Initialization to please compiler. |
| 1078 { MaybeObject* try_call_result = masm()->TryCallStub(&stub); | 1078 { MaybeObject* try_call_result = masm()->TryCallStub(&stub); |
| 1079 if (!try_call_result->ToObject(&result)) { | 1079 if (!try_call_result->ToObject(&result)) { |
| 1080 *failure = Failure::cast(result); | 1080 *failure = Failure::cast(try_call_result); |
| 1081 return false; | 1081 return false; |
| 1082 } | 1082 } |
| 1083 } | 1083 } |
| 1084 __ LeaveInternalFrame(); | 1084 __ LeaveInternalFrame(); |
| 1085 | 1085 |
| 1086 __ ret(0); | 1086 __ ret(0); |
| 1087 return true; | 1087 return true; |
| 1088 } | 1088 } |
| 1089 | 1089 |
| 1090 | 1090 |
| (...skipping 2007 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3098 // Return the generated code. | 3098 // Return the generated code. |
| 3099 return GetCode(); | 3099 return GetCode(); |
| 3100 } | 3100 } |
| 3101 | 3101 |
| 3102 | 3102 |
| 3103 #undef __ | 3103 #undef __ |
| 3104 | 3104 |
| 3105 } } // namespace v8::internal | 3105 } } // namespace v8::internal |
| 3106 | 3106 |
| 3107 #endif // V8_TARGET_ARCH_IA32 | 3107 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |