| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 20701a73edf89ec5cc5d13e3352ba397bab55fc5..d271ab760016de43b65760ecdaa9fdcec77bd5fc 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -19470,5 +19470,28 @@ bool JSReceiver::HasProxyInPrototype(Isolate* isolate) {
|
| return false;
|
| }
|
|
|
| +void JSModule::CreateExport(Handle<JSModule> module, Handle<String> name) {
|
| + Isolate* isolate = module->GetIsolate();
|
| + Handle<Cell> cell =
|
| + isolate->factory()->NewCell(isolate->factory()->undefined_value());
|
| + LookupIterator it(module, name);
|
| + JSObject::CreateDataProperty(&it, cell, Object::THROW_ON_ERROR).ToChecked();
|
| +}
|
| +
|
| +void JSModule::StoreExport(Handle<JSModule> module, Handle<String> name,
|
| + Handle<Object> value) {
|
| + LookupIterator it(module, name);
|
| + Handle<Cell> cell = Handle<Cell>::cast(JSObject::GetDataProperty(&it));
|
| + cell->set_value(*value);
|
| +}
|
| +
|
| +Handle<Object> JSModule::LoadExport(Handle<JSModule> module,
|
| + Handle<String> name) {
|
| + Isolate* isolate = module->GetIsolate();
|
| + LookupIterator it(module, name);
|
| + Handle<Cell> cell = Handle<Cell>::cast(JSObject::GetDataProperty(&it));
|
| + return handle(cell->value(), isolate);
|
| +}
|
| +
|
| } // namespace internal
|
| } // namespace v8
|
|
|