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 2849 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2860 if (IsJSGlobalProxy()) { | 2860 if (IsJSGlobalProxy()) { |
2861 Object* proto = GetPrototype(); | 2861 Object* proto = GetPrototype(); |
2862 if (proto->IsNull()) return value_raw; | 2862 if (proto->IsNull()) return value_raw; |
2863 ASSERT(proto->IsJSGlobalObject()); | 2863 ASSERT(proto->IsJSGlobalObject()); |
2864 return JSObject::cast(proto)->SetPropertyForResult( | 2864 return JSObject::cast(proto)->SetPropertyForResult( |
2865 result, name_raw, value_raw, attributes, strict_mode, store_mode); | 2865 result, name_raw, value_raw, attributes, strict_mode, store_mode); |
2866 } | 2866 } |
2867 | 2867 |
2868 // From this point on everything needs to be handlified, because | 2868 // From this point on everything needs to be handlified, because |
2869 // SetPropertyViaPrototypes might call back into JavaScript. | 2869 // SetPropertyViaPrototypes might call back into JavaScript. |
| 2870 HandleScope scope(GetIsolate()); |
2870 Handle<JSObject> self(this); | 2871 Handle<JSObject> self(this); |
2871 Handle<String> name(name_raw); | 2872 Handle<String> name(name_raw); |
2872 Handle<Object> value(value_raw); | 2873 Handle<Object> value(value_raw); |
2873 | 2874 |
2874 if (!result->IsProperty() && !self->IsJSContextExtensionObject()) { | 2875 if (!result->IsProperty() && !self->IsJSContextExtensionObject()) { |
2875 bool done = false; | 2876 bool done = false; |
2876 MaybeObject* result_object = self->SetPropertyViaPrototypes( | 2877 MaybeObject* result_object = self->SetPropertyViaPrototypes( |
2877 *name, *value, attributes, strict_mode, &done); | 2878 *name, *value, attributes, strict_mode, &done); |
2878 if (done) return result_object; | 2879 if (done) return result_object; |
2879 } | 2880 } |
(...skipping 10395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13275 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); | 13276 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); |
13276 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); | 13277 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); |
13277 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); | 13278 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); |
13278 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); | 13279 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); |
13279 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); | 13280 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); |
13280 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); | 13281 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); |
13281 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); | 13282 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); |
13282 } | 13283 } |
13283 | 13284 |
13284 } } // namespace v8::internal | 13285 } } // namespace v8::internal |
OLD | NEW |