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 2481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2492 if (properties->IsKey(raw_key)) { | 2492 if (properties->IsKey(raw_key)) { |
2493 ASSERT(raw_key->IsName()); | 2493 ASSERT(raw_key->IsName()); |
2494 // If the property is already there we skip it. | 2494 // If the property is already there we skip it. |
2495 LookupResult result(isolate()); | 2495 LookupResult result(isolate()); |
2496 to->LocalLookup(Name::cast(raw_key), &result); | 2496 to->LocalLookup(Name::cast(raw_key), &result); |
2497 if (result.IsFound()) continue; | 2497 if (result.IsFound()) continue; |
2498 // Set the property. | 2498 // Set the property. |
2499 Handle<Name> key = Handle<Name>(Name::cast(raw_key)); | 2499 Handle<Name> key = Handle<Name>(Name::cast(raw_key)); |
2500 Handle<Object> value = Handle<Object>(properties->ValueAt(i), | 2500 Handle<Object> value = Handle<Object>(properties->ValueAt(i), |
2501 isolate()); | 2501 isolate()); |
| 2502 ASSERT(!value->IsCell()); |
2502 if (value->IsJSGlobalPropertyCell()) { | 2503 if (value->IsJSGlobalPropertyCell()) { |
2503 value = Handle<Object>(JSGlobalPropertyCell::cast(*value)->value(), | 2504 value = Handle<Object>(JSGlobalPropertyCell::cast(*value)->value(), |
2504 isolate()); | 2505 isolate()); |
2505 } | 2506 } |
2506 PropertyDetails details = properties->DetailsAt(i); | 2507 PropertyDetails details = properties->DetailsAt(i); |
2507 CHECK_NOT_EMPTY_HANDLE(isolate(), | 2508 CHECK_NOT_EMPTY_HANDLE(isolate(), |
2508 JSObject::SetLocalPropertyIgnoreAttributes( | 2509 JSObject::SetLocalPropertyIgnoreAttributes( |
2509 to, key, value, details.attributes())); | 2510 to, key, value, details.attributes())); |
2510 } | 2511 } |
2511 } | 2512 } |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2639 return from + sizeof(NestingCounterType); | 2640 return from + sizeof(NestingCounterType); |
2640 } | 2641 } |
2641 | 2642 |
2642 | 2643 |
2643 // Called when the top-level V8 mutex is destroyed. | 2644 // Called when the top-level V8 mutex is destroyed. |
2644 void Bootstrapper::FreeThreadResources() { | 2645 void Bootstrapper::FreeThreadResources() { |
2645 ASSERT(!IsActive()); | 2646 ASSERT(!IsActive()); |
2646 } | 2647 } |
2647 | 2648 |
2648 } } // namespace v8::internal | 2649 } } // namespace v8::internal |
OLD | NEW |