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 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 } | 597 } |
598 | 598 |
599 | 599 |
600 Handle<FixedArray> GetKeysInFixedArrayFor(Handle<JSReceiver> object, | 600 Handle<FixedArray> GetKeysInFixedArrayFor(Handle<JSReceiver> object, |
601 KeyCollectionType type, | 601 KeyCollectionType type, |
602 bool* threw) { | 602 bool* threw) { |
603 USE(ContainsOnlyValidKeys); | 603 USE(ContainsOnlyValidKeys); |
604 Isolate* isolate = object->GetIsolate(); | 604 Isolate* isolate = object->GetIsolate(); |
605 Handle<FixedArray> content = isolate->factory()->empty_fixed_array(); | 605 Handle<FixedArray> content = isolate->factory()->empty_fixed_array(); |
606 Handle<JSObject> arguments_boilerplate = Handle<JSObject>( | 606 Handle<JSObject> arguments_boilerplate = Handle<JSObject>( |
607 isolate->context()->global_context()->arguments_boilerplate(), | 607 isolate->context()->native_context()->arguments_boilerplate(), |
608 isolate); | 608 isolate); |
609 Handle<JSFunction> arguments_function = Handle<JSFunction>( | 609 Handle<JSFunction> arguments_function = Handle<JSFunction>( |
610 JSFunction::cast(arguments_boilerplate->map()->constructor()), | 610 JSFunction::cast(arguments_boilerplate->map()->constructor()), |
611 isolate); | 611 isolate); |
612 | 612 |
613 // Only collect keys if access is permitted. | 613 // Only collect keys if access is permitted. |
614 for (Handle<Object> p = object; | 614 for (Handle<Object> p = object; |
615 *p != isolate->heap()->null_value(); | 615 *p != isolate->heap()->null_value(); |
616 p = Handle<Object>(p->GetPrototype(), isolate)) { | 616 p = Handle<Object>(p->GetPrototype(), isolate)) { |
617 if (p->IsJSProxy()) { | 617 if (p->IsJSProxy()) { |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
995 data->next = prev_next_; | 995 data->next = prev_next_; |
996 data->limit = prev_limit_; | 996 data->limit = prev_limit_; |
997 #ifdef DEBUG | 997 #ifdef DEBUG |
998 handles_detached_ = true; | 998 handles_detached_ = true; |
999 #endif | 999 #endif |
1000 return deferred; | 1000 return deferred; |
1001 } | 1001 } |
1002 | 1002 |
1003 | 1003 |
1004 } } // namespace v8::internal | 1004 } } // namespace v8::internal |
OLD | NEW |