OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/runtime/runtime-utils.h" | 5 #include "src/runtime/runtime-utils.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "src/arguments.h" | 9 #include "src/arguments.h" |
10 #include "src/ast/prettyprinter.h" | 10 #include "src/ast/prettyprinter.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 CONVERT_ARG_HANDLE_CHECKED(JSObject, container, 0); | 36 CONVERT_ARG_HANDLE_CHECKED(JSObject, container, 0); |
37 CHECK(isolate->bootstrapper()->IsActive()); | 37 CHECK(isolate->bootstrapper()->IsActive()); |
38 JSObject::NormalizeProperties(container, KEEP_INOBJECT_PROPERTIES, 10, | 38 JSObject::NormalizeProperties(container, KEEP_INOBJECT_PROPERTIES, 10, |
39 "ExportFromRuntime"); | 39 "ExportFromRuntime"); |
40 Bootstrapper::ExportFromRuntime(isolate, container); | 40 Bootstrapper::ExportFromRuntime(isolate, container); |
41 JSObject::MigrateSlowToFast(container, 0, "ExportFromRuntime"); | 41 JSObject::MigrateSlowToFast(container, 0, "ExportFromRuntime"); |
42 return *container; | 42 return *container; |
43 } | 43 } |
44 | 44 |
45 | 45 |
46 RUNTIME_FUNCTION(Runtime_ExportExperimentalFromRuntime) { | |
47 HandleScope scope(isolate); | |
48 DCHECK_EQ(1, args.length()); | |
49 CONVERT_ARG_HANDLE_CHECKED(JSObject, container, 0); | |
50 CHECK(isolate->bootstrapper()->IsActive()); | |
51 JSObject::NormalizeProperties(container, KEEP_INOBJECT_PROPERTIES, 10, | |
52 "ExportExperimentalFromRuntime"); | |
53 Bootstrapper::ExportExperimentalFromRuntime(isolate, container); | |
54 JSObject::MigrateSlowToFast(container, 0, "ExportExperimentalFromRuntime"); | |
55 return *container; | |
56 } | |
57 | |
58 | |
59 RUNTIME_FUNCTION(Runtime_InstallToContext) { | 46 RUNTIME_FUNCTION(Runtime_InstallToContext) { |
60 HandleScope scope(isolate); | 47 HandleScope scope(isolate); |
61 DCHECK_EQ(1, args.length()); | 48 DCHECK_EQ(1, args.length()); |
62 CONVERT_ARG_HANDLE_CHECKED(JSArray, array, 0); | 49 CONVERT_ARG_HANDLE_CHECKED(JSArray, array, 0); |
63 CHECK(array->HasFastElements()); | 50 CHECK(array->HasFastElements()); |
64 CHECK(isolate->bootstrapper()->IsActive()); | 51 CHECK(isolate->bootstrapper()->IsActive()); |
65 Handle<Context> native_context = isolate->native_context(); | 52 Handle<Context> native_context = isolate->native_context(); |
66 Handle<FixedArray> fixed_array(FixedArray::cast(array->elements())); | 53 Handle<FixedArray> fixed_array(FixedArray::cast(array->elements())); |
67 int length = Smi::cast(array->length())->value(); | 54 int length = Smi::cast(array->length())->value(); |
68 for (int i = 0; i < length; i += 2) { | 55 for (int i = 0; i < length; i += 2) { |
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 HandleScope scope(isolate); | 498 HandleScope scope(isolate); |
512 DCHECK_EQ(1, args.length()); | 499 DCHECK_EQ(1, args.length()); |
513 CONVERT_ARG_HANDLE_CHECKED(JSFunction, target, 0); | 500 CONVERT_ARG_HANDLE_CHECKED(JSFunction, target, 0); |
514 Handle<JSObject> global_proxy(target->global_proxy(), isolate); | 501 Handle<JSObject> global_proxy(target->global_proxy(), isolate); |
515 return *isolate->factory()->ToBoolean( | 502 return *isolate->factory()->ToBoolean( |
516 Builtins::AllowDynamicFunction(isolate, target, global_proxy)); | 503 Builtins::AllowDynamicFunction(isolate, target, global_proxy)); |
517 } | 504 } |
518 | 505 |
519 } // namespace internal | 506 } // namespace internal |
520 } // namespace v8 | 507 } // namespace v8 |
OLD | NEW |