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 10239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10250 Handle<Object> length_object = | 10250 Handle<Object> length_object = |
10251 isolate->factory()->NewNumber(static_cast<double>(min_length)); | 10251 isolate->factory()->NewNumber(static_cast<double>(min_length)); |
10252 single_interval->set(1, *length_object); | 10252 single_interval->set(1, *length_object); |
10253 return *isolate->factory()->NewJSArrayWithElements(single_interval); | 10253 return *isolate->factory()->NewJSArrayWithElements(single_interval); |
10254 } | 10254 } |
10255 } | 10255 } |
10256 | 10256 |
10257 | 10257 |
10258 RUNTIME_FUNCTION(MaybeObject*, Runtime_LookupAccessor) { | 10258 RUNTIME_FUNCTION(MaybeObject*, Runtime_LookupAccessor) { |
10259 ASSERT(args.length() == 3); | 10259 ASSERT(args.length() == 3); |
10260 CONVERT_ARG_CHECKED(JSObject, obj, 0); | 10260 CONVERT_ARG_CHECKED(JSReceiver, receiver, 0); |
10261 CONVERT_ARG_CHECKED(String, name, 1); | 10261 CONVERT_ARG_CHECKED(String, name, 1); |
10262 CONVERT_SMI_ARG_CHECKED(flag, 2); | 10262 CONVERT_SMI_ARG_CHECKED(flag, 2); |
10263 AccessorComponent component = flag == 0 ? ACCESSOR_GETTER : ACCESSOR_SETTER; | 10263 AccessorComponent component = flag == 0 ? ACCESSOR_GETTER : ACCESSOR_SETTER; |
10264 return obj->LookupAccessor(name, component); | 10264 if (!receiver->IsJSObject()) return isolate->heap()->undefined_value(); |
| 10265 return JSObject::cast(receiver)->LookupAccessor(name, component); |
10265 } | 10266 } |
10266 | 10267 |
10267 | 10268 |
10268 #ifdef ENABLE_DEBUGGER_SUPPORT | 10269 #ifdef ENABLE_DEBUGGER_SUPPORT |
10269 RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugBreak) { | 10270 RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugBreak) { |
10270 ASSERT(args.length() == 0); | 10271 ASSERT(args.length() == 0); |
10271 return Execution::DebugBreakHelper(); | 10272 return Execution::DebugBreakHelper(); |
10272 } | 10273 } |
10273 | 10274 |
10274 | 10275 |
(...skipping 3443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13718 // Handle last resort GC and make sure to allow future allocations | 13719 // Handle last resort GC and make sure to allow future allocations |
13719 // to grow the heap without causing GCs (if possible). | 13720 // to grow the heap without causing GCs (if possible). |
13720 isolate->counters()->gc_last_resort_from_js()->Increment(); | 13721 isolate->counters()->gc_last_resort_from_js()->Increment(); |
13721 isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags, | 13722 isolate->heap()->CollectAllGarbage(Heap::kNoGCFlags, |
13722 "Runtime::PerformGC"); | 13723 "Runtime::PerformGC"); |
13723 } | 13724 } |
13724 } | 13725 } |
13725 | 13726 |
13726 | 13727 |
13727 } } // namespace v8::internal | 13728 } } // namespace v8::internal |
OLD | NEW |