Commit graph

1,683 commits

Author SHA1 Message Date
Seonghyun Kim
b379fd475c Update api
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-08-11 15:54:57 +09:00
Seonghyun Kim
c65aed1a97 Update public API
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>
2022-07-06 18:44:34 +09:00
Seonghyun Kim
65baa3944e Fix parsing async arrow function bug
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-06-30 11:29:39 +09:00
HyukWoo Park
bb350fc8fd Remove a redundant cmake flag
* DEBUGGER flag removed

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-06-29 19:51:33 +09:00
Gergo Csizi
2806a898f2 Add TemporalPlainTime
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-06-27 13:27:49 +09:00
Zoltan Herczeg
28817212d7 Improve the text of wait before exit
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-06-27 13:26:33 +09:00
HyukWoo Park
3bdf67dc83 Update WebAssembly engine version
* update wabt to v1.0.29

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-06-24 11:09:53 +09:00
Gergo Csizi
d21dde719c Rewrite the ISO8601 parser
The previous parser implementation didn't parse valid ISO8601 strings.

Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-06-24 11:09:23 +09:00
HyukWoo Park
f23646ca1b Fix debugger to match with the updated vscode extension
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-06-24 11:09:13 +09:00
HyukWoo Park
944d244e0a Add code owner
* add @zherczeg as a code owner of debugger

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-06-24 11:09:13 +09:00
Seonghyun Kim
e7b1cb2dde Revise FillOpcodeTable operation by using inline asm label.
we can remove one if-statement in interpreter through this commit.

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-06-24 10:32:13 +09:00
Seonghyun Kim
2678a383ec Improve dealing way of program counter in interpreter
* 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>
2022-06-24 10:32:13 +09:00
Gergo Csizi
2e2b6a8398 Add getters for PlainDate, PlainDateTime and Calendar
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-06-17 13:28:51 +09:00
HyukWoo Park
430006301b Fix minor defects
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-06-15 09:36:32 +09:00
Seonghyun Kim
93a0e853fe Implement inline cache version of get object opcode. Replace the opcode in runtime.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-06-15 09:36:00 +09:00
Seonghyun Kim
633df26291 Reduce sizeof GetObjectPreComputedCase by 1-word
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-06-15 09:36:00 +09:00
Gergo Csizi
0980c57817 Add TemporalPlainDateTime, TemporalPlainDate objects
Basic implementation of TemporalPlainDateTime, TemporalPlainDate.

Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-05-27 14:57:22 +09:00
Zoltan Herczeg
ae893f84c6 Support eval code debugging
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-05-27 14:57:08 +09:00
Seonghyun Kim
25771515ff Merge Equals, NotEquals binary opcodes into one opcode
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-05-27 09:54:04 +09:00
HyukWoo Park
f486922d87 Remove redundant string allocation in debugger
* 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>
2022-05-23 16:02:45 +09:00
HyukWoo Park
488de00180 Directly insert properties for builtin objects
* replace defineOwnProperty with directDefineOwnProperty method
* directly insert new properties for builtin objects

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-05-23 16:02:33 +09:00
Seonghyun Kim
3a5f883ad4 Allow to save Int32 convertible double value as double in Value for performance
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-05-23 16:02:20 +09:00
Seonghyun Kim
2737ccd987 Update Value constructors
Improve Value::Value(double) performance.
Add missing double and int32 type testing on interpreter

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-05-23 16:02:20 +09:00
HyukWoo Park
ebd5a42641 Fix backtrace info within eval code
* collect backtrace info including eval codes

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-05-20 08:44:14 +09:00
Zoltan Herczeg
de7aae0eba Support WebSocket close
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-05-20 08:43:32 +09:00
HyukWoo Park
786cb68d27 Fix the type of prototype in Temporal
* 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>
2022-05-11 15:59:43 +09:00
HyukWoo Park
8fa6031fec Add DerivedObject for sub classes of Object
* 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>
2022-05-11 15:59:43 +09:00
Gergo Csizi
1763b6f38d Add Temporal JavaScript feature
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-05-06 19:58:51 +09:00
Seonghyun Kim
04eb482d1e Add Object::constructorName API
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-05-03 19:05:38 +09:00
Seonghyun Kim
3d7bbe9c6a Update function name & init member variables in debug mode
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-05-03 18:47:43 +09:00
Seonghyun Kim
4ed055e82c Add special method for add property in object what was not existent.
the new method not check the existent of proeprty.
it can used for builtin-functions

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-05-03 18:47:43 +09:00
Seonghyun Kim
64403a2ea2 Implement get fast source, flags proeprty for RegExpObject
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-05-03 18:47:43 +09:00
Seonghyun Kim
f61cf477f4 Improve yarr performance
* 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>
2022-05-03 18:47:43 +09:00
Gergo Csizi
856a1e2045 Show information about new generated test262 excludelist
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
2022-04-29 17:03:03 +09:00
HyukWoo Park
0f034c7f0b Mark non-fast mode ArrayObject by existing fast-mode data
* 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>
2022-04-25 10:47:32 +09:00
HyukWoo Park
d231bc0800 Rename tagging operations
* 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>
2022-04-22 16:11:56 +09:00
HyukWoo Park
de11a8a032 Fix uninitialized address usage in StringBuilder
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-22 16:11:56 +09:00
Seonghyun Kim
4cec2cda5a Remove useless comment
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-22 16:11:23 +09:00
Seonghyun Kim
83e4254ed0 Fix bug in Vector
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-22 16:11:23 +09:00
Seonghyun Kim
8eb836f60d TypedArrayObject should have raw buffer directly.
For achieve it, I add BufferAddressObserverManager.

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-22 16:11:23 +09:00
Seonghyun Kim
71a6afeaae Improve accessing TypedArray Performance
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>
2022-04-22 16:11:23 +09:00
HyukWoo Park
467ca4708f Fix minor debugger error
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-20 17:18:47 +09:00
HyukWoo Park
48b59453c6 Handle getting of undefined value by simple literal loading
* undefined value is obtained through GlobalVariableGet bytecode
* convert this case into simple LoadLiteral bytecode

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-19 13:37:13 +09:00
HyukWoo Park
9f901623dd Enable first breakpoint for Script created by initializeFunctionScript
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-18 17:19:19 +09:00
HyukWoo Park
02aac43bcf Minor fix for debugger
* 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>
2022-04-18 17:19:19 +09:00
Seonghyun Kim
705b959d3f Remove useless ObjectRareData allocation in RegExpObject
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-18 17:15:36 +09:00
Seonghyun Kim
292ead9d73 Implement checking update ArrayObject while enumerate
We can find disappered index without using the flag

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-18 17:15:36 +09:00
Seonghyun Kim
ba7c596e59 Implement PrototypeObject
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>
2022-04-18 17:15:36 +09:00
HyukWoo Park
ab86e7137c Fix wrong node position in switch statement
* 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>
2022-04-18 17:13:58 +09:00
Zoltan Herczeg
03c8cf55e2 Fix tcp connection available check in the debugger
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-04-14 16:38:11 +09:00