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 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 } | 502 } |
503 | 503 |
504 | 504 |
505 Handle<FixedArray> GetKeysInFixedArrayFor(Handle<JSReceiver> object, | 505 Handle<FixedArray> GetKeysInFixedArrayFor(Handle<JSReceiver> object, |
506 KeyCollectionType type, | 506 KeyCollectionType type, |
507 bool* threw) { | 507 bool* threw) { |
508 USE(ContainsOnlyValidKeys); | 508 USE(ContainsOnlyValidKeys); |
509 Isolate* isolate = object->GetIsolate(); | 509 Isolate* isolate = object->GetIsolate(); |
510 Handle<FixedArray> content = isolate->factory()->empty_fixed_array(); | 510 Handle<FixedArray> content = isolate->factory()->empty_fixed_array(); |
511 Handle<JSObject> arguments_boilerplate = Handle<JSObject>( | 511 Handle<JSObject> arguments_boilerplate = Handle<JSObject>( |
512 isolate->context()->native_context()->arguments_boilerplate(), | 512 isolate->context()->native_context()->sloppy_arguments_boilerplate(), |
513 isolate); | 513 isolate); |
514 Handle<JSFunction> arguments_function = Handle<JSFunction>( | 514 Handle<JSFunction> arguments_function = Handle<JSFunction>( |
515 JSFunction::cast(arguments_boilerplate->map()->constructor()), | 515 JSFunction::cast(arguments_boilerplate->map()->constructor()), |
516 isolate); | 516 isolate); |
517 | 517 |
518 // Only collect keys if access is permitted. | 518 // Only collect keys if access is permitted. |
519 for (Handle<Object> p = object; | 519 for (Handle<Object> p = object; |
520 *p != isolate->heap()->null_value(); | 520 *p != isolate->heap()->null_value(); |
521 p = Handle<Object>(p->GetPrototype(isolate), isolate)) { | 521 p = Handle<Object>(p->GetPrototype(isolate), isolate)) { |
522 if (p->IsJSProxy()) { | 522 if (p->IsJSProxy()) { |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
790 Handle<Code> code) { | 790 Handle<Code> code) { |
791 heap->EnsureWeakObjectToCodeTable(); | 791 heap->EnsureWeakObjectToCodeTable(); |
792 Handle<DependentCode> dep(heap->LookupWeakObjectToCodeDependency(*object)); | 792 Handle<DependentCode> dep(heap->LookupWeakObjectToCodeDependency(*object)); |
793 dep = DependentCode::Insert(dep, DependentCode::kWeaklyEmbeddedGroup, code); | 793 dep = DependentCode::Insert(dep, DependentCode::kWeaklyEmbeddedGroup, code); |
794 CALL_HEAP_FUNCTION_VOID(heap->isolate(), | 794 CALL_HEAP_FUNCTION_VOID(heap->isolate(), |
795 heap->AddWeakObjectToCodeDependency(*object, *dep)); | 795 heap->AddWeakObjectToCodeDependency(*object, *dep)); |
796 } | 796 } |
797 | 797 |
798 | 798 |
799 } } // namespace v8::internal | 799 } } // namespace v8::internal |
OLD | NEW |