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 2398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2409 if (from->HasFastProperties()) { | 2409 if (from->HasFastProperties()) { |
2410 Handle<DescriptorArray> descs = | 2410 Handle<DescriptorArray> descs = |
2411 Handle<DescriptorArray>(from->map()->instance_descriptors()); | 2411 Handle<DescriptorArray>(from->map()->instance_descriptors()); |
2412 for (int i = 0; i < descs->number_of_descriptors(); i++) { | 2412 for (int i = 0; i < descs->number_of_descriptors(); i++) { |
2413 PropertyDetails details = descs->GetDetails(i); | 2413 PropertyDetails details = descs->GetDetails(i); |
2414 switch (details.type()) { | 2414 switch (details.type()) { |
2415 case FIELD: { | 2415 case FIELD: { |
2416 HandleScope inner(isolate()); | 2416 HandleScope inner(isolate()); |
2417 Handle<Name> key = Handle<Name>(descs->GetKey(i)); | 2417 Handle<Name> key = Handle<Name>(descs->GetKey(i)); |
2418 int index = descs->GetFieldIndex(i); | 2418 int index = descs->GetFieldIndex(i); |
2419 Handle<Object> value = Handle<Object>(from->FastPropertyAt(index), | 2419 ASSERT(!descs->GetDetails(i).representation().IsDouble()); |
| 2420 Handle<Object> value = Handle<Object>(from->RawFastPropertyAt(index), |
2420 isolate()); | 2421 isolate()); |
2421 CHECK_NOT_EMPTY_HANDLE(isolate(), | 2422 CHECK_NOT_EMPTY_HANDLE(isolate(), |
2422 JSObject::SetLocalPropertyIgnoreAttributes( | 2423 JSObject::SetLocalPropertyIgnoreAttributes( |
2423 to, key, value, details.attributes())); | 2424 to, key, value, details.attributes())); |
2424 break; | 2425 break; |
2425 } | 2426 } |
2426 case CONSTANT_FUNCTION: { | 2427 case CONSTANT_FUNCTION: { |
2427 HandleScope inner(isolate()); | 2428 HandleScope inner(isolate()); |
2428 Handle<Name> key = Handle<Name>(descs->GetKey(i)); | 2429 Handle<Name> key = Handle<Name>(descs->GetKey(i)); |
2429 Handle<JSFunction> fun = | 2430 Handle<JSFunction> fun = |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2619 return from + sizeof(NestingCounterType); | 2620 return from + sizeof(NestingCounterType); |
2620 } | 2621 } |
2621 | 2622 |
2622 | 2623 |
2623 // Called when the top-level V8 mutex is destroyed. | 2624 // Called when the top-level V8 mutex is destroyed. |
2624 void Bootstrapper::FreeThreadResources() { | 2625 void Bootstrapper::FreeThreadResources() { |
2625 ASSERT(!IsActive()); | 2626 ASSERT(!IsActive()); |
2626 } | 2627 } |
2627 | 2628 |
2628 } } // namespace v8::internal | 2629 } } // namespace v8::internal |
OLD | NEW |