Fix [[Prototype]] initialization process for each object creation

* remove duplicated initialization for [[Prototype]] internal slot
* initialize prototype value directly when each Object created
* each prototype candidate object should be first marked as prototype object
* setGlobalIntrinsicObject marks fixed structure and prototype for global object's intrinsic object initialization

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
This commit is contained in:
HyukWoo Park 2020-03-18 17:18:00 +09:00 committed by Patrick Kim
commit 39a5922437
93 changed files with 464 additions and 566 deletions

View file

@ -26,8 +26,7 @@ namespace Escargot {
Object* ScriptGeneratorFunctionObject::createFunctionPrototypeObject(ExecutionState& state)
{
Object* prototype = new Object(state);
prototype->setPrototype(state, state.context()->globalObject()->generatorPrototype());
Object* prototype = new Object(state, state.context()->globalObject()->generatorPrototype());
return prototype;
}