| OLD | NEW |
| 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 4340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4351 | 4351 |
| 4352 | 4352 |
| 4353 static Object* Runtime_GetFunctionDelegate(Arguments args) { | 4353 static Object* Runtime_GetFunctionDelegate(Arguments args) { |
| 4354 HandleScope scope; | 4354 HandleScope scope; |
| 4355 ASSERT(args.length() == 1); | 4355 ASSERT(args.length() == 1); |
| 4356 RUNTIME_ASSERT(!args[0]->IsJSFunction()); | 4356 RUNTIME_ASSERT(!args[0]->IsJSFunction()); |
| 4357 return *Execution::GetFunctionDelegate(args.at<Object>(0)); | 4357 return *Execution::GetFunctionDelegate(args.at<Object>(0)); |
| 4358 } | 4358 } |
| 4359 | 4359 |
| 4360 | 4360 |
| 4361 static Object* Runtime_GetConstructorDelegate(Arguments args) { |
| 4362 HandleScope scope; |
| 4363 ASSERT(args.length() == 1); |
| 4364 RUNTIME_ASSERT(!args[0]->IsJSFunction()); |
| 4365 return *Execution::GetConstructorDelegate(args.at<Object>(0)); |
| 4366 } |
| 4367 |
| 4368 |
| 4361 static Object* Runtime_NewContext(Arguments args) { | 4369 static Object* Runtime_NewContext(Arguments args) { |
| 4362 NoHandleAllocation ha; | 4370 NoHandleAllocation ha; |
| 4363 ASSERT(args.length() == 1); | 4371 ASSERT(args.length() == 1); |
| 4364 | 4372 |
| 4365 CONVERT_CHECKED(JSFunction, function, args[0]); | 4373 CONVERT_CHECKED(JSFunction, function, args[0]); |
| 4366 int length = ScopeInfo<>::NumberOfContextSlots(function->code()); | 4374 int length = ScopeInfo<>::NumberOfContextSlots(function->code()); |
| 4367 Object* result = Heap::AllocateFunctionContext(length, function); | 4375 Object* result = Heap::AllocateFunctionContext(length, function); |
| 4368 if (result->IsFailure()) return result; | 4376 if (result->IsFailure()) return result; |
| 4369 | 4377 |
| 4370 Top::set_context(Context::cast(result)); | 4378 Top::set_context(Context::cast(result)); |
| (...skipping 2658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7029 } else { | 7037 } else { |
| 7030 // Handle last resort GC and make sure to allow future allocations | 7038 // Handle last resort GC and make sure to allow future allocations |
| 7031 // to grow the heap without causing GCs (if possible). | 7039 // to grow the heap without causing GCs (if possible). |
| 7032 Counters::gc_last_resort_from_js.Increment(); | 7040 Counters::gc_last_resort_from_js.Increment(); |
| 7033 Heap::CollectAllGarbage(); | 7041 Heap::CollectAllGarbage(); |
| 7034 } | 7042 } |
| 7035 } | 7043 } |
| 7036 | 7044 |
| 7037 | 7045 |
| 7038 } } // namespace v8::internal | 7046 } } // namespace v8::internal |
| OLD | NEW |