Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | |
|
Lasse Reichstein
2009/09/04 10:52:15
Woops, added back in.
| |
| 2 // Redistribution and use in source and binary forms, with or without | 1 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 2 // modification, are permitted provided that the following conditions are |
| 4 // met: | 3 // met: |
| 5 // | 4 // |
| 6 // * Redistributions of source code must retain the above copyright | 5 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 6 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 7 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 8 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 9 // disclaimer in the documentation and/or other materials provided |
| 11 // with the distribution. | 10 // with the distribution. |
| (...skipping 4593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4605 if (constructor != context_extension_function) return holder; | 4604 if (constructor != context_extension_function) return holder; |
| 4606 // Fall back to using the global object as the receiver if the | 4605 // Fall back to using the global object as the receiver if the |
| 4607 // property turns out to be a local variable allocated in a context | 4606 // property turns out to be a local variable allocated in a context |
| 4608 // extension object - introduced via eval. | 4607 // extension object - introduced via eval. |
| 4609 return top->global()->global_receiver(); | 4608 return top->global()->global_receiver(); |
| 4610 } | 4609 } |
| 4611 | 4610 |
| 4612 | 4611 |
| 4613 static ObjectPair LoadContextSlotHelper(Arguments args, bool throw_error) { | 4612 static ObjectPair LoadContextSlotHelper(Arguments args, bool throw_error) { |
| 4614 HandleScope scope; | 4613 HandleScope scope; |
| 4615 ASSERT(args.length() == 2); | 4614 ASSERT_EQ(2, args.length()); |
| 4616 | 4615 |
| 4617 if (!args[0]->IsContext() || !args[1]->IsString()) { | 4616 if (!args[0]->IsContext() || !args[1]->IsString()) { |
| 4618 return MakePair(Top::ThrowIllegalOperation(), NULL); | 4617 return MakePair(Top::ThrowIllegalOperation(), NULL); |
| 4619 } | 4618 } |
| 4620 Handle<Context> context = args.at<Context>(0); | 4619 Handle<Context> context = args.at<Context>(0); |
| 4621 Handle<String> name = args.at<String>(1); | 4620 Handle<String> name = args.at<String>(1); |
| 4622 | 4621 |
| 4623 int index; | 4622 int index; |
| 4624 PropertyAttributes attributes; | 4623 PropertyAttributes attributes; |
| 4625 ContextLookupFlags flags = FOLLOW_CHAINS; | 4624 ContextLookupFlags flags = FOLLOW_CHAINS; |
| (...skipping 3045 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7671 } else { | 7670 } else { |
| 7672 // Handle last resort GC and make sure to allow future allocations | 7671 // Handle last resort GC and make sure to allow future allocations |
| 7673 // to grow the heap without causing GCs (if possible). | 7672 // to grow the heap without causing GCs (if possible). |
| 7674 Counters::gc_last_resort_from_js.Increment(); | 7673 Counters::gc_last_resort_from_js.Increment(); |
| 7675 Heap::CollectAllGarbage(false); | 7674 Heap::CollectAllGarbage(false); |
| 7676 } | 7675 } |
| 7677 } | 7676 } |
| 7678 | 7677 |
| 7679 | 7678 |
| 7680 } } // namespace v8::internal | 7679 } } // namespace v8::internal |
| OLD | NEW |