Each thread should call Global::{initialize, finalize} instead of thread version.
Every thread can use different platform.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
* Use direct address instead of using offset of program when calling interpreter
* We don't need to restore the pointer of program counter in ExecutionState
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
* no need to newly allocate string for string send
* sendString takes a constant string to guarantee that send operation would not modify the original string
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
* replace defineOwnProperty with directDefineOwnProperty method
* directly insert new properties for builtin objects
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
Improve Value::Value(double) performance.
Add missing double and int32 type testing on interpreter
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
* prototype object of Temporal should be ordinary object
* fix the type of prototype as to PrototypeObject
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
* check index property set in DerivedObject::defineOwnProperty method only
* index property check is removed for normal Object because PrototypeObject would check it instead
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
* In interpreter we can use ByteTerm* instead of int for program counter
* Too big inline function is not good for performance
* considering utf-16 string is only needed for UChar not LChar
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
After update the excludelist with make_excludelist.py it doesn't gave
information about failing and new passing tests. This patch will fix this.
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
* set dummy element address to denote non-fast mode array
* represent non-fast mode array without creating ObjectRareData
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
* rename tagging operations to clearly recognize typeTag and tag (vtable address)
* add global tag values for ScriptSimpleFunctionObject
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
Add Object::getIndexedPropertyValue method for achive that
the function removes redundant creation of ObjectGetResult.
And Improve TypedArray object reading performance through better implementation
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
* undefined value is obtained through GlobalVariableGet bytecode
* convert this case into simple LoadLiteral bytecode
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
* debugger always stops at the start of new Script execution
* BreakpointLocationsInfo is added to debugger when Escargot generates bytecode for execution only
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
PrototypeObject always returns true in Object::isEverSetAsPrototypeObject.
thus it don't need another space for mark it was used for prototype object.
this object can reduce a lots allocation of ObjectRaraData
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
* switch statement has the last location in switch block which incurs an index error in BreakPoint insertion
* fix switch statement to have the start position after switch keyword
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>