| 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 2674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2685 CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0); | 2685 CONVERT_ARG_HANDLE_CHECKED(JSGeneratorObject, generator, 0); |
| 2686 int continuation = generator->continuation(); | 2686 int continuation = generator->continuation(); |
| 2687 const char* message = continuation == JSGeneratorObject::kGeneratorClosed ? | 2687 const char* message = continuation == JSGeneratorObject::kGeneratorClosed ? |
| 2688 "generator_finished" : "generator_running"; | 2688 "generator_finished" : "generator_running"; |
| 2689 Vector< Handle<Object> > argv = HandleVector<Object>(NULL, 0); | 2689 Vector< Handle<Object> > argv = HandleVector<Object>(NULL, 0); |
| 2690 Handle<Object> error = isolate->factory()->NewError(message, argv); | 2690 Handle<Object> error = isolate->factory()->NewError(message, argv); |
| 2691 return isolate->Throw(*error); | 2691 return isolate->Throw(*error); |
| 2692 } | 2692 } |
| 2693 | 2693 |
| 2694 | 2694 |
| 2695 RUNTIME_FUNCTION(MaybeObject*, Runtime_ObjectFreeze) { |
| 2696 NoHandleAllocation ha(isolate); |
| 2697 ASSERT(args.length() == 1); |
| 2698 CONVERT_ARG_CHECKED(JSObject, object, 0); |
| 2699 return object->Freeze(isolate); |
| 2700 } |
| 2701 |
| 2702 |
| 2695 MUST_USE_RESULT static MaybeObject* CharFromCode(Isolate* isolate, | 2703 MUST_USE_RESULT static MaybeObject* CharFromCode(Isolate* isolate, |
| 2696 Object* char_code) { | 2704 Object* char_code) { |
| 2697 if (char_code->IsNumber()) { | 2705 if (char_code->IsNumber()) { |
| 2698 return isolate->heap()->LookupSingleCharacterStringFromCode( | 2706 return isolate->heap()->LookupSingleCharacterStringFromCode( |
| 2699 NumberToUint32(char_code) & 0xffff); | 2707 NumberToUint32(char_code) & 0xffff); |
| 2700 } | 2708 } |
| 2701 return isolate->heap()->empty_string(); | 2709 return isolate->heap()->empty_string(); |
| 2702 } | 2710 } |
| 2703 | 2711 |
| 2704 | 2712 |
| (...skipping 10593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13298 CONVERT_ARG_CHECKED(JSObject, obj, 0); \ | 13306 CONVERT_ARG_CHECKED(JSObject, obj, 0); \ |
| 13299 return isolate->heap()->ToBoolean(obj->Has##Name()); \ | 13307 return isolate->heap()->ToBoolean(obj->Has##Name()); \ |
| 13300 } | 13308 } |
| 13301 | 13309 |
| 13302 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastSmiElements) | 13310 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastSmiElements) |
| 13303 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastObjectElements) | 13311 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastObjectElements) |
| 13304 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastSmiOrObjectElements) | 13312 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastSmiOrObjectElements) |
| 13305 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastDoubleElements) | 13313 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastDoubleElements) |
| 13306 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastHoleyElements) | 13314 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastHoleyElements) |
| 13307 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(DictionaryElements) | 13315 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(DictionaryElements) |
| 13316 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(NonStrictArgumentsElements) |
| 13308 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalPixelElements) | 13317 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalPixelElements) |
| 13309 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalArrayElements) | 13318 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalArrayElements) |
| 13310 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalByteElements) | 13319 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalByteElements) |
| 13311 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalUnsignedByteElements) | 13320 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalUnsignedByteElements) |
| 13312 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalShortElements) | 13321 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalShortElements) |
| 13313 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalUnsignedShortElements) | 13322 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalUnsignedShortElements) |
| 13314 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalIntElements) | 13323 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalIntElements) |
| 13315 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalUnsignedIntElements) | 13324 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalUnsignedIntElements) |
| 13316 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalFloatElements) | 13325 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalFloatElements) |
| 13317 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalDoubleElements) | 13326 ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalDoubleElements) |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13495 // Handle last resort GC and make sure to allow future allocations | 13504 // Handle last resort GC and make sure to allow future allocations |
| 13496 // to grow the heap without causing GCs (if possible). | 13505 // to grow the heap without causing GCs (if possible). |
| 13497 isolate->counters()->gc_last_resort_from_js()->Increment(); | 13506 isolate->counters()->gc_last_resort_from_js()->Increment(); |
| 13498 isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags, | 13507 isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags, |
| 13499 "Runtime::PerformGC"); | 13508 "Runtime::PerformGC"); |
| 13500 } | 13509 } |
| 13501 } | 13510 } |
| 13502 | 13511 |
| 13503 | 13512 |
| 13504 } } // namespace v8::internal | 13513 } } // namespace v8::internal |
| OLD | NEW |