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 13462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13473 | 13473 |
13474 RUNTIME_FUNCTION(MaybeObject*, Runtime_FlattenString) { | 13474 RUNTIME_FUNCTION(MaybeObject*, Runtime_FlattenString) { |
13475 HandleScope scope(isolate); | 13475 HandleScope scope(isolate); |
13476 ASSERT(args.length() == 1); | 13476 ASSERT(args.length() == 1); |
13477 CONVERT_ARG_HANDLE_CHECKED(String, str, 0); | 13477 CONVERT_ARG_HANDLE_CHECKED(String, str, 0); |
13478 FlattenString(str); | 13478 FlattenString(str); |
13479 return isolate->heap()->undefined_value(); | 13479 return isolate->heap()->undefined_value(); |
13480 } | 13480 } |
13481 | 13481 |
13482 | 13482 |
| 13483 RUNTIME_FUNCTION(MaybeObject*, Runtime_MigrateInstance) { |
| 13484 HandleScope scope(isolate); |
| 13485 ASSERT(args.length() == 1); |
| 13486 CONVERT_ARG_HANDLE_CHECKED(Object, object, 0); |
| 13487 if (!object->IsJSObject()) return Smi::FromInt(0); |
| 13488 Handle<JSObject> js_object = Handle<JSObject>::cast(object); |
| 13489 if (!js_object->map()->is_deprecated()) return Smi::FromInt(0); |
| 13490 JSObject::MigrateInstance(js_object); |
| 13491 return *object; |
| 13492 } |
| 13493 |
| 13494 |
13483 RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFromCache) { | 13495 RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFromCache) { |
13484 SealHandleScope shs(isolate); | 13496 SealHandleScope shs(isolate); |
13485 // This is only called from codegen, so checks might be more lax. | 13497 // This is only called from codegen, so checks might be more lax. |
13486 CONVERT_ARG_CHECKED(JSFunctionResultCache, cache, 0); | 13498 CONVERT_ARG_CHECKED(JSFunctionResultCache, cache, 0); |
13487 Object* key = args[1]; | 13499 Object* key = args[1]; |
13488 | 13500 |
13489 int finger_index = cache->finger_index(); | 13501 int finger_index = cache->finger_index(); |
13490 Object* o = cache->get(finger_index); | 13502 Object* o = cache->get(finger_index); |
13491 if (o == key) { | 13503 if (o == key) { |
13492 // The fastest case: hit the same place again. | 13504 // The fastest case: hit the same place again. |
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13953 // Handle last resort GC and make sure to allow future allocations | 13965 // Handle last resort GC and make sure to allow future allocations |
13954 // to grow the heap without causing GCs (if possible). | 13966 // to grow the heap without causing GCs (if possible). |
13955 isolate->counters()->gc_last_resort_from_js()->Increment(); | 13967 isolate->counters()->gc_last_resort_from_js()->Increment(); |
13956 isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags, | 13968 isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags, |
13957 "Runtime::PerformGC"); | 13969 "Runtime::PerformGC"); |
13958 } | 13970 } |
13959 } | 13971 } |
13960 | 13972 |
13961 | 13973 |
13962 } } // namespace v8::internal | 13974 } } // namespace v8::internal |
OLD | NEW |