Seonghyun Kim
bab3a57975
Fix RELEASE_ASSERT_NOT_REACHED on CoverInitializedName used as a value
...
A CoverInitializedName such as `{ a = 0 }` (object shorthand with default) is
only valid when the enclosing object literal is refined into a destructuring
pattern. When such an object literal is instead consumed as a real value -- the
base of a member access, call, computed access, or tagged template, e.g.
`( {... { a = 0 }. b = 1 } )` -- the pending CoverInitializedName error was
discarded by a later assignment, so no SyntaxError was raised and the
AssignmentPattern property value reached bytecode generation, hitting
RELEASE_ASSERT_NOT_REACHED in Node::generateExpressionByteCode.
Report the pending CoverInitializedName as an early SyntaxError in the two
LeftHandSideExpression member-access loops the moment the base is consumed as a
value, since it can no longer be refined into a pattern.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-18 19:02:02 +09:00
Seonghyun Kim
181019c0c3
Reject object binding pattern rest followed by a binding pattern (Issue #1334 )
...
BindingRestProperty in an object binding pattern only accepts a
BindingIdentifier, unlike BindingRestElement in an array binding pattern
which also accepts a BindingPattern. Throw a SyntaxError when `...` is
followed by `{` or `[` in a declaration context.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-18 16:09:00 +09:00
Seonghyun Kim
c37e2b4851
A class definition is always strict mode
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-18 10:05:18 +09:00
Seonghyun Kim
2dee22f5c7
Update test/vendortest with Issue #1577 regression tests
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-17 10:06:57 +09:00
Seonghyun Kim
5e3b91b052
Fix using declaration in a switch case clobbering its disposable record (Issue #1577 Crash #2 )
...
A `using` declaration in a switch case preceded by another statement
aborted with Assertion `isDisposableResourceRecord()' failed / SEGV in
finalizeDisposable.
The switch releases its discriminant register before generating the
case bodies, but pushLexicalBlock had allocated the disposable-record
register on top of it. The early giveUpRegister therefore freed the
disposable register instead, and a statement in the case body (e.g.
`o.k = 1`) reused that register slot, clobbering the record;
Initialize/FinalizeDisposable then dereferenced a non-pointer value.
When the switch block contains a `using` declaration, defer releasing
the discriminant temporaries until after finalizeLexicalBlock has
popped the disposable register (preserving LIFO order). Switches
without `using` are unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-17 10:06:57 +09:00
Seonghyun Kim
e7221f4211
Fix labeled continue targeting a for-of loop (Issue #1577 Crash #1 )
...
`L: for (const v of [...]) { continue L; }` aborted with
Assertion `!v.isEmpty()' failed, and `continue OUTER` from a nested
loop silently terminated the script.
A `continue <label>` whose label targets a for-of loop was left to be
resolved by LabelledStatementNode after the loop body, by which point
the for-of iterator-cleanup try block had registered the jump as a
complex case. It was then morphed into a JumpComplexCase that unwound
the try block, wrongly closing the iterator and leaving an empty Value
in the result register.
A previous per-loop attempt (8fd141b2 ) was reverted (60b1202a ) because
a single m_currentLoopLabel leaked into nested loops and broke test262.
Track all labels directly targeting a loop (m_currentLoopLabels), clear
the list when entering each loop body so nested loops never inherit it,
and let for-of/for-in resolve continues for its own labels to
continuePosition (a plain jump, identical to an unlabeled continue)
before the try block is registered as a complex case.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-17 10:06:57 +09:00
Seonghyun Kim
b30b63fc63
Fix continue/break at first instruction of env-allocating block (Issue #1571 )
...
A continue/break that is the first instruction inside a lexical block which
allocates an environment (e.g. `for(;c;){ continue; eval(); const x=1; }`) was
emitted as a plain Jump, skipping the block's CloseLexicalEnvironment. The
leaked environment then caused a subsequent outer-scope `const` to initialize
in the wrong environment, producing a spurious
`ReferenceError: Cannot access '...' before initialization`.
registerJumpPositionsToComplexCase compared jump positions against frontlimit
(= lexicalBlockStartPosition, the first body instruction) with strict `>`, so a
jump located exactly at the first body instruction was never morphed into a
JumpComplexCase and the block environment was left un-popped. Use `>=` for
break/continue/labelledBreak/labelledContinue.
With the environment now unwound correctly, the hasBinding guard band-aid in
InterpreterSlowPath::initializeByName is no longer needed and is removed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
60b1202a72
Fix labeled continue regression in test262 tests
...
Remove the conditional labeled continue processing from loop statements.
The LabelledStatementNode correctly handles all labeled continues after the
labeled statement completes. Loops should only handle their own regular
(unlabeled) continues.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
0a2fcaaf5e
Add missing m_currentLoopLabel field and fix Crashes #1-2
...
- Add m_currentLoopLabel to ByteCodeGenerateContext for tracking labeled loop labels (Issue #1571 )
- Fix Crash #1 : Add bounds checking in inline cache proto traverse with std::min clamping
- Fix Crash #2 : Check hasBinding before initializeBinding to prevent assertion on unreachable code paths
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
09f0a10bba
Fix DoWhileStatementNode labeled continue handling (Issue #1571 )
...
Issue #1571 : Labeled continue in do-while loops with allocated blocks
- Proper morphing for labeled continues crossing block boundaries
- Fixes environment record consistency in labeled loops
- Completes fix pattern across all loop statement types
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
7e2b3292fd
Fix WhileStatementNode labeled continue handling (Issue #1571 )
...
Issue #1571 : Labeled continue in while loops with allocated blocks
- Proper morphing for labeled continues crossing block boundaries
- Fixes environment record consistency in labeled loops
- Applies fix pattern to all loop statement types
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
8fd141b29c
Fix ForInOfStatementNode labeled continue handling (Issues #1571 Crashes #3-4)
...
Issue #1571 Crash #3 : Labeled continue in for-of loop
- Iterator value issue when labeled continue triggered early
- Proper sequencing of iterator cleanup vs control flow
Issue #1571 Crash #4 : With statement + labeled for-of
- Environment unwinding coordination with iterator cleanup
- CloseLexicalEnvironment called at correct time
Solution: Consume labeled continues with proper morphing
- Ensures iterator cleanup finalizer runs before unwinding
- Control flow record management stays consistent
- Both for-in and for-of (and for-await-of) properly handled
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
c80623fc00
Fix ForStatementNode labeled continue handling (Issues #1571 Crashes #3-13)
...
Issue #1571 Crashes #3-4: Labeled continue in for loops
- Consume labeled continues targeting this loop with proper morphing
- Ensures iterator cleanup and environment unwinding work correctly
Issue #1571 Crashes #5-13: Environment record mismatch in labeled loops
- Proper morphing of labeled continues across allocated block boundaries
- Fixes crashes from scope-creating constructs in labeled loops
- Plain Jump path preserved for non-allocated blocks (zero overhead)
Solution: Call consumeLabelledContinuePositions with morphing enabled
- If no allocated block: plain Jump (fast path)
- If allocated block: JumpComplexCase with proper unwinding (correct path)
- Morphing is automatic via morphJumpPositionIntoComplexCase
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
92ee65bc0c
Update LabelledStatementNode to pass label to child loop
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
07cdae7850
Update test cases
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-16 15:35:01 +09:00
Seonghyun Kim
ef525f337f
Add programCount range check for edge case in blockOperation
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-06-15 11:50:30 +09:00
Ádám László Kulcsár
29fdbc741f
Improve eval in devtools
...
Fix accidental deadlock possible inside the debugger and improve formatting when inspecting arrays.
Signed-off-by: Ádám László Kulcsár <adam.kulcsar@szteszoftver.hu>
2026-06-10 10:48:28 +09:00
Máté Tokodi
ebe3761308
Add support for scope variables and call stack in the Devtools Debugger
...
Signed-off-by: Máté Tokodi <mate.tokodi@szteszoftver.hu>
2026-06-10 10:44:10 +09:00
Ádám László Kulcsár
c423a4bfa0
Implement eval in Devtools debugger
...
Signed-off-by: Ádám László Kulcsár <adam.kulcsar@szteszoftver.hu>
2026-06-01 23:56:51 +09:00
epsilon
4b40f92aba
Fix OOB read in string::rfind
2026-05-27 19:21:59 +09:00
Seonghyun Kim
779f6bedf5
Check stack overflow in ProxyObject::getPrototype, ProxyObject::getPrototypeObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-27 11:31:45 +09:00
Seonghyun Kim
d581b27af6
Check overflow when TypedArrayObject allocating for 32-bit systems
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-27 11:31:45 +09:00
Seonghyun Kim
3b43994a7d
Don't assume spread element is fast mode
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-27 11:31:45 +09:00
Seonghyun Kim
299a7ff451
Fix crash in ArrayBuffer transfer
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-27 11:31:45 +09:00
Seonghyun Kim
36f5fb5836
Add size checking on ArrayBuffer.prototype.transfer
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-21 16:15:10 +09:00
Ádám László Kulcsár
d6aae0777f
Fix bug with Devtools filenames
...
Fix bug where filenames could contain memory garbage.
Signed-off-by: Ádám László Kulcsár <adam.kulcsar@szteszoftver.hu>
2026-05-14 19:57:40 +09:00
Seonghyun Kim
590345cc62
Update vendor test
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
c02c6595be
Handle oom explicitly
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
166fa7c66b
Disable GC on c++ catch block w/ASAN
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
3cf7d60b43
Fix memory error when FinalizationRegistry cleanup callback throws
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
2bbd27caac
Add stack overflow check in ProxyObject::ownPropertyKeys
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
78e5e333b9
Compute ByteCodeLOC only !NDEBUG && ESCARGOT_DEBUGGER in ByteCodeBlock::pushCode
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
22bedcec9e
In Evaluator::EvaluatorResult::resultOrErrorToString error can be null even if the task was successful
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
aa727d22a1
Use PointerFree allocatior for FunctionContextVarMap
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
121d2fefca
Fix StringObject::defineOwnProperty
...
* Check if this is an index property within the string length due to proxy object
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
2e9a6393b9
In InterpreterSlowPath::arrayDefineOwnPropertyBySpreadElementOperation,
...
setArrayLength can convert the array to non-fast mode when length exceeds thresholds
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
685a71c3d1
Check if the size exceeds the maximum allowed size for TypedArray construction
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
78576a5af9
Update vendor test
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
c8588c323c
prevent stack overflow when parsing huge json array
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
2cc649c97e
Use correct index in DataViewObject::setViewValue
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
Seonghyun Kim
98f54274d1
Fix buffer access bug in builtinTypedArrayCopyWithin
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-05-14 13:33:33 +09:00
SAY-5
0a79d6c1f7
Fix out-of-bounds read in lexer comment/hashbang skipping
...
skipSingleLine, skipSingleLineComment, and skipMultiLineComment incremented
the source index and then called peekCharWithoutEOF() without re-checking
eof(), causing a one-byte heap read past the source buffer when the input
ends with a bare \r or a trailing '*'. Guard each follow-up peek with eof().
Fixes #1568
Signed-off-by: SAY-5 <say.apm35@gmail.com>
2026-05-12 15:57:50 +09:00
Ádám László Kulcsár
634fe864d7
Add -Wno-maybe-uninitialized build option for GCC 16
...
Signed-off-by: Ádám László Kulcsár <adam.kulcsar@szteszoftver.hu>
2026-05-11 20:40:32 +09:00
Ádám László Kulcsár
475149426f
Implement escargot debugger restart support
...
Implement restart in escargot and python debugger.
Also add debugger test.
Signed-off-by: Ádám László Kulcsár <adam.kulcsar@szteszoftver.hu>
2026-05-07 16:12:31 +09:00
Ádám László Kulcsár
7683468efb
Add heap snapshots to devtools debugger
...
Signed-off-by: Ádám László Kulcsár <adam.kulcsar@szteszoftver.hu>
2026-04-29 09:37:05 +09:00
Máté Tokodi
48eb4b6af9
Add support for breakpoints in the Devtools Debugger
...
- Add, remove breakpoints
- Resume execution
- Step Into, Step Out, Step Over
- Deactivate/Reactivate all breakpoints
Signed-off-by: Máté Tokodi <mate.tokodi@szteszoftver.hu>
2026-04-28 16:43:39 +09:00
Ádám László Kulcsár
e9833cd791
Rework python debugger tester
...
Delete debugger_tester.sh script and rewrite it in python. Also add option to run individial tests.
Signed-off-by: Ádám László Kulcsár <adam.kulcsar@szteszoftver.hu>
2026-04-28 16:42:06 +09:00
Ádám László Kulcsár
769e86e32a
Add ability to take heap snapshots with python debugger
...
Signed-off-by: Ádám László Kulcsár <adam.kulcsar@szteszoftver.hu>
2026-04-23 11:35:55 +09:00
Seonghyun Kim
ad3844437e
Update ArrayBuffer::isDetachedBuffer check
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-23 11:35:23 +09:00
Ádám László Kulcsár
633fe63795
Add funcitonality to take heap snapshots
...
Signed-off-by: Ádám László Kulcsár <kuladam@inf.u-szeged.hu>
2026-04-16 15:42:23 +09:00
Seonghyun Kim
e52f0ce0cf
Fix read private property on inner object method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-16 09:25:12 +09:00
Seonghyun Kim
2624608567
Update clang compile option for old clang
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-16 09:25:12 +09:00
Ádám László Kulcsár
0ac274d1fc
Add correct debugging to .mjs files
...
Add breakpoint on the start of the first source code line so that module file imports can be debugged.
Also extend debugger test script since Escargot uses realpaths with modules.
Signed-off-by: Ádám László Kulcsár <kuladam@inf.u-szeged.hu>
2026-04-14 21:35:29 +09:00
Máté Tokodi
ab7a13e089
Fix Devtools debugger websocket buffer handling
...
The type of `m_receiveBufferFill` was uint8_t causing it to roll over
when parsing longer messages from Devtools, causing message data to be
truncated incorrectly.
Signed-off-by: Máté Tokodi <mate.tokodi@szteszoftver.hu>
2026-04-09 12:27:01 +09:00
Seonghyun Kim
f25f05faca
Validate input on CodeCacheReader
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-08 10:00:03 +09:00
Seonghyun Kim
a7f9695bf3
Check buffer size before reading buffer on CodeCacheReader
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-08 10:00:03 +09:00
Seonghyun Kim
50215a5ce8
Check wrong input in Serializer::deserializeFrom
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-08 10:00:03 +09:00
Seonghyun Kim
13e3a62312
Disable 32-bit pointer using with asan since it makes bdwgc related error
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-08 10:00:03 +09:00
Seonghyun Kim
2156cfa5b8
Fix compiler issue with int128(gcc-10 upper)
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-08 10:00:03 +09:00
Seonghyun Kim
b4f2b24e4a
Fix compile error on clang-20
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-04-08 10:00:03 +09:00
Máté Tokodi
97e8115ab1
Add basics of Chrome Devtools debugger support
...
- Use routing table for request dispatch in DebuggerHttpRouter, for
handling choosing which debugger stack to use based on the http
upgrade request:
- DebuggerEscargot for the python debugger and VSCode
- DebuggerDevtools for connecting to Chrome Devtools
- Parse mesasges with 16bit message size
- Reply to the first few messages chrome sends
- Refactor Debugger:
- Rename DebuggerRemote to DebuggerEscargot
- DebuggerEscargot and DebuggerDevtools inherit from
DebuggerTcp which inherits from Debugger
- Add debugger info to README.md
Signed-off-by: Máté Tokodi <mate.tokodi@szteszoftver.hu>
2026-03-28 13:08:51 +09:00
Hyukwoo Park
989e6922b6
Remove duplicated parameter-check methods
...
Signed-off-by: Hyukwoo Park <hyukwoo.park@jbnu.ac.kr>
2026-03-13 13:27:59 +09:00
Seonghyun Kim
6ebbd22c06
Optimize very big object expression through big bloom filter
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-03-10 16:01:03 +09:00
Seonghyun Kim
069fba1151
Optimize big object expression through bloom filter
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-03-10 16:01:03 +09:00
Máté Tokodi
9819a8de49
Debugger: add dedicated message for VSCode watch
...
Processing VSCode watches skips waitForResolvingPendingBreakpoints
(previously having multiple watches in VSC would call this when
processing the first watch, which would process pending messages while
trying to wait for break point changes while in eval mode (not in
waiting mode) and cause and Invalid message error and the closure of the
debgger connection when hitting the second watch message)
Allow '*.mjs' files in the python debugger
Add watches to the python debugger, add test
Signed-off-by: Máté Tokodi mate.tokodi@szteszoftver.hu
2026-03-09 08:19:57 +09:00
kwonjeomsim
f41ec3426b
Change bottom-up to top-down check
2026-03-09 08:19:04 +09:00
kwonjeomsim
1b36b95006
Change location of optimization logic
2026-03-09 08:19:04 +09:00
kwonjeomsim
c69b8ada67
Add codes checking assignment pattern and rest parameter usage
2026-03-09 08:19:04 +09:00
kwonjeomsim
f6e0b04be4
Change location of removing unused parameters
2026-03-09 08:19:04 +09:00
kwonjeomsim
4d4cded5be
Change AtomicStringMap allocation and deal with parameters over 16
2026-03-09 08:19:04 +09:00
kwonjeomsim
5c16ae5d84
Change m_parameterUsed to bit operation and Add hashset
2026-03-09 08:19:04 +09:00
kwonjeomsim
12a37ed4d1
Change unused parameter check point
2026-03-09 08:19:04 +09:00
kwonjeomsim
fb8b241655
Add InterpretedCodeBlock::ParameterUsed info to codecache
2026-03-09 08:19:04 +09:00
kwonjeomsim
339a5d1838
Add parsing process that remove unused function parameter bytecodes
2026-03-09 08:19:04 +09:00
Seonghyun Kim
bb00312798
Update gbs.conf to fix build error on ci
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-03-06 13:05:41 +09:00
Seonghyun Kim
c9f13d0730
Fix compile error on old gcc
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-03-05 17:20:30 +09:00
Seonghyun Kim
e35a8cb14d
Add enconding option for python code generator
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-03-05 17:20:30 +09:00
Seonghyun Kim
af4c67a706
Implement VMInstanceRef::enqueueEvaluateJob
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-12 14:35:37 +09:00
Seonghyun Kim
c90e358e2f
Generate YarrCanonicalizeUCS2.cpp from UnicodeData.txt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-11 09:53:27 +09:00
Seonghyun Kim
17bdb07cc6
Update es-actions for clang
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-10 14:53:17 +09:00
Hyukwoo Park
eeea83ef3e
Enable self-hosted runners only for the origin escargot repo
...
Signed-off-by: Hyukwoo Park <hyukwoo.park@jbnu.ac.kr>
2026-02-07 20:00:39 +09:00
Seonghyun Kim
d50bb8897a
Update analysis-actions.yml
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-05 16:56:44 +09:00
Seonghyun Kim
a3abf7e40a
Revise source generate from unicode data logic
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-05 16:56:44 +09:00
Seonghyun Kim
32281e3d22
Update processMemoryUsage function for posix
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-05 16:56:44 +09:00
Seonghyun Kim
ea826db76a
Add thread memory usage test case
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-04 17:21:25 +09:00
Seonghyun Kim
7bd328b5df
When thread exit, we should unmap mapped memory which is mapped from bdwgc
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-04 17:21:25 +09:00
Seonghyun Kim
20c7641b16
Implement tizen gbs build test on CI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-02-03 12:48:04 +09:00
Seonghyun Kim
e44005a1d2
Android timezone data load for adb-shell
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-30 17:34:13 +09:00
Seonghyun Kim
a130b108a5
Implement Global::finalizeGC to prevent memory leak
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-30 09:54:22 +09:00
Máté Tokodi
fb2ad1eb04
Fix exporting async functions in ESM modules
...
Add mjs file matching to regression test script
2026-01-28 13:48:08 +09:00
Seonghyun Kim
32e9a72156
Fix typo in Intl::initNumberFormatSkeleton
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-27 12:57:45 +09:00
Seonghyun Kim
2a3447dc1c
Add missing package for tizen build
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-08 19:25:39 +09:00
Seonghyun Kim
3b242a2e6e
Update coverage-scan
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-07 12:20:48 +09:00
Seonghyun Kim
95036c339e
Evaluate destructuring correctly
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-07 12:20:48 +09:00
Seonghyun Kim
50f1d7a2f1
When closing the iterator, handle exceptions that occur when retrieving the return function correctly.
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-07 12:20:48 +09:00
Seonghyun Kim
3f07b5696c
Update TypedArray.prototype.toLocaleString to pass argv
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-06 16:17:04 +09:00
Seonghyun Kim
a138441b98
Use new Calendar functions in Intl + Fix timezone bug in Intl.DateTimeFormat
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-06 16:17:04 +09:00
Seonghyun Kim
a474595528
Update test262 driver
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-06 16:17:04 +09:00
Seonghyun Kim
75394413ac
Fix ShadowRealm.prototype.importValue memory error
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-06 16:17:04 +09:00
Seonghyun Kim
1ab58f5470
Revise DecodeURI function to test max unicode codepoint
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-06 16:17:04 +09:00
Seonghyun Kim
a622791f6e
Apply updated rules of TypedArray.[[Set]]
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-05 10:44:02 +09:00
Seonghyun Kim
142cf01ad4
In TypedArrayObject::integerIndexedElementSet check detached buffer correctly
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-05 10:44:02 +09:00
Seonghyun Kim
c231374c38
Update TypedArray.prototype.copyWithin to respect new ECMAScript spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2026-01-05 10:44:02 +09:00
Seonghyun Kim
ec0d3f1c61
Implement ShadowRealm.prototype.importValue
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-31 10:22:29 +09:00
Seonghyun Kim
982f15c83d
Revise ShadowRealm
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-31 10:22:29 +09:00
Seonghyun Kim
23b88e0d3d
When matchAll, 'v' is also unicode flag
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-31 10:22:29 +09:00
Seonghyun Kim
94abd9142c
Apply updated spec of RegExp prototype functions
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-31 10:22:29 +09:00
Seonghyun Kim
bf4d55e27a
Don't use error value on closeing iterator in Promise builtins
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-31 10:22:29 +09:00
Seonghyun Kim
f5ae276846
Disallow -0 year on DateObject parsing
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-31 10:22:29 +09:00
Seonghyun Kim
ef4b1ef414
Implement Iterator.concat method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-30 14:53:22 +09:00
Seonghyun Kim
5537c312dc
Replement DateView constructor to respect new ECMAScript spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-26 16:06:16 +09:00
Seonghyun Kim
b66f1f6678
Reject promise with broken promise in AsyncGenerator.prototype.return
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-26 16:06:16 +09:00
Seonghyun Kim
d49aece60c
Fixup Date.prototype.setYear
...
* Read [[DateValue]] and then call ToNumber when stored time-value is valid
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-26 16:06:16 +09:00
Seonghyun Kim
be331e04c3
Use correct Realm on ScriptClassConstructorFunctionObjectReturnValueBinderWithConstruct
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-26 16:06:16 +09:00
Seonghyun Kim
c7a1b4154b
Fixup resizable and detached check in ArrayBuffer
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-26 16:06:16 +09:00
Seonghyun Kim
e74404b9a2
Use tryToUseAsIndex in Array.prototype.join
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-24 09:37:03 +09:00
Seonghyun Kim
8aae441360
Update testing files
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-24 09:37:03 +09:00
Seonghyun Kim
c54390bf2e
Generate unicode related files from raw unicode text file
...
* Generate UnicodeIdentifierTables.cpp from DerivedCoreProperties.txt
* Generate YarrCanonicalizeUnicode.cpp from CaseFolding.txt
* Generate UnicodePatternTables.h from UCD
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-24 09:37:03 +09:00
Seonghyun Kim
c599abdc60
Runs coverage tests on self-hosted runner
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-18 18:53:40 +09:00
Seonghyun Kim
8f24498310
Fix minor Temporal issues
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-18 18:03:08 +09:00
Seonghyun Kim
7bb1e520a5
Fix issues on Temporal::calendarResolveFields
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-18 18:03:08 +09:00
Seonghyun Kim
82924e7db5
Fix comptued eraYear check bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-18 18:03:08 +09:00
Seonghyun Kim
f541c5c63f
Implement Temporal ISODateToFields method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-18 18:03:08 +09:00
Seonghyun Kim
2f42f070f3
islamic and islamic-rgsa is not supported calendar for Temporal
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-16 16:45:19 +09:00
Seonghyun Kim
5c64d63fd1
Implement missing part of TemporalObjects.prototype.toLocaleString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-16 16:45:19 +09:00
Seonghyun Kim
2b7a5657ef
Extend time limit of analysis-action
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-16 16:45:19 +09:00
Seonghyun Kim
345a295cba
Update indian era code for icu-78
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-16 16:45:19 +09:00
Seonghyun Kim
ce0d795280
Update Calendar::diffYearDueToICU4CAndSpecDiffer for icu-78
...
* see https://unicode-org.atlassian.net/browse/ICU-23167
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-16 16:45:19 +09:00
Seonghyun Kim
4e589b1a52
Use key of era data correctly for icu-78
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-16 16:45:19 +09:00
Seonghyun Kim
15d86aeeb9
Update test set to icu-78 and ubuntu24.04
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-15 18:43:33 +09:00
Seonghyun Kim
71706514f4
Fix extended year bug with iso8601 calendar
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-15 18:43:33 +09:00
Seonghyun Kim
ee64383623
Update Temporal methods
...
* Update Temporal::calendarDateUntil for non-iso 8601 calendars
* Update monthCode, monthsInYear logic for chinese, dangi calendar
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-15 18:43:33 +09:00
Seonghyun Kim
e6417b8ed8
Update Temporal
...
* Update calendarAdd method
* Use correct era code for ethioaa calendar
* Implement special path for hebrew calendar
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-15 18:43:33 +09:00
Seonghyun Kim
7667784d79
Consider single era correctly in Temporal
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-15 18:43:33 +09:00
Seonghyun Kim
b1dd07f05c
Show correct era code and eraYear to islamic calendars
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-15 18:43:33 +09:00
Seonghyun Kim
2325f6fc64
Improve Temporal + intl402
...
* Update test262
* Apply basic of https://tc39.es/proposal-intl-era-monthcode/
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-15 18:43:33 +09:00
Seonghyun Kim
1175bb303b
Implement Array.fromAsync
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-03 13:54:50 +09:00
Seonghyun Kim
d06a31a1a2
Update Intl.DateTimeFormat.formatRange, formatRangeToParts for Temporal
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
369278e640
Implement overwrapping options of Temporal...toLocaleString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
7dd0c1821e
Implement Temporal.Duration.prototype.toLocaleString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
33d32009da
Implement Temporal.{PlainTime, PlainDateTime}.prototype.toLocaleString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
c3841a7176
Implement Temporal.{PlainYearMonth, PlainMonthDay}.prototype.toLocaleString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
0a2eec0e85
Skip Temporal test on arm32-linux
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
75cdb470ba
Implement Temporal.Instant.prototype.toLocaleString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
45313ea2ce
Implement Temporal.ZonedDateTime.prototype.toLocaleString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
66e105e9f8
Treat timezones correctly
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-12-02 13:41:54 +09:00
Seonghyun Kim
4a4f8a6d7e
Call GC_gcollect_and_unmap and GC_invoke_finalizers on Global::finalize
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-20 17:26:47 +09:00
Seonghyun Kim
ef5ef0b9b4
Update GCutil
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-20 14:25:16 +09:00
Seonghyun Kim
18d3f010a0
Date.prototype.toTemporalInstant
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-20 14:25:16 +09:00
Seonghyun Kim
297162133e
Implement Temporal.Duration.compare
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-20 14:25:16 +09:00
Seonghyun Kim
ba05eaec99
Implement Temporal.Duration.total, round
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-20 14:25:16 +09:00
Seonghyun Kim
5bbfa73dcd
Implement Temporal.Instant.toZonedDateTimeISO
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-20 14:25:16 +09:00
Seonghyun Kim
5240b9cbec
Implement Temporal.Now.*ISO() functions
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-20 14:25:16 +09:00
Ivan Maidanski
72172f6c47
Update LICENSE.BOEHM-GC
...
The license file is copied from third_party/GCutil/LICENSE.
Signed-off-by: Ivan Maidanski <ivmai@mail.ru>
2025-11-20 10:40:24 +09:00
Ivan Maidanski
d017677d54
Change build scripts after move bdwgc files to gcutil repository root
...
Change `GCutil/bdwgc` to `GCutil` in escargot.spec, android CMakeLists.txt.
Remove `-I .../GCutil/bdwgc -I .../GCutil/bdwgc/include/gc`.
Signed-off-by: Ivan Maidanski <ivmai@mail.ru>
2025-11-19 16:06:58 +09:00
Seonghyun Kim
98de57bc8a
Fix windows CI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-18 17:58:10 +09:00
Seonghyun Kim
fdac7ae1c3
Implement Temporal.ZonedDateTime.round, startOfDay, getTimeZoneTransition, valueOf, compare
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-17 11:17:29 +09:00
Seonghyun Kim
dccf2f9256
Implement Temporal.ZonedDateTime.since, until
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-17 11:17:29 +09:00
Seonghyun Kim
83c9e9a50a
Implement Temporal.ZonedDateTime.add, subtract
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-17 11:17:29 +09:00
Seonghyun Kim
0c41944316
Implement Temporal.ZonedDateTime.with* functions
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-17 11:17:29 +09:00
Seonghyun Kim
3844dced3f
Support more timezone names on Temporal
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-17 11:17:29 +09:00
Seonghyun Kim
0249b5efb5
Implement Temporal.ZonedDateTime.to* functions
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-17 11:17:29 +09:00
Seonghyun Kim
1c3248ce35
Implement Temporal.PlainDateTime.toZonedDateTime
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-17 11:17:29 +09:00
Seonghyun Kim
ef617652dc
Implement Temporal.PlainDate.to* functions
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-17 11:17:29 +09:00
Seonghyun Kim
bb3c62e2cc
Implement from, toString, equals, getter of Temporal.ZonedDateTimeObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-10 13:20:35 +09:00
Seonghyun Kim
acd242f7df
Implement constructor of Temporal.ZonedDateTimeObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-11-10 13:20:35 +09:00
Seonghyun Kim
5618ae6f7b
Implement Temporal.PlainDateTime.compare
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-21 15:10:15 +09:00
Seonghyun Kim
dc7640a152
Implement Temporal.PlainDateTime.{ toPlainTime, toPlainDate }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-21 15:10:15 +09:00
Seonghyun Kim
5e5eb5d631
Implement Temporal.PlainDateTime.{ equals, round }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-21 15:10:15 +09:00
Seonghyun Kim
fa3432f1d6
Implement Temporal.PlainDateTime.{ since, until }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-21 15:10:15 +09:00
Seonghyun Kim
9d634be004
Implement Temporal.PlainDateTime.{ add, subtract }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-21 15:10:15 +09:00
Seonghyun Kim
cb01142c4c
Implement Temporal.PlainDateTime.{ with * }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-21 15:10:15 +09:00
Seonghyun Kim
f9ca29d5cb
Implement basic of Temporal.PlainDateTime
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-17 14:58:40 +09:00
Seonghyun Kim
c3c3bca85e
Implement basic of Temporal.PlainMonthDay
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-17 14:58:40 +09:00
Seonghyun Kim
600fa1a906
Implement Temporal.PlainYearMonth.{ until, since }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-14 14:21:15 +09:00
Seonghyun Kim
b9041e60b7
Implmenet Temporal.PlainYearMonth.{ add, subtract }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-14 14:21:15 +09:00
Seonghyun Kim
70e0721082
Implement Temporal.PlainYearMonth.{ compare, with, toPlainDate }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-14 14:21:15 +09:00
Seonghyun Kim
36e4562e68
Fix minor issues in PlainYearMonth
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-10-14 14:21:15 +09:00
2jaeheon
77a3b8554f
ci(macos): add ad-hoc codesign for .dylib artifacts
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
Co-authored-by: M-SE0K <seg082911@gmail.com>
2025-10-02 13:10:02 +09:00
2Jaeheon
77741e8d13
ci: fix-windows build
...
Signed-off-by: 2Jaeheon <jaeheon0826@jbnu.ac.kr>
2025-09-26 16:06:22 +09:00
Hyukwoo Park
4f0a1cff00
Fix conflicts in actions
...
Signed-off-by: Hyukwoo Park <hyukwoo.park@jbnu.ac.kr>
2025-09-26 09:10:37 +09:00
2Jaeheon
9e414f3933
ci: add -DCMAKE_POLICY_VERSION_MINIMUM to builds
...
Signed-off-by: 2Jaeheon <jaeheon0826@jbnu.ac.kr>
2025-09-24 17:30:15 +09:00
Seonghyun Kim
641e3813c4
Implement basic of Temporal.PlainYearMonth
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-22 16:48:25 +09:00
Hyukwoo Park
8b39a2c3ff
Enable workflow_dispatch in release action
...
Signed-off-by: Hyukwoo Park <hyukwoo.park@jbnu.ac.kr>
2025-09-20 18:35:42 +09:00
Seonghyun Kim
8e5636c198
Implement Temporal.PlainDate.{ since, until }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-18 16:17:04 +09:00
Seonghyun Kim
5b74588aa1
Implement Temporal.PlainDate.{ add, subtract, equals, with, withCalendar }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-18 16:17:04 +09:00
Seonghyun Kim
141797871f
Implement basic of Temporal.PlainDate
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-18 16:17:04 +09:00
Seonghyun Kim
90d8da7fe8
Implement Temporal.PlainTime.{ since, until, round, equals }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-18 16:17:04 +09:00
Seonghyun Kim
d7c2db8f3f
Implement Temporal.PlainTime.{ toString, add, subtract, from }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-18 16:17:04 +09:00
Seonghyun Kim
84a305785a
Implement base of Temporal.PlainTime
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-18 16:17:04 +09:00
2Jaeheon
293729c869
implement: code review bot
...
Signed-off-by: 2Jaeheon <jaeheon0826@jbnu.ac.kr>
2025-09-18 16:15:47 +09:00
Hyukwoo Park
40e54ebead
Fix cmake build error in macOS-actions
...
Signed-off-by: Hyukwoo Park <hyukwoo.park@jbnu.ac.kr>
2025-09-15 12:15:03 +09:00
Seonghyun Kim
8d140c3c0f
Implement Temporal.Duration.{ add, subtract, with, toLocalString, toJSON }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-09 11:38:59 +09:00
Seonghyun Kim
7135cbaefe
Implement Temporal.Instant.{add, subtract, compare}
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-09 11:38:59 +09:00
Seonghyun Kim
34c2f0a20e
Implement Temporal.Instant.{since, until}, Temporal.duration.{toString, negated}
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-09 11:38:59 +09:00
Seonghyun Kim
5711241b99
Implement Temporal.Instant.{ toLocalString, toJSON, round }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-04 13:22:13 +09:00
Seonghyun Kim
96beab3416
Implement basic methods of Temporal.Instant
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-04 13:22:13 +09:00
Seonghyun Kim
06e356f15a
Introduce Int128 library
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-04 13:22:13 +09:00
Seonghyun Kim
6175024ffc
Implement basic of Temporal.Duration
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-04 13:22:13 +09:00
Seonghyun Kim
3c1ddaaa50
Implement basic of Temporal.Now and Temporal.Instant
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-09-04 13:22:13 +09:00
Seonghyun Kim
52bbc7a9bc
Update README and CMakeFiles
...
* rename ESCARGOT_ENABLE_SHADOWREALM to ESCARGOT_SHADOWREALM in build stuff
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-26 17:00:40 +09:00
Seonghyun Kim
fc47134b6e
Rename ESCARGOT_ENABLE_SHADOWREALM to ENABLE_SHADOWREALM in source code
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-25 12:38:24 +09:00
kwonjeomsim
2482f40fe2
Implement ShadowRealm Wrapped function
2025-08-22 14:21:26 +09:00
kwonjeomsim
25a5bf17c3
Implement ShadowRealm constructor and prototype.evaluate method
2025-08-22 14:21:26 +09:00
Seonghyun Kim
6cfdea8169
Update release.yml
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-22 14:21:01 +09:00
Patrick Kim
1577634b8f
Update README.md
2025-08-21 17:24:56 +09:00
Seonghyun Kim
7993469edf
Bump version to 4.3.0
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:59 +09:00
Seonghyun Kim
d8e2610f90
Implement using vairable with for-of statement
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
39b990ed7a
Implement AsyncDisposableStack
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
c3fadf767b
Implement %IteratorPrototype% [ @@dispose ] and %AsyncIteratorPrototype% [ @@asyncDispose ]
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
fff09af8c3
Implement basic of await using statement
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
4a372c5b01
Implement DisposableStackObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
26a2d9d39c
Fix using statement bugs
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
98c145bdff
Fix parser error while parse using variable
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
954b5bc77f
Implement basic of using variable
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
b2ba17408c
Implement SuppressedError
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
Seonghyun Kim
b50bda684b
Update windows SDK version
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-21 17:22:15 +09:00
HyukWoo Park
1e11e1d668
Support SharedArrayBuffer in WASM Memory
...
Signed-off-by: HyukWoo Park <hyukwoo.park@jbnu.ac.kr>
2025-08-13 11:23:15 +09:00
HyukWoo Park
a11e806c20
Update walrus module
...
Signed-off-by: HyukWoo Park <hyukwoo.park@jbnu.ac.kr>
2025-08-13 11:23:15 +09:00
Seonghyun Kim
152bd60e3a
Fix compile error & disable outdated tests
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-13 11:22:55 +09:00
Seonghyun Kim
108b0a2d87
Implement Uint8Array.fromHex, Uint8Array.prototype.{ toHex, setFromHex }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-13 11:22:55 +09:00
Seonghyun Kim
e8b7538e24
Implement Uint8Array.prototype.{setFromBase64, toBase64} and Uint8Array.fromBase64
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-13 11:22:55 +09:00
Seonghyun Kim
c31d8d6fdb
Add GC disable, enable api to public header
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-11 12:56:36 +09:00
Seonghyun Kim
c543b17857
Revise TypedArray builtins for support resizble ArrayBuffer correctly
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-11 12:56:36 +09:00
Seonghyun Kim
b1e87e6801
Implement Iterator.from method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-11 12:56:36 +09:00
Seonghyun Kim
989e924b49
RelativeTimeFormat should have own NumberFormat
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-07 11:42:40 +09:00
Seonghyun Kim
a526fc2ad8
Implement Intl.Segmenter.prototype.segment method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-07 11:42:40 +09:00
Seonghyun Kim
39be7b7d97
Implement Intl.Segmenter constructor
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-07 11:42:40 +09:00
Seonghyun Kim
e5fe9d44c6
Move many Normal StaticStrings into Intl lazy StaticStrings
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-07 11:42:40 +09:00
Seonghyun Kim
a058a43145
Implement new methods of Intl.Locale
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-07 11:42:40 +09:00
Seonghyun Kim
3d230333be
Update Intl.Locale constructor for supporting newer spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-07 11:42:40 +09:00
Seonghyun Kim
7454b14725
Implement Intl.DurationFormat.prototype.formatToParts
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-07 11:42:40 +09:00
Seonghyun Kim
54b0cf8f65
Implement Intl.DurationFormat, Intl.DurationFormat.supportedLocalesOf and Intl.DurationFormat.prototype.format
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-07 11:42:40 +09:00
Seonghyun Kim
c2083928a7
Remove useless check on ErrorObject::stack set function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-01 10:16:26 +09:00
Seonghyun Kim
f00b8128a9
Update Runtime ICU binder for Windows
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-01 10:16:26 +09:00
Seonghyun Kim
db0badf787
Impelement Intl.DateTimeFormat.prototype.formatRangeToParts
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-01 10:16:26 +09:00
Seonghyun Kim
05553d2264
Impelement Intl.DateTimeFormat.prototype.formatRange
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-01 10:16:26 +09:00
Seonghyun Kim
2e33b02111
Add toStringTag to Intl.DateTimeFormat
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-01 10:16:26 +09:00
Seonghyun Kim
5de198e3a7
Revise hour12, hourCycle, locale hc extension handling in Intl.DateTimeFormat
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-01 10:16:26 +09:00
Seonghyun Kim
50299f0b15
Revise Intl.DateTimeFormat
...
* Parse GMT offset as timezone
* replace space (u202F) and thinSpace (u2009) from ICU result
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-08-01 10:16:26 +09:00
2jaeheon
6242f0977e
Implement Iterator.prototype.flatMap method
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
2025-07-30 15:05:46 +09:00
2jaeheon
6d0874b866
Implement getIteratorFlattenable
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
2025-07-30 15:05:46 +09:00
clover2123
ae94df12b7
Disable -Os option for the latest gcc version
...
Signed-off-by: clover2123 <hyukwoo.park@jbnu.ac.kr>
2025-07-29 19:14:23 +09:00
Seonghyun Kim
383f275ad9
Update Intl.DateTimeFormat constructor for support Updated spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-23 10:30:50 +09:00
Seonghyun Kim
8d890f97ec
Use collation and ignorePunctuation option correctly in Intl.Collator
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-23 10:30:50 +09:00
kwonjeomsim
953fb9163d
Implement Map/WeakMap.prototype.getOrInsertComputed
2025-07-22 11:29:15 +09:00
2jaeheon
47d09c2a5f
fix: Store Date value before ToNumber to handle side effects correctly
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
2025-07-21 09:55:18 +09:00
Seonghyun Kim
4be0de65b9
The toLocaleString method of each non-undefined non-null element must be called with two arguments.
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-21 09:09:51 +09:00
Seonghyun Kim
e640af3007
Enable Math.f16round
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-21 09:09:51 +09:00
Seonghyun Kim
0f55e4461a
Implement Intl.PluralRules.selectRange
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-21 09:09:51 +09:00
Seonghyun Kim
b2ecf54887
Implement more options to Intl.PluralRules
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-21 09:09:51 +09:00
Seonghyun Kim
a264ee2026
Implement Intl.NumberFormat.prototype.formatRangeToParts function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-21 09:09:51 +09:00
Seonghyun Kim
7b71600aa7
Implement Intl.NumberFormat.prototype.formatRange
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-21 09:09:51 +09:00
kwonjeomsim
edbdfc7888
Catch syntax error when try to increase/decrease yield and new.target keyword
2025-07-20 10:53:37 +09:00
Anwar Fuadi
0daf586b6e
Implement Math.f16round(x).
2025-07-17 15:17:30 +09:00
Seonghyun Kim
f15ce4357a
Update Intl.NumberFormat constructor, format and resolvedOptions method for Intl.NumberFormat V3 spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-16 14:20:42 +09:00
Seonghyun Kim
4da625eeee
Implement new useGrouping option for NumberFormat
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-16 14:20:42 +09:00
Seonghyun Kim
eb69692309
Update test env to ICU 77
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-14 10:21:43 +09:00
Seonghyun Kim
1d1abe1e69
Implement ECMA-402 Intl.supportedValuesOf
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-14 10:21:43 +09:00
2jaeheon
5632e3f811
parser: Throw SyntaxError for non-simple left-hand side in compound assignments
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
2025-07-12 22:56:11 +09:00
Seonghyun Kim
6cae4dc1e2
Fix up WeakMap, WeakSet memory leak and add cctest to test WeakMap and WeakSet
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-11 13:44:38 +09:00
kwonjeomsim
8582684c0b
Implement Map/WeakMap.prototype.getOrInsert
2025-07-11 10:21:47 +09:00
2jaeheon
e488659903
Implement Iterator.prototype.drop method
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
2025-07-10 21:49:42 +09:00
Seonghyun Kim
dfeec6e03b
Fix memory leak in WeakMapObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-10 18:53:34 +09:00
Seonghyun Kim
f2b6d3d5e0
Try to parse date with ICU
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-10 18:53:34 +09:00
Seonghyun Kim
2405fac873
Apply unicode 17 rules to parser
...
- Update UnicodeIdentifierTables.cpp to unicode 17
- zero width joiner and zero width non-joiner are not a valid identifier start
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-10 18:53:34 +09:00
Seonghyun Kim
bf59245ee0
Improve small config memory usage
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-09 16:11:46 +09:00
Seonghyun Kim
49984a0247
Implement missing part of resizeble buffer
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-09 10:45:06 +09:00
Seonghyun Kim
9528f75cba
Implement Math.sumPrecise
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-09 10:45:06 +09:00
Soonbeom Kwon
5c53d26131
Implement Iterator.prototype.every, take, toArray method
2025-07-07 16:32:16 +09:00
Seonghyun Kim
6ecf44ae02
Implement Atomics.pause
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-04 11:15:11 +09:00
Seonghyun Kim
84f5d459cf
Read SharedArrayBuffer length before compute index
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-04 11:15:11 +09:00
2jaeheon
3274c456bd
Implement Iterator.prototype.forEach method
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
2025-07-03 22:34:48 +09:00
2jaeheon
6d2208a3e6
Implement Iterator.prototype.some method
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
2025-07-03 22:34:48 +09:00
Seonghyun Kim
9b2f4723e8
Fix reading attribute code on dynamic import
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-03 14:27:34 +09:00
Seonghyun Kim
048b6e1d17
Update parser due to spec update
...
* fix import attribute parsing bug
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-03 14:27:34 +09:00
Soonbeom Kwon
cebb533875
Adjust iteratorFilterClosure to spec and fix counter variable
2025-07-03 12:41:03 +09:00
Soonbeom Kwon
8b2b02439f
Combine IteratorData struct
2025-07-03 12:41:03 +09:00
Soonbeom Kwon
dc5ae66e0e
Implement Iterator.prototype.reduce method
2025-07-03 12:41:03 +09:00
Soonbeom Kwon
d9792ddaf1
Implement Iterator.prototype.filter method
2025-07-03 12:41:03 +09:00
Seonghyun Kim
2bcc19e587
Implement Float16Array
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-02 16:15:46 +09:00
2jaeheon
901d29e3bb
Implement Iterator.prototype.find method
...
Signed-off-by: 2jaeheon <jaeheon0826@jbnu.ac.kr>
2025-07-02 10:49:17 +09:00
Seonghyun Kim
7a47be7877
Fix JSON builtin bug related with rawJSON spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-01 19:39:37 +09:00
Seonghyun Kim
4c7cd64424
Implement Error.isError method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-01 19:39:37 +09:00
Seonghyun Kim
157a309f97
Implement Promise.try method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-01 19:39:37 +09:00
Seonghyun Kim
2986b98885
Implement RegExp.escape method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-01 19:39:37 +09:00
Seonghyun Kim
d92a795390
Update clang-format version to 20
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-07-01 18:39:28 +09:00
Seonghyun Kim
67198fc8b0
Implement JSON.parse source text access spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-30 15:41:34 +09:00
Seonghyun Kim
87a09becd9
Remove nullptr ctor in Optional class to make it clearly
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-30 12:53:21 +09:00
Seonghyun Kim
2c80cd43f1
Update test262 driver and test result file
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-30 12:53:21 +09:00
Seonghyun Kim
8ae1f976d9
Update yarr version
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-30 12:53:21 +09:00
Seonghyun Kim
6a00b188d8
Implement Set.prototype.symmetricDifference method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-25 14:15:23 +09:00
Seonghyun Kim
422dd0bc61
Implement Set.prototype.{isSubsetOf, isSupersetOf}
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-25 14:15:23 +09:00
Seonghyun Kim
dfed47ebb9
Implement Set.prototype.difference
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-25 14:15:23 +09:00
Seonghyun Kim
39d284b2b2
Implement Set.prototype.isDisjointFrom
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-25 14:15:23 +09:00
Seonghyun Kim
8984acc04f
Implement Set.prototype.intersection
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-25 14:15:23 +09:00
Seonghyun Kim
04f9d99f13
Implement Set.prototype.union method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-25 14:15:23 +09:00
Seonghyun Kim
53058a0d45
Fix clang-cl ci
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-25 14:15:23 +09:00
HyukWoo Park
a9a2335ef5
Update test262
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2025-06-25 09:53:04 +09:00
Hyukwoo Park
64db935469
Replace imp module by version-compatible importlib in test262 runner
...
Signed-off-by: Hyukwoo Park <hyukwoo.park@jbnu.ac.kr>
2025-06-25 09:53:04 +09:00
Hyukwoo Park
595a85757e
Add pkg-config install in README
...
Signed-off-by: Hyukwoo Park <hyukwoo.park@jbnu.ac.kr>
2025-06-25 09:53:04 +09:00
Seonghyun Kim
a4021a97f4
Remove GC_size with alloc logic since it produces ci error
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-23 17:31:19 +09:00
Seonghyun Kim
9f59be13c2
Add tempory fix until https://github.com/actions/runner-images/issues/12435 fixed
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-23 17:31:19 +09:00
Seonghyun Kim
4c6220f22c
Move tcoBuffer variable from ByteCodeInterpreter to ThreadLocal
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-23 17:31:19 +09:00
Seonghyun Kim
21f6cd3f73
Fix memory expand error on TightVectorWithNoSizeUseGCRealloc
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-19 11:09:46 +09:00
Seonghyun Kim
18a470f3f8
Disable TCs since we found some regression
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-18 17:50:07 +09:00
Seonghyun Kim
8ea4218205
Use disappearing link instead of finalizer for BackingStore
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-18 17:50:07 +09:00
Seonghyun Kim
72fc9d0680
Set GC warning proc for release mode
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-18 17:50:07 +09:00
Seonghyun Kim
fd133c5868
Use disappearing link instead of finalizer for implementing WeakRefs
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-18 17:50:07 +09:00
Seonghyun Kim
ef7441c412
Improve String hasher
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-18 17:50:07 +09:00
Seonghyun Kim
302a6ecd44
Use ParserStringView instead of AtomicString for validating parameter in esprima
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-18 17:50:07 +09:00
Seonghyun Kim
f1a7274e95
Optimize StringBuilder
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-18 17:50:07 +09:00
Seonghyun Kim
f3b070f91d
Don't allocate new memory if there is enough memory in Vector
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-18 17:50:07 +09:00
Seonghyun Kim
9ae947d83b
Expand object property storage when create object with construct operation
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-11 14:03:47 +09:00
Seonghyun Kim
5611aca4e1
Check length before calling memcpy
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-11 14:03:47 +09:00
Seonghyun Kim
895052f59e
Use 64bit address mode on 64bit system for JNI
...
* some JVMs invade our 32bit address space, so we cannot use force-32bit mode with JVMs
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-09 15:51:21 +09:00
Seonghyun Kim
932d82cbf9
Replace std::list with Vector
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-09 15:51:21 +09:00
Seonghyun Kim
81e5797483
Revert StringBuilder with RopeString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-05 22:23:12 +09:00
Seonghyun Kim
595971175c
Allow template literal with new line on return statement
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-05 22:23:12 +09:00
Seonghyun Kim
ccf80322c8
Fix unicode RegExp processing bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-05 22:23:12 +09:00
Seonghyun Kim
72205bb381
Fix super property set error in class
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-02 12:45:48 +09:00
Seonghyun Kim
795aa354f1
Fix print error on ByteCodeGenerator
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-02 12:45:48 +09:00
Seonghyun Kim
b1a3ccc12e
Update Finalizer public API
...
Allow multiple register of callbacks
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-02 12:45:48 +09:00
Seonghyun Kim
0e5925f7b0
Update android build files for mac, ubuntu
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-06-02 12:45:48 +09:00
Seonghyun Kim
62e6e01ed1
Update android build files
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-30 16:20:18 +09:00
Seonghyun Kim
80141b3e71
Implement PersistentRefHolder::{setWeak, isWeak, clearWeak}
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-30 10:21:27 +09:00
Seonghyun Kim
268306b456
Fix cmake file error
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-29 11:44:47 +09:00
Seonghyun Kim
58c0a0bb0a
Fix subString bugs
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-27 11:19:42 +09:00
Seonghyun Kim
50d31696d9
Update default value of threading and update READMD.md
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-27 11:19:42 +09:00
Seonghyun Kim
be859fdcee
Improve ENABLE_TLS_ACCESS_BY_PTHREAD_KEY
...
* Enable this flag in 32bit address mode in 64bit
* Use first key of pthread_create_key
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-27 11:19:42 +09:00
Seonghyun Kim
edb0346d4e
Implement TLS access with pthread_key_t
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-26 09:38:29 +09:00
Seonghyun Kim
9f985fb1dc
Don't make copy of large string in small config mode
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-20 20:44:27 +09:00
Seonghyun Kim
2a00a728ca
Update GCutil
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-20 20:44:27 +09:00
Seonghyun Kim
2c0c041c9a
Improve TLS valriable r/w on ELF shared-libary
...
since calling __tls_get_addr performace is too bad, we should r/w TLS variables with special offset
users can turn on this feature with ESCARGOT_ENABLE_TLS_ACCESS_BY_ADDRESS flag
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-14 14:34:31 +09:00
Seonghyun Kim
e575d34387
Update finalizer public API
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 17:54:41 +09:00
Seonghyun Kim
e4c132d591
Update GCutil
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 12:27:36 +09:00
Seonghyun Kim
aa14a49a70
Enhance Vector::erase method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 12:27:36 +09:00
Seonghyun Kim
c2ef5b9e12
Reduce calling count of String::charAt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 09:56:33 +09:00
Seonghyun Kim
adcd8025b7
Don't save CompressibleString and Reloadable string on AtomicStringMap
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 09:56:33 +09:00
Seonghyun Kim
ebe450e623
Calling fastTickCount function in CompressibleString is too expensive
...
Use last GC marking instead
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 09:56:33 +09:00
Seonghyun Kim
560cd36c21
Add VMInstance config flags
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 09:56:33 +09:00
Seonghyun Kim
7b95d4e9b8
free CreateObjectPrepare::CreateObjectData explicitly since CreateObjectData is big
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-12 09:56:33 +09:00
Seonghyun Kim
3aff294c29
Change default Memory::setGCFrequency value to 12 due to bdwgc update
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-07 11:11:38 +09:00
Seonghyun Kim
4a952115d0
Remove unnecessary strlen and memory copys
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-07 11:11:38 +09:00
Seonghyun Kim
ecf2a586b7
Optimize StringBuilder for huge String
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-05-07 11:11:38 +09:00
Seonghyun Kim
782269345c
Update tizen build files and GCutil
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-04-30 10:17:50 +09:00
Seonghyun Kim
2b84e6b800
Update GCutil
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-04-29 12:09:43 +09:00
Seonghyun Kim
e89d796bb1
When init class, init class methods first
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-04-16 15:15:17 +09:00
Anwar Fuadi
4ebb3a229d
Change from C/Function-style cast to C++-style cast.
2025-04-14 11:02:32 +09:00
Seonghyun Kim
b51cb6ff2e
Add missed typed GC marking for ObjectStructureWithoutTransition
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-04-08 15:23:55 +09:00
Seonghyun Kim
5a7f8d6114
Fix script parser error with class parsing
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-04-06 16:14:09 +09:00
Seonghyun Kim
13990e9538
Add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to github workflow
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-04-03 15:14:39 +09:00
Seonghyun Kim
e78a2432cd
Every value can be used in callDynamicImportRejected function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2025-04-03 15:14:39 +09:00
HyukWoo Park
5f9aefa716
Fix async test script in test262
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2025-01-31 08:38:23 +09:00
HyukWoo Park
a57df7576b
Fix memory leaks in Debugger
...
* shared structure `BreakpointLocationsInfo` between debuggger and ByteCodeBlock can cause memory leaks
* correctly delete each `BreakpointLocationsInfo`
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2025-01-17 10:44:49 +09:00
HyukWoo Park
19498b41b4
Implement PlainDate.prototype calendar-date properties
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2025-01-14 17:27:24 +09:00
HyukWoo Park
5b935ec247
Re-implement Temporal and Temporal.PlainDate basics
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2025-01-08 10:26:05 +09:00
HyukWoo Park
5cdf638814
Fix package installation failure in actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2025-01-07 12:23:23 +09:00
HyukWoo Park
58536d0ea0
Refactor TemporalObject
...
* merge Temporal into TemporalObject
* add each Temporal prototype object into global object
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-12-11 11:34:15 +09:00
HyukWoo Park
e4287d5f6b
Refactor static strings for Temporal
...
* redefine all lazy strings of Temporal objects
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-12-11 11:34:15 +09:00
HyukWoo Park
fdec6267da
Update test262 version
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-12-10 15:48:37 +09:00
HyukWoo Park
037a748d22
Handle out-of-bound access in TypedArray
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-12-10 15:48:37 +09:00
HyukWoo Park
a02c48d286
Fix bugs in RegExp
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-12-02 17:51:47 +09:00
HyukWoo Park
204295833b
Skip pkg-config install in macos
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-11-26 16:48:55 +09:00
HyukWoo Park
c7623e41ce
Update release action
...
* include icu libraries for release
* add build option for deployment
* check the result of deployment in action
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-11-26 16:48:55 +09:00
Seonghyun Kim
5c22c9f32d
Update maven release files
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-11-18 15:02:41 +09:00
HyukWoo Park
6d2dd5ecec
Update release actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-11-08 11:45:17 +09:00
HyukWoo Park
d70a651c56
Add RISC-V (64bit) test environment in actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-11-08 11:45:17 +09:00
HyukWoo Park
9df6de10a2
Fix a parsing bug in nullish-coalescing
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-11-07 17:49:03 +09:00
HyukWoo Park
92602e2ca2
Update release action
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-10-31 15:37:23 +09:00
HyukWoo Park
081e241c2f
Fix x86 build in actions to use i386 ICU package
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-10-31 15:37:23 +09:00
HyukWoo Park
ff7b02722d
Fix icu4c build path in macOS
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-10-31 15:37:23 +09:00
HyukWoo Park
98a7eaf95d
Update macOS build including both x64 and arm64
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-10-23 16:34:16 +09:00
Seonghyun Kim
2f3ba80a08
Fix one of assignment optimizer bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-10-21 10:56:13 +09:00
HyukWoo Park
cf0ef1247b
Update macOS version in actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-10-16 16:17:51 +09:00
Seonghyun Kim
f388c52797
Fix crash while buildStacktrace
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-10-10 10:45:05 +09:00
HyukWoo Park
cd4b7ddbea
Fix minor parsing errors
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-09-27 08:16:34 +09:00
Seonghyun Kim
7365c2ae4b
Fix crash when got stack overflow error while computing bytecode position
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-09-24 10:18:56 +09:00
Seonghyun Kim
32f1ebbd26
Fix bug in callConstructor with class
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-09-19 14:32:57 +09:00
HyukWoo Park
91eef62f47
Refactor parsing of optional chaining
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-09-19 13:48:53 +09:00
Seonghyun Kim
1e1599aa09
Implement ValueRef::callConsturctor
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-09-13 16:14:22 +09:00
HyukWoo Park
0434ba9237
Fix this binding error within eval and arrow function
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-09-12 20:20:07 +09:00
HyukWoo Park
0eac4dcff9
Add stack checker in Proxy call and construct methods
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-09-12 20:20:07 +09:00
Seonghyun Kim
55d3c17718
ByteCodeBlock of top CodeBlock should not be removed from VMInstance
...
* If there is GC jobs from Script init to Script execution, the ByteCode can be remove by ByteCode prunning. this is wrong
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-09-10 13:53:32 +09:00
HyukWoo Park
6a0087c6cb
Fix minor defect in Yarr
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-09-09 15:50:08 +09:00
HyukWoo Park
e801bb623f
Update README
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-09-09 15:49:45 +09:00
HyukWoo Park
5fcdf4e101
Fix generation of arguments object used in nested arrow functions and eval codes
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-09-05 10:38:47 +09:00
HyukWoo Park
7589396230
Fix calculation of identifiers located in parameter scoped functions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-08-30 09:37:09 +09:00
HyukWoo Park
d398f1ece3
Fix minor type-casting defect in TypedArray
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-08-20 18:30:53 +09:00
HyukWoo Park
cadbad68b9
Update README
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-08-20 18:30:53 +09:00
Seonghyun Kim
2ec730bed4
Implement basic of Iterator helper and Iterator.prototype.map
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-08-09 15:40:40 +09:00
HyukWoo Park
23ef57997a
Fix minor buffer overflow in lexer
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-08-06 15:34:25 +09:00
HyukWoo Park
fff4e2fdd4
Fix minor build errors for clang compiler
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-08-06 15:34:25 +09:00
HyukWoo Park
3045a8ef7e
Add android release in actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-08-05 09:21:27 +09:00
HyukWoo Park
dd479c42bb
Update android build
...
* update NDK version 27
* enable 16KB page size
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-07-31 17:52:47 +09:00
Seonghyun Kim
0f6ea4612a
Fix memory error on Yarr
...
If we want to store WTF::String with Vector or HashSet,
we would use another type of allocator
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-25 16:29:03 +09:00
Seonghyun Kim
96d165ff5a
Fix test262 driver error around IsAsyncTest function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-25 16:29:03 +09:00
Seonghyun Kim
adf735966f
DataViewObject sometimes have true for m_isAuto & detached when byteLength is below zero
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-25 16:29:03 +09:00
Seonghyun Kim
023bb16baa
Revise Array, ArrayBuffer, BigInt, DataView builtins
...
* Implement missing features on ArrayBuffer
* Fix minor bug on BigInt, DataView and Array
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-25 16:29:03 +09:00
Seonghyun Kim
902d76f0dd
Update yarr generated unicode data file to unicode 15.1
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-25 16:29:03 +09:00
HyukWoo Park
246ecf6456
Fix buffer overflow error in RegExp
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-07-25 12:35:25 +09:00
HyukWoo Park
b7a70c5c33
Update WASM js-api
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-07-25 10:07:09 +09:00
Seonghyun Kim
9b1076d5c6
Update yarr generated unicode data file to unicode 15.1
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-24 10:21:42 +09:00
Seonghyun Kim
21903f956e
In RegExp ctor, we should replace \n into \\n
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-24 10:21:42 +09:00
Seonghyun Kim
7762be63d1
Implement accessor unicodeSets for RegExp prototype
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-24 10:21:42 +09:00
Seonghyun Kim
6374a4857d
Fix unicode string indexing bug in RegExpExec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-24 10:21:42 +09:00
Seonghyun Kim
a66b725ce4
RegExp.prototype[Symbols.match] builtin function should read flags property instead of global
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-24 10:21:42 +09:00
Seonghyun Kim
eda2f8d4fa
If there is unicode flag is set but find un-paired utf-16 surrogate in RegExp interpreter,
...
We should not use utf-16 surrogate pair rule for input.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-24 10:21:42 +09:00
HyukWoo Park
7fc59b7171
Revise WASM cache structure
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-07-18 16:15:23 +09:00
HyukWoo Park
f07651568b
Update wasm-js testsuite
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-07-18 16:15:23 +09:00
HyukWoo Park
19f32213ee
Fix test runner to print out fail list
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-07-18 16:15:23 +09:00
Seonghyun Kim
0fbacc3b2e
Fix Unicode Identifier paring bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-18 14:27:49 +09:00
Seonghyun Kim
b95ae71b67
Fix Bug in RegExpObject::createRegExpMatchedArray
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-18 14:27:49 +09:00
HyukWoo Park
6c0926c4c0
Fix out-of-bound source code accesses in Lexer
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-07-16 15:47:40 +09:00
Seonghyun Kim
bddd8a8fe2
RegExp.prototype.compile should not accept sub-class of RegExp
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-16 14:25:28 +09:00
Seonghyun Kim
b3deb87407
Add YarrSyntaxChecker to test RegExp pattern and flag
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-16 14:25:28 +09:00
Seonghyun Kim
9c09d721af
Implement 'd' flag for RegExp
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-16 14:25:28 +09:00
Seonghyun Kim
9876b4c852
Fix parse RegExp option bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-16 14:25:28 +09:00
Seonghyun Kim
4c2efa224e
Implement StackCheck in yarr
...
* Move many WTF class from WTFBridge to class file
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-16 14:25:28 +09:00
Seonghyun Kim
3d4d9a9f2b
RegExp.prototype.compile method should check the function is called by cross-realm
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-16 14:25:28 +09:00
Seonghyun Kim
8ac5782dec
Update test262 exclude file
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-12 16:44:02 +09:00
Seonghyun Kim
72cb18b19b
in RegExp(yarr), UCHAR_ALPHABETIC chars not applied by u_tolower, u_toupper
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-12 16:44:02 +09:00
Seonghyun Kim
4b8024efb7
Update yarr source to webkitgtk-2.44.2
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-12 16:44:02 +09:00
HyukWoo Park
01bfe58f7f
Fix wrong memory allocation of ToStringRecursionPreventer in VMInstance
...
* fix it to make GC correctly trace ToStringRecursionPreventer structure
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-07-05 10:21:05 +09:00
Seonghyun Kim
e2423b2428
Fix shell and test262 driver bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-04 13:41:04 +09:00
Seonghyun Kim
d59154a794
Implement String.prototype.{ isWellFormed, toWellFormed }
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-04 13:38:59 +09:00
Seonghyun Kim
18ec8bc1fc
Fix bug when resize size of ArrayBuffer from zero
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-04 13:35:01 +09:00
Seonghyun Kim
d9bfe96623
Implement Promise.withResolvers
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-03 09:48:25 +09:00
Seonghyun Kim
23d21fd7ec
Implement Map.groupBy
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-03 09:48:25 +09:00
Seonghyun Kim
277738e347
Implement Object.groupBy method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-07-03 09:48:25 +09:00
Seonghyun Kim
db24c809c8
Add missing function if there is no ENABLE_COMPRESSIBLE_STRING flag
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-06-28 12:06:58 +09:00
HyukWoo Park
3024cb7065
Add codecov configuration file
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-06-28 10:59:12 +09:00
HyukWoo Park
1053742b3d
Fix coverage analysis command to correctly collect infos
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-06-20 09:58:16 +09:00
Seonghyun Kim
000a19868f
Prune Async, Generator function ByteCodeBlock if possible
...
* Don't hold Async, Generator function ByteCodeBlock while GC
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-06-19 13:26:12 +09:00
Seonghyun Kim
f646e364a7
Fix error on run-tests.py
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-06-13 12:40:30 +09:00
HyukWoo Park
1050ee4f5b
Update TCO debug mode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-06-05 11:06:25 +09:00
Seonghyun Kim
25fe6b8d5a
Update spec file and run-test tool
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-05-28 17:05:50 +09:00
HyukWoo Park
5d5e89f6d8
Replace every getIndexedProperty by getIndexedPropertyValue in TypedArray builtin methods
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-28 14:29:56 +09:00
HyukWoo Park
91c83757e5
Update TypedArray.prototype.toReversed builtin method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-28 14:29:56 +09:00
HyukWoo Park
b692b277d0
Update Array.prototype.toReversed builtin method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-28 14:29:56 +09:00
HyukWoo Park
23d203b7b2
Update Array.prototype.toSpliced builtin method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-28 14:29:56 +09:00
HyukWoo Park
47cc02e8d8
Update TypedArray.prototype.toSorted builtin method
...
* fix some errors in sort method too
* refactor other sort and toSorted methods
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-23 17:02:15 +09:00
HyukWoo Park
696cff8d27
Fix bugs in Array.prototype.sort
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-23 17:02:15 +09:00
HyukWoo Park
f5a08722e9
Update Array.prototype.toSorted builtin method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-23 17:02:15 +09:00
HyukWoo Park
52e3239f63
Update build options and submodules
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-22 17:40:10 +09:00
HyukWoo Park
57c23d62f0
Fix Error creation process to check and trigger Error relevant callbacks correctly
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-14 10:08:26 +09:00
HyukWoo Park
77f0c49ad5
Add ESCARGOT_USE_EXTENDED_API build option to managed APIs used only for third party
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-14 10:08:26 +09:00
Seonghyun Kim
a34205a555
Remove AVD cache from CI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-05-07 09:23:02 +09:00
Seonghyun Kim
af5ac14862
When finalize ThreadLocal, we should remove gc event listener from bdwgc
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-05-07 09:23:02 +09:00
HyukWoo Park
f039511557
Fix calculation of outer limit of complex jump correctly
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-02 10:17:14 +09:00
HyukWoo Park
2c36e6eb67
Remove redundant code modules in complex jump
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-02 10:17:14 +09:00
HyukWoo Park
08eb095b3c
Replace checks of undefined or null routine in for statement by one unified bytecode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-02 10:17:14 +09:00
HyukWoo Park
5ec3d007fa
Fix build error in actions CI
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-05-02 10:17:14 +09:00
HyukWoo Park
fdda755329
Fix not to store duplicated properties in Template
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-04-24 15:43:07 +09:00
HyukWoo Park
29ea705677
Mark structure as referenced by inline caching for template
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-04-24 15:43:07 +09:00
HyukWoo Park
05d1dadbe4
LoadLiteral bytecode should have a seperate dst register
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-04-24 15:43:07 +09:00
HyukWoo Park
fa209656d5
Reset m_fastModeData of ArrayObject for the case of exception during ArrayObject creation
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-04-24 15:43:07 +09:00
HyukWoo Park
28451a704f
Update Walrus module
...
* fix build error
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-04-05 12:08:07 +09:00
HyukWoo Park
5a5238049c
Implement Immutable Prototype Exotic Object
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-04-03 16:49:20 +09:00
HyukWoo Park
99f7a16312
Fix to access global builtin properties before delete operation
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-28 16:35:15 +09:00
HyukWoo Park
33037e20d8
Throw an exception when attributes parameter of Reflect.defineProperty is not an Object
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-28 16:35:15 +09:00
HyukWoo Park
5f918f17e6
Fix an error in getting a new.target method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-28 16:35:15 +09:00
HyukWoo Park
46cd288264
Fix parsing error about await keyword
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-28 16:35:15 +09:00
HyukWoo Park
870bc3991a
Fix the type of GeneratorFunction.prototype
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-26 13:29:51 +09:00
HyukWoo Park
232a555df2
Fix optional chaining parsing to correctly throw a syntax error for left-hand side assignment
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-26 13:29:51 +09:00
HyukWoo Park
2bde2b91e3
Fix wrong register calculation in AssignmentExpressionSimpleNode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-26 13:29:51 +09:00
HyukWoo Park
babcedce95
Adjust buffer size of source code loading
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-20 14:57:06 +09:00
HyukWoo Park
01c132434c
Fix missing parameters in collectByteCodeLOCData
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-20 14:57:06 +09:00
HyukWoo Park
23cbadecad
Add missing type check in left-hand-expression parsing
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-20 14:57:06 +09:00
HyukWoo Park
5ee4a5bd4e
Fix buffer overflow error in builtinHelperFileRead method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-15 09:30:40 +09:00
HyukWoo Park
bccdc4225e
Update deprecated actions modules
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-12 13:50:42 +09:00
HyukWoo Park
86525d1000
Fix object set inline caching method
...
* fix inline caching to insert a new cache item after validation
* refactor set inline caching method
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-12 13:50:42 +09:00
HyukWoo Park
5275ce42e3
Remove unnecessary codes in ObjectStructure
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-03-12 13:50:42 +09:00
HyukWoo Park
023b7ea014
Implement general tail call optimization
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-02-20 17:16:10 +09:00
Seonghyun Kim
65558531f8
Fix yml file to run test cases on test machine
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-02-14 15:28:56 +09:00
Seonghyun Kim
6218b1bafc
Update GCutil and object value allocator for fix performance problem
...
There was a problem running bubble test in web-tooling-benchmark
too many gc were occured because GC_get_bytes_since_gc() cannot track GC_free event
so, I am start to use GC_REALLOC on 64-32bit
and fixes build error with mem_stats profiler(valgrind)
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-02-14 15:28:56 +09:00
HyukWoo Park
c4ab1cf57d
Merge tail call bytecodes
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-02-05 14:19:01 +09:00
Seonghyun Kim
55a36a294a
Fix crash
...
Force keep ByteCodeBlock* pointer in calling function routine.
Some compiler don't keep pointer of ByteCodeBlock* in stack when calling function
If don't keep the pointer, we can lose the ByteCodeBlock while GC
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-02-01 10:49:00 +09:00
Seonghyun Kim
c884c0605b
Improve Object creation performance
...
* Convert rootedObjectStructureSet(Vector) into HashSet
* Use inline storage for properties in CreateObjectData
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-02-01 10:49:00 +09:00
Seonghyun Kim
2b6e3fcc7d
Update object creation code from script
...
* Use ObjectCreatePrepare code everytime
* Implement simple inline-cache object structure in ObjectCreatePrepare
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-02-01 10:49:00 +09:00
Seonghyun Kim
9a5c1b57a9
Add google-perf build option
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-02-01 10:49:00 +09:00
Seonghyun Kim
bd95de3c46
Implement more things for CreateObjectPrepare operation
...
* It should support methods and spread element
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-01-18 16:40:37 +09:00
Seonghyun Kim
ded2d1145e
Introduce new way of create object in script
...
* Prepare the property and key list before object creation
* The new way reduce size of object structure with transition
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-01-18 16:40:37 +09:00
Seonghyun Kim
70a5bf444a
Fix bugs on Temporal
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-01-18 16:40:37 +09:00
HyukWoo Park
f09fe2a4c0
Fix buffer overflow in text reading
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-16 15:59:02 +09:00
HyukWoo Park
3aac2156a9
Fix FinalizationRegistry
...
* unregisterToken should be weak reference
* add finalizer for unregisterToken
* fix cleanupSome method
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-12 18:50:50 +09:00
HyukWoo Park
47b9fb1074
Implement FinalizationRegistry of Symbol type
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-12 15:08:35 +09:00
HyukWoo Park
364b5f4717
Implement WeakRef of Symbol type
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-12 15:08:35 +09:00
HyukWoo Park
1749160613
Implement Symbol value of WeakSet
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-12 15:08:35 +09:00
HyukWoo Park
9dc7a55cbe
Implement Symbol key of WeakMap
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-12 15:08:35 +09:00
Zoltan Herczeg
ac75d5c715
Fix memory and conversion issues in python debugger
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2024-01-12 12:18:53 +09:00
HyukWoo Park
ca43b39174
Revise Symbol description getter methods
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-10 14:34:43 +09:00
HyukWoo Park
86f230325f
Implement finalizer for Symbol
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-10 14:34:43 +09:00
HyukWoo Park
1982e20d42
Remove redundant checks in Object conversion macro
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-08 09:46:36 +09:00
HyukWoo Park
96762b2187
Update TypedArray.prototype.with
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-04 10:09:32 +09:00
HyukWoo Park
9e87e85dc7
Update Array.prototype.with
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-04 10:09:32 +09:00
HyukWoo Park
a4afdefbf2
Fix defects
...
* using references for auto variables
* embed identifier operations for non-generic block infos
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2024-01-03 08:54:05 +09:00
Seonghyun Kim
5170135d7b
Implement generic BlockInfo vector for CodeBlock for reducing memory usage
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2024-01-02 15:09:40 +09:00
Seonghyun Kim
1b9be45708
Add Generic-BlockInfo for reducing memory usage of BlockInfo
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-12-28 09:31:13 +09:00
Seonghyun Kim
b0543cfe9c
Use realloc for ByteCodeGeneration
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-12-28 09:31:13 +09:00
HyukWoo Park
c12763a4df
Update test262 version
...
* fix an error in TemporalObject
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-20 16:00:08 +09:00
HyukWoo Park
282cd3f359
Add timeout limits for hosted-runners in actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-20 16:00:08 +09:00
HyukWoo Park
698b932878
Fix broken badge in README
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-20 16:00:08 +09:00
HyukWoo Park
3026aab3ca
Fix minor code defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-19 10:24:18 +09:00
HyukWoo Park
a3fa9d7ef0
Fix parsing bugs in increment or decrement operations
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-18 08:41:26 +09:00
HyukWoo Park
dcbcd7dac5
Add untracked flag for web-tooling-benchmark submodule
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-18 08:41:26 +09:00
HyukWoo Park
9bc09564f4
Fix parsing bugs in UnaryExpression and Exponentiation operation
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-15 15:07:53 +09:00
HyukWoo Park
4121b297fc
Run web-tooling-benchmark in actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-12 17:09:31 +09:00
HyukWoo Park
b50e5fcf8c
Add web-tooling-benchmark test
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-12 17:09:31 +09:00
HyukWoo Park
93d4648908
Refactor Code Cache
...
* reduce FILE I/O to accelerate load/store process
* add code caching functions for clean code
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-08 08:44:25 +09:00
Seonghyun Kim
59a626b871
Improve performance with large object
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-12-07 16:36:24 +09:00
Seonghyun Kim
5d59757208
Optimize JSON.parse with large input
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-12-07 16:36:24 +09:00
Seonghyun Kim
b117b8b205
Optimize JSONStringifyQuote
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-12-07 16:36:24 +09:00
HyukWoo Park
8aa918e372
Fix a wrong assertion in tail call without parameters
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-12-06 13:09:38 +09:00
Seonghyun Kim
799bc4fcc9
Fix global-await issue
...
* Print unhandled reject error for developer in shell
* Fix await expression parsing bug
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-12-01 10:47:36 +09:00
Seonghyun Kim
184295ccb6
Use string length with hash for identify source code in CodeCache
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-30 10:03:22 +09:00
Seonghyun Kim
41206722f0
Fix SIGBUS on arm cpu
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-29 13:13:46 +09:00
Seonghyun Kim
f04616e4a5
Make every function cacheable even if script is not cacheable
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-29 13:13:46 +09:00
Seonghyun Kim
2c070415ba
Revise load/store CodeCache for function
...
* Store CodeCache for function in same file with Script where it is located
* Implement load function ByteCode when loading Script
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-29 13:13:46 +09:00
HyukWoo Park
5bc5fc7876
Add fine-tuned TCO condition check in parsing phase
...
* check argument count and name of callee
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-11-23 08:26:09 +09:00
HyukWoo Park
1a5b10b821
Simplify TCO check code
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-11-23 08:26:09 +09:00
HyukWoo Park
11d9427bb8
Update TCO to handle tail recursion with non-identical argument counts
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-11-23 08:26:09 +09:00
Seonghyun Kim
e9cec1d0b4
Make option for maxCompiledByteCodeSize in VMInstance
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-21 14:49:31 +09:00
Seonghyun Kim
fcc35d22bf
Implement experimental code cache of function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-21 14:49:31 +09:00
Seonghyun Kim
195039d901
Revise computing and using stack limit
...
* Compute stack limit correctly through pthread API or Windows internal API
* Store stack limit in TLS(or global) not a VMInstance or ExecutionState
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-20 13:31:17 +09:00
Seonghyun Kim
48150217a8
Divide ExectuionState to ExecutionState and ExtendedExecutionState(with rareData)
...
* This path reduce gc_malloc count for try-catch, with, generator, async function
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-20 13:31:17 +09:00
Seonghyun Kim
4f8582ec25
Compute stacktrace when creating ErrorObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-09 12:15:14 +09:00
HyukWoo Park
4581040747
Implement TCO for try-catch-finally block
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-11-08 15:16:42 +09:00
Seonghyun Kim
e706ea6e4a
Implement Context.throwException on Java API
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-03 10:51:03 +09:00
Seonghyun Kim
4053e103a5
Add missing license file
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-01 12:50:15 +09:00
Seonghyun Kim
2ecb52c9cd
Implement JavaErrorObject in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-11-01 12:50:15 +09:00
Seonghyun Kim
d7cf6a58ce
Add self-hosted github action machine instead of using jenkins
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-31 13:04:31 +09:00
Seonghyun Kim
5c797fa5ac
Add example of MultiThreadExecutor
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-30 11:14:37 +09:00
Seonghyun Kim
2bd31a2136
Implement MultiThreadExecutor on Java API
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-30 11:14:37 +09:00
Seonghyun Kim
5b91e4bb2d
Update API
...
* add Promise builtin, Object::setLength apis on native & java
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-30 11:14:37 +09:00
Seonghyun Kim
bd4b29364b
Implement setExtraData, extraData on JavaScriptObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-25 14:21:10 +09:00
Seonghyun Kim
f33168c6f6
Divide one big JNI file into multiple files
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-25 14:21:10 +09:00
HyukWoo Park
49fd86eae8
Enable try operation APIs only for test mode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-25 11:23:41 +09:00
HyukWoo Park
28f1f0fb0b
Remove unused parameter in toBoolean method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-25 11:23:41 +09:00
HyukWoo Park
f77f28fa84
Fix an error in calculation of ExecutionPause length for Code Cache
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-25 11:20:43 +09:00
Seonghyun Kim
97e698db34
Fix bug with top-level-await with class variable init
...
* Prevent native stack overflow
* Fix bug in ExecutionState::inPauserScope
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-24 14:25:01 +09:00
HyukWoo Park
7f7d8c336d
Apply TCO for sequence and logical operations located at the end of the return statement
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-23 16:03:30 +09:00
Seonghyun Kim
cdb47df97f
Generate EscargotInfo.h file in CMAKE_BINARY_DIR/escargot_generated/ not on src
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-19 12:07:35 +09:00
Seonghyun Kim
98133d2206
Update Java API
...
* Check type on as{*} functions
* Add Context as argument for every callback
* Add Pending job option into evalScript function
* Move few create functions into child class
* Update build files
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-18 17:25:45 +09:00
HyukWoo Park
463d73023a
Fix tests according to the update in stack tracing
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-17 17:46:14 +09:00
HyukWoo Park
f41a422302
Fix execution state traversal in stack tracing
...
* fix stack tracing to correctly add execution state in the middle of multiple state links
* remove redundant checks in stack tracing
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-10-17 17:46:14 +09:00
Seonghyun Kim
7697c00fef
Add promise API in java layer
...
* Update android gradle version
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-11 19:02:40 +09:00
Seonghyun Kim
27f44f396d
Use robin_map by add include directory instead of adding sub directory in cmake
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-10-05 17:39:41 +09:00
Seonghyun Kim
ae1ba12763
Update mac android build files
...
* Fix TypedArrayObject.prototye.indexOf bug
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-09-15 11:03:19 +09:00
HyukWoo Park
f79cdc8f0c
Fix error in analysis action
...
* update wasm build of walrus
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-09-15 10:43:31 +09:00
HyukWoo Park
e7ab0df730
Add WASM build test
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-09-12 14:52:29 +09:00
HyukWoo Park
730853fecb
Replace wasm engine with walrus
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-09-12 14:52:29 +09:00
Seonghyun Kim
ccb11a6ce1
Fix binary precedence bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-09-12 12:57:23 +09:00
Seonghyun Kim
f6cdc00259
Optimize TypedArrayObject.prototype.set, indexOf, lastIndexOf
...
* Update cmakefile
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-09-12 12:57:23 +09:00
Seonghyun Kim
2141345fc0
Fix async arrow function parser bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-09-01 13:33:00 +09:00
HyukWoo Park
f56ea256b4
Fix minor code defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-08-11 15:07:48 +09:00
HyukWoo Park
b09fdcb929
Replace redundant sandbox runs with try-catch statement
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-08-11 15:07:48 +09:00
HyukWoo Park
b980f68488
Fix minor code defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-07-25 10:47:49 +09:00
Seonghyun Kim
498966bca1
Implement riscv64 build support
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-24 16:57:25 +09:00
Seonghyun Kim
95aa9934a0
Add arm32 test
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-24 11:17:03 +09:00
Seonghyun Kim
87fda52727
Fix crash with ObjectStructureWithMap and inline cache
...
If inline cache refers ObjectStructure, ObjectStructure should keep its contents.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-20 10:58:53 +09:00
Seonghyun Kim
74735f9029
Update public API for using NewTarget from outside of escargot
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-18 18:58:52 +09:00
Seonghyun Kim
0c834fe76d
Update Jenkinsfiles
...
* add arm64 version of jenkins
* fix arm64-gcc issue
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-18 16:44:16 +09:00
Seonghyun Kim
2cc4dc09c1
Update build files
...
* Fix build error on gcc-13
* User can use variables CMAKE_SYSTEM_NAME and CMAKE_SYSTEM_PROCESSOR for compile
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-17 10:04:23 +09:00
Seonghyun Kim
0927db97c5
Fix issues on ARM32
...
* convert Infinity into int64_t not produces same result with x86.
* Unaligned 8-byte access on ARM64 causes SIGBUS
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-17 10:04:23 +09:00
HyukWoo Park
78d2520e8b
Fix code format of robin_map
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-07-14 13:31:37 +09:00
HyukWoo Park
7b207535e3
Fix minor defect
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-07-14 13:31:37 +09:00
Seonghyun Kim
4913754c32
Implement building with clang-cl
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-12 16:46:42 +09:00
Seonghyun Kim
da856ccac9
Implement Windows x64 UWP and x86 DLL build test on github action
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-12 16:46:42 +09:00
Seonghyun Kim
a2886b8db1
Update source and test driver for running test262 on windows
...
* Update test262 driver for python3 and windows
* Update DateFormat for windows
* Fix compiler warnings on Win64
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-07 09:20:04 +09:00
Seonghyun Kim
1353d2e1a5
update shell
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-07 09:20:04 +09:00
Seonghyun Kim
7946cb8d09
Use own vector instead of std::vector in robin_hash
...
* using std::vector with bdwgc can cause leak from std::vector
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-07 09:20:04 +09:00
Seonghyun Kim
67216fcac9
Replace gc-allocated std::{unordered_map,unordered_set} with robin-{map,set}
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-07 09:20:04 +09:00
Seonghyun Kim
e5ea30b06c
Add robin-map library as third_party
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-07-07 09:20:04 +09:00
Seonghyun Kim
3a3ef88853
Implement building on Win64
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-29 10:12:59 +09:00
Seonghyun Kim
0596de75c8
Update windows build
...
* using cmake instead of maintain another files for windows
* delete own ICU build files for windows
* Fix some bugs running on windows
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-22 13:31:23 +09:00
Seonghyun Kim
3aaded1210
Use ucal_* API instead of vzone_* API of ICU
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-19 11:37:25 +09:00
Seonghyun Kim
34182762c1
Fix evaluation bug of UpdateExpression with MemberExpression
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-14 12:38:57 +09:00
Seonghyun Kim
9093a7244b
Implment tizen build of escargot
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-14 12:38:57 +09:00
Seonghyun Kim
003d417972
Revise minor things
...
* Add dumping function for jsc-stress, chakracore, escargot test
* Fix wrong test datas and drivers
* Fix minor bug in yarr
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-06-07 15:32:57 +09:00
Seonghyun Kim
c352be9893
Use tryToUseAsIndex32 instead of toIndex in JSON string replacer
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-31 14:30:10 +09:00
HyukWoo Park
e84107d418
Remove unused parameters in ByteCode macro
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-31 12:49:24 +09:00
HyukWoo Park
e275ba66f5
Remove an unused variable in ALLOCA
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-31 12:49:24 +09:00
HyukWoo Park
7e68583b56
Fix a bug that interpreter reuses an argument buffer of caller in tail call
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-30 14:20:41 +09:00
Seonghyun Kim
0c1a12541b
Update test driver
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-30 11:47:58 +09:00
Seonghyun Kim
66489b7660
Implement dumping and run v8 test
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-30 11:47:58 +09:00
Seonghyun Kim
3894bfec5d
Enable more v8 tests
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-30 11:47:58 +09:00
Seonghyun Kim
e007a9d4eb
Fix minor issues
...
* when computuing byteLength of ArrayBuffer,
we should use 64-bit integer regard to overflow
* Adding missing ASTAllocator::clear
* Proxy object should care infinity loop
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-30 11:47:58 +09:00
Seonghyun Kim
eb1380ea95
Implement SIGSEGV, SIGABRT handler for easier debugging on android
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-19 13:45:56 +09:00
Seonghyun Kim
9581488a11
Update test files regarding to dump and run spidermonkey on android
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-19 13:45:56 +09:00
HyukWoo Park
0285779f67
Expand TCO on nullish and conditional expression
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-11 15:57:28 +09:00
HyukWoo Park
f621248ccc
Update tail calls not to generate End bytecode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-11 15:57:28 +09:00
Seonghyun Kim
015d4bd2bd
Update java Runtime Exception processing in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-09 11:00:19 +09:00
Seonghyun Kim
930e5a7636
Process Java RuntimeException with JS exception instead of native exception
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-08 18:07:06 +09:00
HyukWoo Park
1fbf4872c7
Add a build option of tail call optimization
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-08 17:05:02 +09:00
Seonghyun Kim
b0106ced1c
Update for android-JNI api
...
* Add ESCARGOT_BUILD_64BIT_FORCE_LARGE option to android build
* Don't ignore RuntimeExection of java
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-08 14:03:30 +09:00
HyukWoo Park
283873a291
Implement basic tail call optimization for normal function
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-03 11:18:25 +09:00
HyukWoo Park
0e0b759817
Include breakpoint bytecodes only for debugger mode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-05-03 11:18:25 +09:00
Seonghyun Kim
6fcb1afb47
Android should use large-64bit mode when exporting aar
...
+ set abort handler to bdwgc
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-05-02 17:56:35 +09:00
HyukWoo Park
02e9b999e9
Fix error in optional chaining
...
* should trigger an exception when callee or target object is indeed undefined in optional chaining
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-28 12:14:30 +09:00
Seonghyun Kim
f9c41a5c65
AssignmentExpressionSimpleNode should have own getRegsiter method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-27 16:21:18 +09:00
Seonghyun Kim
435c536848
Throw jni so load failed exception only if failed in linux, mac
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-27 16:21:18 +09:00
Seonghyun Kim
9a4371398f
Update JNI build file and Java sources
...
* Add jacocoTestReport command to generate coverage
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-26 13:58:10 +09:00
Seonghyun Kim
25539bd485
Update JNI test case to count test case number
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-26 13:58:10 +09:00
Seonghyun Kim
9a29ca809d
Use getprop command instead of ICU for getting system timezone
...
* Old version of ICU doesn't return IANA timezone id when call ucal_getDefaultTimeZone
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-24 16:45:45 +09:00
Seonghyun Kim
6a84aefa64
We need to check the callback was deleted before calling in FinalizationRegistryObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-24 16:45:45 +09:00
Seonghyun Kim
6b43e1c44a
Fix float conversion problem
...
* Use Value(NanInit) function instead of Value(DoubleToIntConvertibleTestNeedsTag, double)
* in armeabi-v7a, Inf to int64_t can return unexpected value
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-24 16:45:45 +09:00
Seonghyun Kim
bcbbfe212d
Reading float unaligned address raises SIGBUS in armeabi-v7a
...
* read unaligned address as int & turn off optimization
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-24 16:45:45 +09:00
HyukWoo Park
94c1a60de3
Update sam exclude file with comments
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-21 14:47:59 +09:00
HyukWoo Park
8f5311010e
Make test scripts be compatible with python3
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-21 14:47:59 +09:00
Seonghyun Kim
7a98a9ba52
Update timezone and locale codes
...
* Use ICU function for reading default system timezone
* Update default locale reading logic(remove POSIX postfix & ignore 'C' locale)
* Refactor global timezone, vzone, tzname codes
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-20 20:48:23 +09:00
Seonghyun Kim
80fea01dd1
Update test262-runner and Android build files
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-20 20:48:23 +09:00
Seonghyun Kim
e4bb91a79f
Use int8_t instead of char
...
* c++ spec not specify char is signed
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-20 20:48:23 +09:00
Seonghyun Kim
e4e7144f94
Fix bugs
...
* Replace strlen with strnlen in BuiltinRegExp
* Don't use compiler builtin atomic operation in ARM
* Atomics.isLockFree(4) always returns true
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-17 14:22:18 +09:00
Seonghyun Kim
e6e34a3a9d
Implement dumping test262 data into disk for running test262 without python
...
* Implement test262 runner for test which is dumped by tool
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-17 11:00:16 +09:00
HyukWoo Park
c35bd083b5
Remove unused member in ByteCodeGenerateContext
...
* remove m_openedNonBlockEnvCount
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-17 09:16:01 +09:00
HyukWoo Park
c8cc70d83e
Update Stack Overflow checker and disabler
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-17 09:16:01 +09:00
HyukWoo Park
4c144d0383
Update googletest to the latest release version
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-17 09:16:01 +09:00
Seonghyun Kim
fbbad63f6e
Update android build files
...
* build libescargot as static in android
* Add native shell build in order to run test case on android
* Add missing license text for jni
* Update android shell app
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-10 20:02:17 +09:00
HyukWoo Park
16720128aa
Update coverage scan
...
* schedule analysis actions to trigger on every monday, wednesday and friday
* add coverage result badge in README
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-10 16:30:43 +09:00
HyukWoo Park
fa917e8668
Revise github actions with coverage test
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-07 16:57:15 +09:00
Seonghyun Kim
dd010ab68e
Divide Value::Value(double) into Value(DoubleToIntConvertibleTestNeedsTag, double) and Value(UnconvertibleDoubleToInt32 v)
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-06 16:41:23 +09:00
HyukWoo Park
3e1fa28c8f
Release v4.0.0
...
* support ECMAScript2022
* enable WASM
* enable debugger and vscode extension
* enable multi target/platform builds
* optimize performance/memory
* fix bugs
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-05 13:26:23 +09:00
HyukWoo Park
8f475978f1
Fix a build warning in RuntimeICUBinder
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-05 13:26:23 +09:00
Seonghyun Kim
7414ebda02
Introduce new Value ctor for NaN, Infinity regard to fix arm clang issue
...
arm clang optimizer cannot generate correct code
with Value(std::numeric_limits<double>::quiet_NaN())
or Value(std::numeric_limits<double>::infinity())
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-04 14:12:32 +09:00
Seonghyun Kim
8b7456d330
Update android test shell and add arm clang test
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-04-04 14:12:32 +09:00
HyukWoo Park
7175b19a11
Update ahub exclude list
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
4b3dec1d17
Relieve code complexity in intl modules
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
adef94b097
Reduce code complexity in builtinStringReplace method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
f4aebb65ba
Reduce Cyclomatic Complexity (CC) in Intl and Date
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
53289897e8
Add AssignmentExpressionNode interface
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
bf3f885519
Remove cycle dependency from interpreter to parser
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
HyukWoo Park
2b31effd4f
Remove cycle dependency in CodeBlock
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-04-03 11:22:51 +09:00
Seonghyun Kim
a6ec162bd8
Fix bugs
...
* if there is too big expression, bytecode generation can be failed
* fix some errors on 64-bit platform through using int
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-30 13:10:13 +09:00
Seonghyun Kim
496e3cee71
Update GCutil and build flags
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-30 13:10:13 +09:00
HyukWoo Park
de4c7eb0db
Eliminate duplicated code
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
2046b1faa9
Divide Interpreter module into Interpreter and InterpreterSlowPath
...
* to reduce the total size of Interpreter module
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
9f93022d78
Unlink circular dependency between runtime and parser source codes
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
4ae794b901
Remove redundant header files
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
4d884e66c6
Remove duplicated code in ScriptParser
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
9e3ac3931c
Reduce CyclomaticComplexity (CC) in Intl module
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-28 16:17:00 +09:00
HyukWoo Park
ef0b3d56ea
Add exclude list for sam analysis
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-21 12:43:54 +09:00
Seonghyun Kim
ba9cb2b21a
Every JNI method should check java-null-reference
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-21 09:55:23 +09:00
Seonghyun Kim
ce768a627e
Add null checking for Object and Value functions in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-21 09:55:23 +09:00
Seonghyun Kim
3dba75cdaa
Implement null check for VMInstance, Context, Evaluator in jni
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-21 09:55:23 +09:00
Seonghyun Kim
b3c9846f2a
Update android test shell app & remove unused functions on android
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-21 09:55:23 +09:00
Seonghyun Kim
e0fbe20f01
Improve JNI memory management
...
* Delete local java ref if needs.
* Create local frame on callback.
* Reference list should be updated when object was deleted.
* We should not store non-js-heap value on java reference list
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-13 19:27:58 +09:00
Seonghyun Kim
8843d2682e
Implement JavaScriptJavaCallbackFunctionObject
...
It has a Java callback what can be called from JavaScript
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-13 19:27:58 +09:00
HyukWoo Park
8d7e353073
Fill omitted member initializations
...
* fix minor code defects
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-13 17:29:13 +09:00
Seonghyun Kim
6e3220bb1d
Prevent multiple escargot-jni so copying from multi thread or multi process
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-10 16:43:59 +09:00
Seonghyun Kim
c1d3b8c142
Implement FunctionObject and consturct expression for JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-10 16:43:59 +09:00
Seonghyun Kim
97cf33f533
Update RuntimeICUBinder
...
When dlopen icu so, we should try to load so with version like libicuuc.so.63
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-08 16:16:08 +09:00
Seonghyun Kim
559fa4e0fe
Implement BigInt API in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-08 16:16:08 +09:00
Seonghyun Kim
22665e7ca2
Implement callable and call function in JNI layer
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-07 14:32:19 +09:00
Seonghyun Kim
8d4513054d
Implement concurrent multithread support for java
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-07 14:32:19 +09:00
HyukWoo Park
22c8ca389e
Fix minor code defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-03-06 15:22:53 +09:00
Seonghyun Kim
461cfab115
Reimplement JNI memory management
...
* Use PhantomReference and ReferenceQueue instead of finalizer.
finalizer could be called by another thread like FinalizerDaemon and it is deprecated.
* Remove NativePointerHolder::destroy function.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-03 17:16:36 +09:00
Seonghyun Kim
e31f548e41
Add generate source and javadoc task in build.gradle
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-02 16:30:27 +09:00
Seonghyun Kim
e8ce2873b3
Implement GlobalObject and expose JSON.stringify, JSON.parse in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-02 16:30:27 +09:00
Seonghyun Kim
923edb3151
Implement ArrayObject api in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-02 16:30:27 +09:00
Seonghyun Kim
c995be8ca1
Implement basic Object api in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-02 10:00:12 +09:00
Seonghyun Kim
2894c6181d
Update return type of Evaluator::evalScript in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-02 10:00:12 +09:00
Seonghyun Kim
54ad857db9
Implement more JavaScriptValue::to* methods in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-02 10:00:12 +09:00
Seonghyun Kim
3193067afa
Update Bridge parameter and return type in JNI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-02 10:00:12 +09:00
Seonghyun Kim
546163f6a8
Implement java version of Value::toString, equalsTo, instanceOf and Symbol
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-03-02 10:00:12 +09:00
Seonghyun Kim
3d1ddbaca3
Implement bundleHostJar on android build
...
* jar file tries to copy so file into /tmp/ folder
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-02-23 10:01:44 +09:00
Seonghyun Kim
3ff6946e45
Implement JavaScriptString class on jni layer
...
* rename Value into JavaScriptValue
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-02-23 10:01:44 +09:00
Seonghyun Kim
95ca57fc98
Implement running android(jni) test on host machine infra
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-02-22 11:55:59 +09:00
Seonghyun Kim
00a7ec1df2
Implement basic android api for undefined, null, number values
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-02-22 11:55:59 +09:00
Seonghyun Kim
97fde1d04f
Allow multiple init, deinit to Globals
...
* Update android testcases
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-02-20 20:54:23 +09:00
HyukWoo Park
eaa51dc506
Add a cmake option for tizen-x64 build
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-02-17 11:44:45 +09:00
HyukWoo Park
b23f53065e
Fix to cache AVD upon each architecture
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-02-02 22:16:31 +09:00
HyukWoo Park
86b792ebe3
Enable build for Mac OS
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-02-02 22:16:31 +09:00
Seonghyun Kim
8d328cedf0
Introduce NativePointerHolder on java and add java finalize method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-02-02 09:56:25 +09:00
Seonghyun Kim
341c3fda5d
We need to test both 32 and 64-bit on android
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-27 16:45:25 +09:00
Seonghyun Kim
f9246aa0b5
Add simple android API test and unit test & Update CI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-27 16:45:25 +09:00
Seonghyun Kim
64f3f2e514
Implement simple Bridge Java with JavaScript
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-26 18:39:40 +09:00
Seonghyun Kim
dd8fc32ec1
Implement initial version of android API
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-26 18:39:40 +09:00
Seonghyun Kim
ad5f086f63
Update README.md and CI
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-25 19:20:45 +09:00
Seonghyun Kim
0b11603af4
Add android build artifact
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-25 19:20:45 +09:00
Seonghyun Kim
f94ad89e4f
Tizen aarch64 should use 64BIT_LARGE mode
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-17 14:20:53 +09:00
HyukWoo Park
2b11f2f56c
Update actions to newly run and test on arm architectures
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-17 13:03:18 +09:00
HyukWoo Park
52ef2a57d6
Fix a typo in ARM CPU macro
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-17 13:03:18 +09:00
HyukWoo Park
4c5a226df4
Fix a bug in virtual stack access
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-17 13:03:18 +09:00
HyukWoo Park
3dfdcb3afc
Eliminate a redundant compiler flag
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-17 13:03:18 +09:00
Seonghyun Kim
6002bb00b6
Fix Android build properties & fix interpreter for clang
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-12 17:04:03 +09:00
Seonghyun Kim
ea81b6f8ee
Update android build flags
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2023-01-09 16:15:17 +09:00
HyukWoo Park
f6fa45162f
Resolve CMake deprecation warning
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-05 10:44:31 +09:00
HyukWoo Park
81bcf2ed13
Enable threaded interpreter for arm64 architecture
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-05 10:44:31 +09:00
HyukWoo Park
85f02cb647
Unify CI environments as to ubuntu-latest
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-05 10:44:31 +09:00
HyukWoo Park
8d7334ef4b
Fix troubles in ubuntu-22.04 environment
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2023-01-04 10:26:08 +09:00
HyukWoo Park
581f020176
Fix code defects found by cppcheck
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-11-11 09:48:25 +09:00
HyukWoo Park
867b30ae17
Upgrade actions version
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-11-11 09:46:53 +09:00
Csizi Gergő Lajos
8e1ea20583
Fix some Temporal issues
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-10-31 12:09:03 +09:00
Seonghyun Kim
ea0c2c4c82
Reduce ObjectStructure memory usage
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-10-28 09:46:07 +09:00
HyukWoo Park
cb31d43274
Fix minor defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-10-24 10:51:24 +09:00
HyukWoo Park
7049e81782
Fix test262 runner to print full result
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-10-11 11:25:32 +09:00
Csizi Gergő Lajos
837ced6e3e
Add Addition and Subtraction operations for TemporalObjects
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-10-11 11:13:49 +09:00
Zoltan Herczeg
bd20dbf916
Rework plain date and time constructors
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-10-07 16:56:39 +09:00
HyukWoo Park
d7b08b00db
Update ArrayBuffer with auto length
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-09-29 11:57:58 +09:00
Seonghyun Kim
15db6c3c2e
Update Identifier parsing rule regarding to unicode 14 & fix parser bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-09-29 10:43:21 +09:00
Seonghyun Kim
87c8a581bd
Remove useless peekChar calling in Lexer::lex
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-09-29 10:43:21 +09:00
Zoltan Herczeg
135ee35c54
Pass optimization flags to wabt in release
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-09-29 10:42:35 +09:00
Seonghyun Kim
d698343196
Remove busy waiting & fix memory bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-09-29 10:34:59 +09:00
Seonghyun Kim
682f176d6d
Implement Atomics.waitAsync
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-09-29 10:34:59 +09:00
Zoltan Herczeg
c1b02c23e0
Support dynamic import of JSON modules
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-09-29 10:33:58 +09:00
Gergo Csizi
920be3b9d0
Add TemporalZonedDateTime object
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-09-23 10:16:15 +09:00
HyukWoo Park
90e3e6f474
Remove wrong assertions in Temporal
...
* this value could be a Value other than Object in Temporal builtin functions
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-09-19 13:14:52 +09:00
HyukWoo Park
dcd7179b09
Update test262 to the latest version
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-09-19 13:14:52 +09:00
Seonghyun Kim
693dcf114c
Implement PrivateIdentifier in ... expression
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-09-16 14:39:58 +09:00
HyukWoo Park
2f634771af
Refactor BufferAddressObserver
...
* remove redundant slots
* rename observer callback
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-09-15 15:24:58 +09:00
Seonghyun Kim
24d80757bd
Update byteLength and arrayLength of TypedArrayObject when ArrayObject.prototype.resize is called
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-09-14 18:28:03 +09:00
HyukWoo Park
7d59581294
Fix wrong code in Array.prototype.at
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-09-14 11:07:48 +09:00
HyukWoo Park
a1698590b3
Fix minor defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-09-14 11:07:48 +09:00
Zoltan Herczeg
3a0b874a7e
Implement JSON module parsing
...
Currently only the import statement is supported
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-09-13 16:46:36 +09:00
Seonghyun Kim
b992df9a06
Fix wrong assert in JSGetterSetter
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-09-07 18:38:50 +09:00
Zoltan Herczeg
fd81fa4e52
Support more class static initializer features
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-08-31 14:53:28 +09:00
Gergo Csizi
7852ed629b
Add TemporalTimeZone object
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-08-31 14:53:06 +09:00
Zoltan Herczeg
afa8f4aecc
Move JSON parse / stringify operations into runtime
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-08-30 17:46:11 +09:00
Seonghyun Kim
6f9f2d1f5d
When parsing function parameter with pattern,
...
we should update isAssignmentTarget variable.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-08-30 17:45:31 +09:00
Zoltan Herczeg
289c3bdabb
Reduce keyword comparisons in the parser
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-08-30 11:02:52 +09:00
Zoltan Herczeg
1a5414a0ba
Support class static initializers
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-08-22 15:21:50 +09:00
Gergo Csizi
a7ddbe9eb5
Rename Temporal classes and simplify code
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-08-17 15:35:29 +09:00
Gergo Csizi
2cadeba54c
Add TemporalPlainMonthDay object
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-08-12 11:31:18 +09:00
Gergo Csizi
17b089db85
Add TemporalInstant object
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-08-10 15:09:10 +09:00
Gergo Csizi
d055deea48
Add TemporalPlainYearMonth object
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-08-08 16:24:55 +09:00
HyukWoo Park
d2a17f09cd
Update finalizer with shrink function
...
* add shrink function to resize finalizer list
* shrink the list when about an half of the list is empty
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-08-03 16:40:35 +09:00
Zoltan Herczeg
c3dbe442ef
Further reduce string comparisons in the parser
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-08-01 15:23:13 +09:00
HyukWoo Park
bf1ff52089
Fix finalizer to prevent any possible memory defect
...
* replace erase operation of vector with non-memory operations
* erase operation requires additional memory allocations which may incur other GC in sequence
* fix GCutil to make gc finalizer not to be invoked in nested calls
2022-08-01 13:28:00 +09:00
HyukWoo Park
b700d08424
Fix TypedArray access
...
* clearly declare each GC member of ArrayBuffer
* add detached buffer check in TypedArray access
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-08-01 13:28:00 +09:00
HyukWoo Park
3d7729c96b
Fix a minor memory access defect
...
* for non-argument call case, interpreter may access a too far stack address which will never be read
* fix typos in ArrayExpressionNode too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-08-01 13:28:00 +09:00
HyukWoo Park
5eca40faec
Change BigInt operations as to constant functions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-08-01 13:26:41 +09:00
HyukWoo Park
13adaf9ad6
Fix gcc warning about strict-aliasing
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-07-27 16:01:53 +09:00
Zoltan Herczeg
b476b72ea2
Improve keyword handling in the parser
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-07-27 16:01:28 +09:00
HyukWoo Park
a2bcfd2e9b
Replace character string with basic AtomicString
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-07-27 16:00:09 +09:00
HyukWoo Park
b165161ae8
Update the version of ICU in CI
...
* update the ICU version to 70 because previous 67 version has been deleted in archive
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-07-27 15:59:14 +09:00
Gergo Csizi
2103db26e9
Fix some Temporal issues
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-07-19 16:46:50 +09:00
HyukWoo Park
8b8c13db7d
Remove unnecessary bytecode generation in callee initialization
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-07-15 15:31:37 +09:00
HyukWoo Park
79c3b4c73f
Fix a bug in explicitly declared funtion name with exception case
...
* remove a redundant bytecode addition in node line info calculation
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-07-15 15:31:37 +09:00
Gergo Csizi
da449c8797
Add TemporalDuration
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-07-12 11:11:00 +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
HyukWoo Park
a25c6fa5e8
Add a specific API to create a Script by wrapping the source code with an anonymous function
...
* `initializeFunctionScript` API is added
* unlike dynamically created function, `initializeFunctionScript` supports debugger
* origin line offset is added for correct source code calculation in debugger
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-14 10:57:47 +09:00
HyukWoo Park
d3f6ef74f9
Add ErrorThrowCallback API
...
* ErrorThrowCallback is invoked when an Error is thrown
* ErrorThrowCallback overwrites the result of ErrorCreationCallback
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-13 15:22:59 +09:00
Zoltan Herczeg
49c40cd26e
Implement object store in the debugger
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-04-12 14:13:56 +09:00
Seonghyun Kim
35c6836f2e
Divide get object inline cache into 2 case
...
Divice get object inline cache into simple and complex cases
the simple case should test just one object chain with plain data property
the complex case should consider every case of inline cache
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-12 12:01:08 +09:00
Seonghyun Kim
18707ead9e
Store Value instead of dobule in NumberInEncodedValue.
...
store double can cause type test cost for `the double is Int32`
If store double valus as Value, the test cost disapper
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-12 11:35:25 +09:00
Seonghyun Kim
f4d0b2c940
Improve array get, set performance in interpreter
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-08 10:26:23 +09:00
Seonghyun Kim
9eab9b21f4
Cache data address of ArrayBuffer for improve performance
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-08 10:26:23 +09:00
HyukWoo Park
09c78e357d
Fix a minor bug in DoubleInEncodedValue conversion
...
* DoubleInEncodedValue might have an integer value that is also not a small integer (SMI)
* When converting to Value, DoubleInEncodedValue should be correctly converted to the original value using Value(double) constructor
* fix test runner to run cctest for x86 environment
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-08 10:25:12 +09:00
HyukWoo Park
160c6b3183
Update fast construct method for ScriptSimpleFunctionObject
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-06 09:55:14 +09:00
HyukWoo Park
d0716850af
Rename required register numbers for ByteCodeBlock
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-06 09:55:14 +09:00
HyukWoo Park
2593b3cabe
Do not notify bytecode release for debugging-unmarked function
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-04-05 11:19:46 +09:00
Seonghyun Kim
45eaf29c4c
Reimplement object set inline cache to store multiple item of inline cache
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-05 11:18:18 +09:00
Seonghyun Kim
e6ff2808c8
Fix get object inline cache bug
...
we must convert form of inline cache when find complex case(max index is greater than 1) of get object.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-04-05 11:18:18 +09:00
Seonghyun Kim
635c609330
Refactor DoubleInEncodedValue
...
I store its tag information in the same location with PointerValues
It can reduce memory access count when finding type
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-31 14:30:42 +09:00
Zoltan Herczeg
21d0e6aa42
Implement scope chain property enumeration in the debugger
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-03-28 17:15:34 +09:00
Seonghyun Kim
9be98a8082
Improve Value <-> EncodedValue conversion performance
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-28 14:39:52 +09:00
Seonghyun Kim
ebf4756480
Binding function object in interpreter and compute required stack size early
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-28 14:39:52 +09:00
Seonghyun Kim
b76294bcca
Init local stack allocated var values in interpreter
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-28 14:39:52 +09:00
HyukWoo Park
a84b75d407
Update ErrorCreationCallback handling to ignore adding stackdata into stack property
...
* if ErrorCreationCallback is registered and this callback already inserts `stack` property for evert created ErrorObject,
we just ignore adding `stack` data into ErrorObject
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-03-28 10:38:47 +09:00
HyukWoo Park
de9c7cefd9
Mark String::emptyString as source of AtomicString
...
* String::emptyString is the default string value of empty AtomicString
* so, mark emptyString as source of AtomicString too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-03-28 10:36:37 +09:00
HyukWoo Park
1b38eeca32
Update Debugger to selectively generate debugging byte codes
...
* we can choose JS source code for debugging target
* selectively generating debugging byte code (breakpoint)
* add debugger init option (--skip=) to exclude certain source code from debugging
* rename debugger functions
* explicitly present the python version for debugger tool
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-03-25 17:41:23 +09:00
Seonghyun Kim
c9f14d2a87
Implement ScriptSimpleFunctionObject for enhance function call performance
...
many general function can use ScriptSimpleFunctionObject.
It has simple call operation
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-23 10:53:36 +09:00
HyukWoo Park
8ed787168c
Minor fix in Promise reject callback
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-03-23 10:53:04 +09:00
Seonghyun Kim
91223b79ab
Fix symbol lookup error on FunctionTemplate
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-21 09:00:40 +09:00
HyukWoo Park
2c83b022f3
Update PromiseRejectCallback for PromiseHandlerAddedAfterReject event
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-03-16 14:46:39 +09:00
Seonghyun Kim
5d984c935c
Implement fast path of get symbol from object.
...
the path is used on Value::instanceOf and Value::toPrimitiveSlowCase
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-16 14:46:17 +09:00
Seonghyun Kim
6d5a1ce7ac
Revise object get inline cache
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-14 14:32:57 +09:00
Seonghyun Kim
f79a169daa
Improve enumerate performance
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-14 14:32:57 +09:00
Seonghyun Kim
a484082e44
Reduce memory usage
...
* remove useless GC_MALLOC_EXPLICITLY_TYPED
typed-malloc information is allocated with each malloc operation
* Implement fast path for ObjectPropertyName
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-14 14:32:57 +09:00
Boram Bae
ada969cc24
Improve object enumeration performance
...
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2022-03-11 13:59:14 +09:00
HyukWoo Park
716ff17dd7
Update PromiseRejectCallback
...
* PromiseRejectCallback is invoked when a Promise is rejected but it does not have any reject handler
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-03-10 15:35:36 +09:00
Seonghyun Kim
9a1060f48c
Refactor basic String classes
...
* Implement String with inline buffer. this reduce malloc count & reduce memory usage
* Remove typed-gc-malloc from some classes.
typed malloc classes should have storage for descriptor each malloc.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-08 16:27:33 +09:00
HyukWoo Park
ac6b7106b9
Optimize string comparison with typeof operation
...
* insert AtomicString for typeof strings by parser
* refactoring equal operations
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-03-07 13:35:51 +09:00
HyukWoo Park
47530e7ebb
Optimize Object::getPrototypeFromConstructor for function case
...
* quickly get `prototype` property of function object
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-03-07 13:34:21 +09:00
Boram Bae
006c9e91a0
Use memset instead of loop
...
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2022-03-07 13:34:02 +09:00
Boram Bae
3d83a5fd47
Use original desc if this and receiver are same
...
* This way you can reduce the getOwnProperty calls.
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2022-03-03 18:16:30 +09:00
Seonghyun Kim
e245fe2871
Implement InlineCache in Object initialize
...
* Prevent too many recursive call with RopeString::charAt
* Add option to configure ObjectStructure
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-03 15:31:38 +09:00
Boram Bae
9beb788245
Update based on review
...
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2022-03-02 14:49:49 +09:00
Boram Bae
97ba88bc86
Use arrayLength for length property if possible
...
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2022-03-02 14:49:49 +09:00
Seonghyun Kim
4d69bed6c5
Improve performance little
...
* divide Value::toBoolean into 2 functions for better function call inlinling
* try to avoid call RopeString::flattenRopeString if possible
flatten RopeString for read one char is waste I think
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-03-02 14:48:18 +09:00
Seonghyun Kim
925543bc15
Turn on inline cache for array, arguments object
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-02-23 13:47:03 +09:00
Boram Bae
9367246301
Use a static string If a char belongs to ASCII
...
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2022-02-23 13:38:57 +09:00
HyukWoo Park
ea5c495733
Optimize enumeration of object without index property case
...
* directly insert property key when there is no index property name
* add hasOwnEnumeration function because some Objects(Array, Proxy...) possibly have index properties
but we cannot know this in advance with hasIndexPropertyName() function
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-02-22 20:02:15 +09:00
Gergo Csizi
38ec2cbefa
Fix crash in the debugger
...
If Escargot is compiled with debugger but run without the debug server
then the Escargot will crash. This patch will fix this problem.
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-02-22 10:06:56 +09:00
HyukWoo Park
375e2b7dc2
Update version of WASM engine
...
* enable exception in wabt engine because Escargot function invoked from wasm function could trigger an exception
* fix compile warning
* fix Thread to be reclaimed after each wasm function call
* extend wasm gc interval
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-02-22 10:06:37 +09:00
HyukWoo Park
f6eeb2c1fc
Fix source name to always have valid string value
...
* set empty string for no name case
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-02-08 18:54:32 +09:00
Zoltan Herczeg
92a8db40c8
Implement scope chain retrieval
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-02-08 18:53:38 +09:00
Gergo Csizi
bc02ddc1fa
clean up the debugger
...
Removed unnecessary semicolons and brackets.
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-01-28 10:25:24 +09:00
Gergo Csizi
64b0d56ccb
Migrate the debugger from python2 to python3
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-01-27 11:28:55 +09:00
Seonghyun Kim
8fc73a6e13
Update script module API
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-01-21 10:19:49 +09:00
Gergo Csizi
3a20bde083
Remove unused exception argument from debugger
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-01-19 21:12:34 +09:00
HyukWoo Park
ba540cd129
Remove redundant structures in stack tracing
...
* stack trace vector does not need to hold ExecutionState vector
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-01-18 15:28:21 +09:00
HyukWoo Park
913bcc7882
Rename StackTrace structures
...
* to clearly distinguish StackTraceData and StackTraceDataVector
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-01-18 15:28:21 +09:00
Gergo Csizi
4bbd9d6cc6
Add breakpoint at the end of script execution
...
With --wait-before-exit it can be turned on in the debugger-server or in the debugger-client.
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2022-01-18 15:27:35 +09:00
HyukWoo Park
bd35e41168
Add setName API of FunctionObject
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-01-13 13:24:09 +09:00
HyukWoo Park
ba1021cc14
Re-align property order of FunctionTemplete according to FunctionObject property order
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-01-13 13:24:09 +09:00
SeongHyun Kim
0af32fafde
Implement build for Windows UWP
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-01-12 13:44:04 +09:00
HyukWoo Park
f0b058ec5b
Fix ByteCodeBlock nullify in gc callback
...
* we need to reset ByteCodeBlock only for normal functions
* add assertion to check invalid operation
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-01-11 17:31:48 +09:00
Seonghyun Kim
067d3c4d86
Fix crash with using let, for and {break or continue} together
...
m_complexJumpContinueIgnoreCount, m_complexJumpBreakIgnoreCount are
should follow size of m_recursiveStatementStack
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2022-01-05 13:36:36 +09:00
Seonghyun Kim
b1b505ae42
disable gc while calling Object finalizer
2022-01-05 13:36:36 +09:00
Zoltan Herczeg
a80e5f285c
Implement eval in debugger
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2022-01-03 17:07:48 +09:00
HyukWoo Park
e2758f5a2c
Add createFunction API with source name parameter
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2022-01-03 11:28:48 +09:00
Seonghyun Kim
400507c0f3
Treat parsingEnabled flag in Debugger correctly
...
* turn on parserEnable flag in ScriptParser only
* Always store breakpointLocations in debugger(debugger can be turn on later)
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-12-29 15:58:08 +09:00
Seonghyun Kim
f44b380f16
Implement --accept-timeout option on DebuggerRemote
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-12-29 15:58:08 +09:00
Seonghyun Kim
de02b5453f
Add callee into StackTraceData
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-12-28 10:31:15 +09:00
Zoltan Herczeg
8ba5e690cb
Implement backtrace getting in the Debugger API
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-12-21 17:27:21 +09:00
Seonghyun Kim
ba1393c8e1
Add InlineStorage for FunctionEnvironmentRecordOnHeap
...
for runnung octane, we should make 1.05M copies of FunctionEnvironmentRecordOnHeap.
but almost copies(0.84M) of FunctionEnvironmentRecordOnHeap use under 5 heapStorage.
If we inline heapStorage, we can reduce count of GC_MALLOC.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-12-20 18:04:35 +09:00
HyukWoo Park
c7c7320f5a
Add reference counter in ReloadableString
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-12-16 13:32:46 +09:00
HyukWoo Park
5e8524bf8b
Add reference counter in CompressibleString
...
* remove stack searching for CompressibleString usage
* add reference counter and update it whenever each StringBufferAccessData is created and descturcted
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-12-16 13:32:46 +09:00
Zoltan Herczeg
8d584f10a0
Implement stop at breakpoint in C-API debugger
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-12-16 10:59:47 +09:00
Zoltan Herczeg
a481cd6dd8
Start creating a debugger API
...
- The debugger callbacks are implemented as class
- Using std::vector for storing data
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-12-10 16:46:22 +09:00
Seonghyun Kim
e99603ae66
Remove defines from EscargotPublic.h
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-12-10 12:46:07 +09:00
Seonghyun Kim
faf8db179c
Fix error in DebuggerTcp::isThereAnyEvent
...
if there is remained receive buffer data,
user should call receive function again
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-12-10 12:45:32 +09:00
HyukWoo Park
8c51b7c9a6
Fix bugs in debugger
...
* fix debugger to add breakpoint at the first line
* fix debugger not to insert any breakpoint when compiling dynamic code
* add some assertion code to detect undesirable cases
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-12-03 11:57:22 +09:00
Gergo Csizi
eb509d32bd
Fix delete operation in the debugger
...
The delete operation did not work with breakpoint index.
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2021-12-01 17:07:34 +09:00
Gergo Csizi
45675c8b0b
Add --command argument for the debugger
...
--command takes one string which contains commands to be executed at the start of the program.
The commands must be separated with semicolon.
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2021-12-01 16:50:16 +09:00
HyukWoo Park
f68ca49933
Implement SharedArrayBuffer.prototype.grow builtin method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-29 10:38:11 +09:00
Seonghyun Kim
3e6afe1c50
Improve debugger function
...
* Implement port option
* Set 'this' value correctly for eval in debugger
* Implement eval without stopping state
* Implement pumpDebuggerEvents function
* Remove useless variable m_thisExpressionIndex in class context information
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-11-26 15:11:49 +09:00
HyukWoo Park
01f988160a
Fix slow test run in actions
...
* exclude octane test for small configuration due to low performance
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-26 14:23:49 +09:00
Zoltan Herczeg
56157aaa74
Simplify the parsing API of the debugger.
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-11-26 14:00:03 +09:00
Gergo Csizi
ff2c8073b7
Fix crash in debugger
...
There was a crash in debugger when a not existing variable was printed or evaluated.
This patch will fix this issue.
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2021-11-25 14:27:09 +09:00
Zoltan Herczeg
d79eb6f9e1
Hide debugger enabled from public use.
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-11-23 16:51:06 +09:00
Zoltan Herczeg
e3b1a9f5e6
Introduce abstract base class for debugger
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-11-23 10:52:17 +09:00
HyukWoo Park
12c91f055c
Fix atomic operations
...
* simplify atomicOperation function
* merge all atomic operations into SharedArrayBufferObject's member function
* fix slice builtin method to correctly perform operation atomically
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-22 15:02:25 +09:00
Gergo Csizi
9f0574a8bd
Add p command for the debugger
...
Signed-off-by: Gergo Csizi gergocs@inf.u-szeged.hu
2021-11-22 10:14:30 +09:00
HyukWoo Park
ab15bd5574
Implement setIndexedPropertyHandler for ObjectTemplate
...
* rename data related to PropertyHandler
* refactoring ObjectWithPropertyHandler to handle NamedProperty and IndexedProperty both
* add cctest
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-17 17:22:35 +09:00
HyukWoo Park
fa052c8902
Refactoring ObjectTemplate's PropertyHandler
...
* update to common PropertyHandler data and strucuture to represent IndexedProperty and NamedProperty both
* check property name in each ObjectWithPropertyHandler method
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-17 17:22:35 +09:00
Zoltan Herczeg
67131c43cd
Fix execution resume after setting a breakpoint.
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-11-15 12:02:37 +09:00
HyukWoo Park
5784b5096d
Implement getter built-in methods of growable SharedArrayBuffer
...
* implement internal resizable sharedarray data
* update growable and maxByteLength getter builtin methods
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-11 15:20:43 +09:00
HyukWoo Park
de48b644dc
Update test262 testsuite version
...
* update test262 to the latest version (commit id: 1ad9bb)
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-11 15:20:43 +09:00
HyukWoo Park
ba8b499800
Trivial defect fix
...
* replace toPropertyKey with ObjectPropertyName constructor
* remove unused MetaNode in parsing
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-11 09:44:00 +09:00
Mate Dabis
7b400aa58f
Fix python version for escargot debugger
...
Signed-off-by: Mate Dabis <mdabis@inf.u-szeged.hu>
2021-11-10 14:53:11 +09:00
HyukWoo Park
c295ee69e1
Refactoring createFunctionSourceFromScriptSource
...
* use memcpy for string merging
* remove unused functions
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-10 14:52:54 +09:00
HyukWoo Park
239e0683f8
Enable created function's format check only for non-reloadable string in test mode
...
* format check requires double-parsing for the same source string
* format check is necessary to filter out a few format cases only
* in general mode, format check is limited to speed up the function creation process
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-10 14:52:54 +09:00
Mate Dabis
a5035c4ad8
Fix argument checking for b (break) command in python debugger
...
Signed-off-by: Mate Dabis <mdabis@inf.u-szeged.hu>
2021-11-10 14:52:11 +09:00
HyukWoo Park
f47def1f22
Replace TemplatePropertyName with existing ObjectStructurePropertyName
...
* usually property name is delivered as Value format
* replace `TemplatePropertyName` with `ObjectStructurePropertyName` to handle Value format nicely
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-10 14:51:47 +09:00
HyukWoo Park
30f3b3a348
Revise createFunctionSourceFromScriptSource
...
* add simple syntax checker method in parser to check parameters and body string
* fix it to check parameters and body string seperately
* add several TCs for this patch too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-11-01 17:03:58 +09:00
Seonghyun Kim
8986e222f4
Fix compile error on gcc version 5
...
gcc version 5 cannot decide how many bits are require for enum well
if there is enum has type. it generates warning but we don't need to set type into enum for gcc 5
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-29 12:38:57 +09:00
HyukWoo Park
4366a01196
Update customized logging
...
* enabled by ESCARGOT_USE_CUSTOM_LOGGING flag
* user can registers customized logging through Platform's inherited functions
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-29 12:30:46 +09:00
HyukWoo Park
78b1aa7d2e
Update lint checker to include cctest file
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-29 12:30:32 +09:00
HyukWoo Park
18449ff9a6
Implement resizable ArrayBuffer
...
* update some new features of resizable ArrayBuffer
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-29 12:30:32 +09:00
SeongHyun Kim
c1a5a53bb7
Mark enum as unsigned
...
we need to mark enum as unsigned.
because processing enum in msvc is little different
ex) enum Type { A, B }
struct Foo { Type type: 1; }
Foo f; f.type = 1;
if (f.type == Type::B) { puts("failed in msvc."); }
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-28 12:21:12 +09:00
SeongHyun Kim
110359e4db
Update source & build files for windows
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
Signed-off-by: SeongHyun Kim <sh8281.kim@samsung.com>
2021-10-25 18:48:10 +09:00
Seonghyun Kim
eeb15679c5
we should reset firstCoverInitializedNameError when skipping arrow function in parser
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-25 13:55:02 +09:00
Mate Dabis
5530392636
Fix argument checking for object command in python debugger
...
JerryScript-DCO-1.0-Signed-off-by: Mate Dabis mdabis@inf.u-szeged.hu
2021-10-21 13:13:46 +09:00
HyukWoo Park
01d6ed1047
Fix Template to inherit parent's NativeDataAccessorProperties
...
* according to api, ObjectTemplate should inherit its parent's NativeDataAccessorProperties of InstanceTemplate too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-18 15:16:25 +09:00
Seonghyun Kim
848873c6c7
Implement special case for Function constructor with ReloadableString
...
* Add new api for Function::create
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-18 13:34:28 +09:00
Seonghyun Kim
765ccac4d7
Fix compile error in release mode with debugger
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-18 13:34:28 +09:00
HyukWoo Park
711d75f500
Fix minor defects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-14 18:37:06 +09:00
Seonghyun Kim
b6b0c9a1b6
We should notify what length means stringLength or bufferLength
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-14 18:30:52 +09:00
Seonghyun Kim
1091bcecd9
Cache of lastBreakpointInfo in ByteCodeGenerator is not always advancing
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-10-14 18:30:52 +09:00
Ryan Hyun Choi
e479b456a9
Fix SharedArrayBuffer's create()
...
* Enable threading in api-test
* Add a SharedArrayBuffer test
Signed-off-by: Ryan Choi <ryan.choi@samsung.com>
2021-10-14 16:43:10 +09:00
Zoltan Herczeg
c2ab3e1f3d
Implement backtrace recording for Promise.then calls
...
Furthermore rework detection of recorded backtrace.
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-10-12 12:32:49 +09:00
HyukWoo Park
9f156c6dc6
Fix minor gcc build errors
...
* for gcc version >= 9.3.0
* fix errors about -Werror=class-memaccess and -Werror=ignored-qualifiers
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-08 16:46:59 +09:00
HyukWoo Park
aef7ba0c98
Update GC event callback registration
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-10-07 08:39:04 +09:00
Zoltan Herczeg
1dff039743
Implement backtrace recording for the debugger
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-10-06 11:43:19 +09:00
Seonghyun Kim
a30b318b4a
Implement GenericIteratorObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-29 16:15:21 +09:00
HyukWoo Park
d369ca50b0
Fix clang build errors
...
* fix some tiny errors in wasm
* update wasm version to 1.0.24
* run tidy check in actions
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-29 14:35:44 +09:00
Seonghyun Kim
458d7a2e4c
Remove useless global variables in Intl
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-27 16:40:21 +09:00
Seonghyun Kim
5185932e6d
Implement Intl.ListFormat
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-27 16:40:21 +09:00
Seonghyun Kim
988492a339
Add toStringTag into Intl Object
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-27 16:40:21 +09:00
HyukWoo Park
659745ceed
Store function name value correctly to access it in inner function scope
...
* handle exceptional case of function name which is that function name needs to be allocated on the heap with other lexical variables
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-27 16:38:22 +09:00
HyukWoo Park
843f4af78e
Assign source name for dynamically created functions
...
* get source name through outer lexical scope
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-27 16:37:12 +09:00
HyukWoo Park
faa56e648d
Fix typo about gotException in ModuleExecutionResult
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-27 16:37:12 +09:00
HyukWoo Park
07c91a33e6
Add callback for Error creation
...
* registered callback is triggered for each Error constructor call
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-14 16:39:15 +09:00
HyukWoo Park
f864d828fb
Refactoring BackingStore structure
...
* divide BackingStore structure into NonShared and Shared
* update BackingStoreRef API to clarify its usage
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-14 15:54:17 +09:00
HyukWoo Park
1a258a0635
Add SharedArrayBufferObject create api
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-14 15:54:17 +09:00
Seonghyun Kim
d1658fd41b
Some platforms have restriction of typed-malloc maximum size.
...
for reducing size, I move ascii table and number table into native heap area.
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-13 10:22:27 +09:00
Seonghyun Kim
5b362cf5b9
Implement newly added function of Intl.Locale
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-13 10:22:27 +09:00
Seonghyun Kim
e8426a8a4f
Refactor: Remove duplicated code with macro
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-13 10:22:27 +09:00
Seonghyun Kim
acf49742d1
Fix Symbol of Intl.PluralRules
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-13 10:22:27 +09:00
Seonghyun Kim
7692878218
Add try-catch-finally condition variable into ExecutionState
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-09 15:17:12 +09:00
Seonghyun Kim
131e05f2ed
Implement Intl.DisplayNames.prototype.of function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-09 09:41:01 +09:00
Seonghyun Kim
155d9b6e95
Implement constructor and getResolvedOptions of Intl.DisplayNames
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-09 09:41:01 +09:00
Zoltan Herczeg
4ec34f2685
Initial debugger documentation
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-09-08 18:09:48 +09:00
Zoltan Herczeg
ed55d51384
Support default class constructors in the debugger
...
These functions have no source code and should be ignored by the debugger
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-09-03 17:05:32 +09:00
HyukWoo Park
81bae461df
Handle BigInt type in CreateListFromArrayLike method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-03 12:55:47 +09:00
HyukWoo Park
0ee0e3ae36
Fix to c++ style casting in ByteCode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-03 11:03:56 +09:00
HyukWoo Park
d925600bf2
Refactoring ByteCode dump
...
* byteCodeStart parameter is used only for Jump codes
* allocating global variable to represent this code start position instead
* remove all redundant parameter for each dump method
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-03 11:03:56 +09:00
HyukWoo Park
9e15a05497
Fix minor defects
...
* remove unused variable
* clarify math calculation in NumberObject
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-09-03 11:03:56 +09:00
Seonghyun Kim
d25c251c93
Implement basic of new IntlDateTimeFormat
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-01 16:37:54 +09:00
Seonghyun Kim
5f6b42c5bc
Update locale info
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-01 16:37:54 +09:00
Seonghyun Kim
11ab2b42f6
Update AsyncFromSyncIteratorPrototype functions because spec is updated
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-09-01 16:37:54 +09:00
HyukWoo Park
54fadc4ff8
Remove redundant defineOwnPropertyThrowsExceptionWhenStrictMode method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-30 10:00:12 +09:00
HyukWoo Park
d6eb9fec6f
Update Error cause
...
* https://tc39.es/proposal-error-cause
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-30 10:00:12 +09:00
HyukWoo Park
98ec4e5cab
Implement TypedArray.prototype.findLast and TypedArray.prototype.findLastIndex
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-25 11:19:36 +09:00
Zoltan Herczeg
ff4d4d593d
Add debugger test cases for class fields
...
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2021-08-24 15:26:23 +09:00
HyukWoo Park
b1aec3b7b9
Implement Object.hasOwn property
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-24 12:30:55 +09:00
Seonghyun Kim
a07fe9ed1e
Use Function's Context when throw exception
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-18 15:04:09 +09:00
Seonghyun Kim
8d63665e28
Implement Array.prototype.findLast, findLastIndex
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-18 15:04:09 +09:00
Seonghyun Kim
8a51147dc9
Update test262 test suite
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-18 15:04:09 +09:00
HyukWoo Park
90e70b4e91
Add omitted source info in ExecutionStateRef::computeStackTraceData
...
* add source name and source code info to Evaluator::StackTraceData
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-17 20:04:32 +09:00
Seonghyun Kim
19298e2216
Implement Atomics.wait, notify
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-17 20:03:39 +09:00
Seonghyun Kim
f85efad8da
Implement Atomics.isLockfree
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-17 20:03:39 +09:00
HyukWoo Park
a2d15f4e66
Add build target for x86_64
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-17 13:15:07 +09:00
HyukWoo Park
0d65ad5e3d
Implement lazy builtin initialization
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-12 13:43:23 +09:00
Seonghyun Kim
7b77fcd4cd
If object has native data accessor with actsLikeJS is true, the object should be non inline cacheable
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-11 15:28:35 +09:00
Seonghyun Kim
bd45251b5d
If there is a argument with default value, function length should not increase after the argument
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-06 13:18:50 +09:00
HyukWoo Park
a91417a38c
Reorganize builtin and Intl source files
...
* make builtins and intl directory
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-06 13:16:58 +09:00
HyukWoo Park
06e954de18
Fix build error and warning
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-08-05 13:29:02 +09:00
Seonghyun Kim
207b6b4fbd
Implement atomic operation in Atomics builtins
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-05 13:28:08 +09:00
Seonghyun Kim
dd97c866f4
Implement ArrayBuffer type for divide ArrayBufferObject and SharedArrayBufferObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-08-02 14:23:06 +09:00
HyukWoo Park
a39423acb7
Revise CMake build script
...
* remove target specific cmake files and merge it into one cmake file (target.cmake)
* refactoring some cmake commands
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-30 11:28:52 +09:00
HyukWoo Park
afa76c5f68
Fix build warnings of WebAssembly build
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-30 11:28:52 +09:00
HyukWoo Park
84451fd28e
Add setLength method to FunctionTemplate
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-29 13:37:54 +09:00
Seonghyun Kim
dbae3ae8fe
Implement Serialization of SharedArrayBufferObject & $262.agent.* functions for testing
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-29 13:36:15 +09:00
HyukWoo Park
13c774e49f
Add ThreadLocal structure
...
* ThreadLocal manage global values allocated for each thread
* Update PlatformRef to allow users to add thread-local custom data
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-27 16:40:08 +09:00
HyukWoo Park
98bc107937
Add Global object shared by all threads
...
* Platform is also managed in Global object
* Global has life time same to program
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-27 16:40:08 +09:00
Seonghyun Kim
52d51d976e
Implement serializing of Symbol and BigInt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-27 15:29:24 +09:00
Seonghyun Kim
dff3ddd475
Add new api test related with Serializing Symbol, BigInt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-27 15:29:24 +09:00
Seonghyun Kim
2d77fbd81f
Implement simple Value serialization
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-27 15:29:24 +09:00
Seonghyun Kim
878e911e7d
Implement value Serializer test
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-27 15:29:24 +09:00
Seonghyun Kim
5c3f60aa47
Add functions what return version info and configure info into Globals class
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-27 15:29:24 +09:00
HyukWoo Park
703c0edecc
Update PromiseHook for Promise API
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-21 15:17:06 +09:00
Seonghyun Kim
77a68579a5
Implement per thread isolating
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-15 17:47:41 +09:00
HyukWoo Park
ac2bb84b6f
Update PromiseHook
...
* PromiseHook is triggered for each Promise event
* PromiseHook is registered and used by third party app
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-15 10:54:18 +09:00
Seonghyun Kim
f43d845975
Implement BackingStore::reallocate
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-08 16:38:00 +09:00
HyukWoo Park
f2fd751c1e
Fix EncodedSmallValue encoding
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-08 15:31:21 +09:00
Seonghyun Kim
76fa95cad6
Implement AssignmentTargetType spec
...
https://tc39.es/ecma262/#sec-static-semantics-assignmenttargettype
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-07 10:02:16 +09:00
Seonghyun Kim
133f76ade6
We should throw SyntaxError when there is escaped reserved keyword in strict mode
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-07 10:02:16 +09:00
HyukWoo Park
4709a66250
Update Atomics compareExchange and exchange method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-06 12:34:54 +09:00
HyukWoo Park
8797883d56
Update SharedArrayBuffer.prototype.slice
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-06 12:34:54 +09:00
HyukWoo Park
5e93b90059
Revise TypedArray constructor
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-06 12:34:54 +09:00
HyukWoo Park
6cd9886200
Remove redundant string comparison in cmake build
...
* cmake variable initialized with `ON` can be directly used in conditional statement
* fix a minor code defect in ArrayObject too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-06 11:15:47 +09:00
HyukWoo Park
0b0ddee8e1
Refactoring index property handling
...
* when trying to use index property, we use only 32bit for index value (uint32_t)
* rename ArrayIndex as to Index32 and IndexProperty
* add cctest to verify the new api
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-05 13:20:38 +09:00
Seonghyun Kim
12855be3f6
Implement accessing class private members in eval
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-05 13:08:59 +09:00
HyukWoo Park
43577f33e3
Fix a bug in array index conversion
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-02 12:54:09 +09:00
Seonghyun Kim
8c3cd2f3b1
Implement chain of ClassPrivateMemberData
...
* Each chain piece represents one of class
* User can uses private member with same name parent with child class
* We should check nearest [[homeObject]] of function to find where function is located
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-01 16:36:39 +09:00
Seonghyun Kim
9c437bd8d7
Update rules related with constructor and prototype in class parsing
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-01 16:36:39 +09:00
Seonghyun Kim
1fbaf749bf
Implement ObjectPrivateMemberStructre for reducing memory usage
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-01 16:36:39 +09:00
Seonghyun Kim
4aeee459b3
Implement private class members initialize order
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-01 16:36:39 +09:00
Seonghyun Kim
050812963e
Implement one of nesting class private rule
...
- We need to check object value is homeobject if there is same private name on parent class
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-07-01 16:36:39 +09:00
HyukWoo Park
ef4387828c
Refactor SharedArrayBuffer and Atomics
...
* update Atomics builtin operations
* fix hierarchy between SharedArrayBuffer and ArrayBuffer
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-07-01 09:19:56 +09:00
HyukWoo Park
70ecdf0214
Fix minor code defects
...
* fix to static functions
* fix to const functions
* remove unused variables
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-30 13:55:52 +09:00
HyukWoo Park
dd9e38f2bd
Unify getter/setter methods for 32bit and 64bit platforms
...
* run additional test262 for 32bit-release environment
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-29 17:16:17 +09:00
HyukWoo Park
9de4409e4f
Update basic Atomics operations (threading)
...
* add Atomics builtin object and its basic operations
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-29 17:16:05 +09:00
HyukWoo Park
a3aedf3fc5
Update CI for small build configuration
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-29 17:16:05 +09:00
Seonghyun Kim
5a9b538077
class expression private name tests should refer parent class's private names
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-06-28 12:58:10 +09:00
Seonghyun Kim
1c5f4ab506
Implement private field optional chaining
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-06-28 12:58:10 +09:00
HyukWoo Park
c5d10c08da
Update CodeCache for private class field
...
* add CodeCache routine for ComplexSetObjectOperation and ComplexGetObjectOperation
* fix to use c++ style cast
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-28 10:38:37 +09:00
Seonghyun Kim
e341516cae
Implement isModuleNamespaceObject
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-06-23 15:58:46 +09:00
Seonghyun Kim
4de5ea05bf
Implement basic of class private static method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-06-23 15:55:18 +09:00
Seonghyun Kim
e7f21e36e4
Implement basic of private static field
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-06-23 15:55:18 +09:00
HyukWoo Park
a30be877b3
Update CI for threading test
...
* move x86 test to github actions
* Jenkins evaluates threading features on test262 TC
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-17 11:09:33 +09:00
HyukWoo Park
324baba180
Update basic SharedArrayBuffer features (threading)
...
* add SharedArrayBuffer object
* update BackingStore to represent shared data block
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-17 11:09:33 +09:00
Seonghyun Kim
25679c9980
Fix negative ValueRef integer bug with ESCARGOT_USE_32BIT_IN_64BIT flag
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-06-17 11:03:40 +09:00
Hosung Kim
5a67c9d66a
Add toInteger to public api
...
Signed-off-by: Hosung Kim hs852.kim@samsung.com
2021-06-09 15:45:46 +09:00
Seonghyun Kim
7b0a24f1a7
Implement basic of class private field and method
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-06-08 13:00:26 +09:00
HyukWoo Park
dfdb1203d6
Fix a bug when a native function instantiated from FunctionTemplate is called as super
...
* create a new object of which proto is set based on newTarget
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-07 14:53:15 +09:00
HyukWoo Park
616f32bb79
Remove ESCARGOT_OBJECT_SUBCLASS_MUST_REDEFINE macro
...
* override keyword specified instead
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-03 10:52:31 +09:00
HyukWoo Park
006b189d5f
Update ObjectRef::enumerateObjectOwnProperties api
...
* add tryToUseAsArrayIndex api for enumeration
* fix UInt-naming
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-03 10:52:31 +09:00
HyukWoo Park
75d5a1dfb7
Add conversion from ObjectGetResult to ObjectPropertyDescriptor
...
* update ObjectGetResult::convertToPropertyDescriptor
* directly convert ObjectGetResult to ObjectPropertyDescriptor instead of creating a new Object for descriptor
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-06-02 10:33:16 +09:00
HyukWoo Park
bf7a0978bf
Collect WASM heap after wasm_func_call
...
* wabt allocates a Thread object for each wasm func call but it's never reclaimed
* invoke collectHeap right after each wasm_func_call
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-28 11:08:26 +09:00
Ryan Hyun Choi
b0cace6695
Add RegExpObjectRef::match() in public API
...
Signed-off-by: Ryan Choi <ryan.choi@samsung.com>
2021-05-27 17:08:24 +09:00
Ryan Hyun Choi
c6562e7940
Add RegExpObjectRef::create() in public API
...
* Make create() to accept options in enum
Signed-off-by: Ryan Choi <ryan.choi@samsung.com>
2021-05-27 14:52:12 +09:00
HyukWoo Park
a16fcc9412
Update es-actions to test various build options within x64 environment
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-26 09:36:47 +09:00
Seonghyun Kim
712118801d
Add ArrayBufferObject malloc, free handler into Platform
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-24 10:11:08 +09:00
HyukWoo Park
4423397fca
Drop the package update command in es-actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-18 17:30:39 +09:00
HyukWoo Park
b605adbb1f
Refactor GC allocation with bitmap info
...
* replace each Object's member marking with Object::fillGCDescriptor
* BigInt allocation is fixed to be handled by simple GC_MALLOC_ATOMIC call
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-18 15:34:07 +09:00
Seonghyun Kim
ae6c6189c0
Refactor useless checking punctuator logic in parser
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-18 15:32:05 +09:00
HyukWoo Park
b504600e41
Add collecting heap process for WASM
...
* periodically check and collect WASM heap using GC event
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-17 15:28:03 +09:00
Seonghyun Kim
a190dae51a
Implement basic parsing of class private field
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-17 14:32:54 +09:00
HyukWoo Park
28fad70183
Rebalance CI workload
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-14 09:43:47 +09:00
Hosung Kim
122e93ed4b
Enable symbol visibility of ObjectPropertyDescriptorRef
...
Signed-off-by: Hosung Kim hs852.kim@samsung.com
2021-05-13 14:26:33 +09:00
HyukWoo Park
d3acce83a3
Add optional parameter to represent possible ASCII case for string api
...
* for non-ASCII case, ASCII string checking is skipped
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-12 20:14:36 +09:00
Hosung Kim
c05f35930f
Fix ObjectPropertyDescriptor
...
Signed-off-by: Hosung Kim hs852.kim@samsung.com
2021-05-12 16:35:45 +09:00
Seonghyun Kim
8444ae515f
Add receiver parameter to NamedPropertyHandlers
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-11 11:51:17 +09:00
Seonghyun Kim
8e71c6e208
Pass receiver to Object::get, Object::{get, set}IndexedProperty operation
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-11 11:51:17 +09:00
HyukWoo Park
dc84b4af2c
Use argument name GC for new operator overloading
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-10 10:53:49 +09:00
HyukWoo Park
ea23b52754
Enable new operator for ObjectPropertyDescriptorRef
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-10 10:53:49 +09:00
Seonghyun Kim
ebeef8b62a
Implement ObjectTemplate::installTo function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-06 15:47:07 +09:00
Seonghyun Kim
480d567c1e
Add a test for new public API ObjectTemplateRef::installTo
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-06 15:47:07 +09:00
HyukWoo Park
e3187e52ae
Handle tagged template literal in CodeCache
...
* add relocation case for freeze function address
* remove empty strings from ByteCode and ByteCodeBlock literal list
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-05-06 10:12:42 +09:00
Seonghyun Kim
5192d33431
Object Data Accessor property can be act like JavaScript getter setter
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-03 19:02:49 +09:00
Seonghyun Kim
f6760e1974
Add new NativeDataAccessor property test
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-05-03 19:02:49 +09:00
HyukWoo Park
56035a1c18
Fix WASMMemoryObject buffer getter to reflect data block update
...
* data block of memory can be changed by previous memory.grow operation, but it cannot be reflected to its correlated WASMMemoryObject
* So, buffer getter first checks any change on its related memory and reflects it if there was modifications on it
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-28 13:43:00 +09:00
Seonghyun Kim
cce7902efb
Update test262 driver for testing hashbang test & exclude file
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-26 11:53:13 +09:00
Seonghyun Kim
11c3bcc964
Implement hashbang grammar
...
https://github.com/tc39/proposal-hashbang
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-26 11:53:13 +09:00
Seonghyun Kim
74903e85ed
Implement BackingStore
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-21 16:27:46 +09:00
Seonghyun Kim
a30990e351
Add BackingStore test first
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-21 16:27:46 +09:00
seonghyun kim
032145b2d4
Add ucnv_fromUnicode function on RuntimeICUBinder
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-20 09:09:41 +09:00
Seonghyun Kim
0711d88306
Revise script parser
...
* Enable for await statement for Global Module code
* Disable html comment when parsing module code
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-16 09:58:15 +09:00
Seonghyun Kim
025607bddc
Implement Dynamic Import resolution, rejection
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-15 10:58:10 +09:00
Seonghyun Kim
1a51cff06d
Implement module import rejection
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-15 10:58:10 +09:00
Seonghyun Kim
4cd0da1e07
Implement await dynamic import resolution
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-15 10:58:10 +09:00
HyukWoo Park
c4073deee7
Fix self-reference in class static field initialization
...
* handle class constructor as a virtual parameter which is passed for static field initialization function
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-13 15:32:36 +09:00
Seonghyun Kim
5213b1fe11
Implement executeAsyncModule spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-12 10:17:09 +09:00
Seonghyun Kim
75c0c4bff2
Update Script Module data for following new spec & remove useless member variable
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-12 10:17:09 +09:00
HyukWoo Park
a847cf50ee
Update spec document file
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-12 09:57:47 +09:00
HyukWoo Park
c605227f35
Fix internal compile error about designated initializers
...
* old-version gcc cannot handle this feature
* designated initializer is a C99 feature which is not adopted into C++
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-09 09:19:08 +09:00
HyukWoo Park
27ed2989e1
Handle cases when binding object of with statement has @@unscopables property
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-07 19:26:47 +09:00
HyukWoo Park
8a1100c18e
Update syntax error check for let array expression
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-07 19:26:47 +09:00
HyukWoo Park
25b2779454
Add SetIntegrityLevel operation api
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-07 19:16:44 +09:00
HyukWoo Park
f540c36edb
Add syntax error about declarations for if statement
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-07 12:06:39 +09:00
HyukWoo Park
b2b9fb6afd
Fix labelled typo
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-07 12:06:39 +09:00
seonghyun kim
e601d60247
Optimize decodeURIComponent, escape, encode
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-04-06 09:47:42 +09:00
HyukWoo Park
6610ae4825
Throw SyntaxError when function or class declaration is not located correctly
...
* throw error if function or class declaration is not located at the top level or inside a block
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-05 12:47:00 +09:00
HyukWoo Park
71bf5f6c89
Fix a bug in FinalizationRegistry.prototype.cleanupSome
...
* add check if callback is present and not undefined
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-04-05 12:47:00 +09:00
Seonghyun Kim
11ff71be71
Implement TemplateNamedPropertyHandlerGetPropertyDescriptorCallback on ObjectTemplate
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-30 09:03:42 +09:00
Seonghyun Kim
ec3fd74882
Update public API
...
* Add const for ObjectPropertyDescriptorRef member functions
* Add FunctionTemplateRef::setName
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-30 09:03:42 +09:00
HyukWoo Park
5517dbf80a
Remove unused variables and functions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-29 09:30:06 +09:00
Seonghyun Kim
0dc287a81a
We can use only one LargeStringBuilder for JSON.stringify
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-25 16:48:50 +09:00
seonghyun kim
dc7b3b684a
Optimize JSON functions
...
* Add fast path for PromiseObject::newPromiseCapability
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-25 16:48:50 +09:00
HyukWoo Park
07d30825a0
Update BigInt exception handler
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-25 10:05:45 +09:00
HyukWoo Park
4b864fb05b
Fix CodeCache error
...
* handle InitializeClass bytecode caching correctly
* caching CodeBlock based on index
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-25 10:05:10 +09:00
Seonghyun Kim
495437c814
Avoid use of c++ exception when implementing ExeuctuionPauser
...
* Optimize StringBuilder
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-24 10:30:35 +09:00
HyukWoo Park
5b164c2247
Rollback CMake minimum version to 2.8
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-23 16:10:11 +09:00
HyukWoo Park
128dd635fa
Fix a defect in String replaceAll method
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-23 16:10:11 +09:00
HyukWoo Park
7fc1ffe023
Handle BigInt value in CodeCache
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-18 11:00:08 +09:00
HyukWoo Park
8f4b125b22
Revise Jump bytecode and JumpFlowRecord for CodeCache
...
* remove JumpByteCode and add JumpFlowRecord which has no pointer value
* simplify JumpFlowRecord data caching
* fix coverity issue
* add log message for code cache
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-18 10:24:44 +09:00
HyukWoo Park
fabdc578d9
Fix to get the code cache directory through api function
...
* fix coverity issue too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-16 11:48:02 +09:00
HyukWoo Park
b3f9c43c17
Update wabt module
...
* update wabt release version to 1.0.21
* add wasm-gc interface
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-15 15:25:04 +09:00
HyukWoo Park
e9afc5c595
Update VMInstance global variables
...
* manage global variables as VMInstance static members
* access global variables through VMInstance static functions
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-15 15:24:50 +09:00
HyukWoo Park
16639b9256
Change the name of StorePositiveIntergerAsOdd
...
* fix typo and change the name more clearly
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-11 15:19:52 +09:00
HyukWoo Park
6469a82116
Fix YarrPattern to correctly reference GC memory
...
* String values in m_namedGroupToParenIndex are referenced by m_captureGroupNames (GC vector)
* m_namedForwardReferences only needs to be allocated as GC vector
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-11 15:19:52 +09:00
HyukWoo Park
2b775dc2f5
Revise BigInt not to hold VMInstance pointer
...
* bf_context_t is now defined as a global variable and maintained during the runtime
* VMInstance::finalize is invoked at the end of program to guarantee the life time of bf_context_t
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-10 12:29:55 +09:00
HyukWoo Park
27e6876263
Refactoring API using macro
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-10 12:29:27 +09:00
Bence Gabor Kis
01541b923f
Update TypeArray Detachbuffer
...
related test262 test-cases has been removed from the skip list
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-03-08 16:13:44 +09:00
HyukWoo Park
e47add9264
Remove ambiguous NULLABLE macro
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-04 15:53:45 +09:00
HyukWoo Park
2e65174096
Add DataViewObject api
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-03-04 15:53:45 +09:00
Bence Gabor Kis
15694a017c
Update promise to the latest standard
...
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-03-04 14:45:44 +09:00
Seonghyun Kim
64e24255cb
Fix memory bugs
...
* Init YarrPattern::m_body variable
* Remove Objects finalizer in finalizer of WeakMap,Set
* Use correct finalizer for Intl Objects
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-04 09:35:30 +09:00
Seonghyun Kim
eb3d7667a9
Fix YarrPattern memory bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-02 13:48:38 +09:00
Seonghyun Kim
b387087dab
test module condition in ExecutionState::inPauserScope
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-02 12:40:44 +09:00
Seonghyun Kim
40ebd4f837
await identifier is illegal expression on async function parameter
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-03-02 12:40:44 +09:00
bence gabor kis
160cb37300
Update name and length property order
...
also fixed few test262 test-case
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-02-22 12:17:24 +09:00
HyukWoo Park
42e598f57c
Clean up legacy features in RegExp
...
* refactoring code related to legacy features
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-22 10:36:32 +09:00
Seonghyun Kim
2c4174f93b
Add ArrayObjectRef::attachExternalBuffer API
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-22 10:36:09 +09:00
Seonghyun Kim
161f516c54
Implement basic things of top level await
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-18 14:52:23 +09:00
HyukWoo Park
30af8444ad
Fix gc conflict of object kinds in debug mode
...
* clean up custom allocator too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-17 12:04:13 +09:00
HyukWoo Park
511d19d266
Fix test262 driver to correctly count the total test number
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-17 11:54:22 +09:00
HyukWoo Park
4d307d221f
Add missing api
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-17 10:17:56 +09:00
Bence Gabor Kis
560f1f233d
Implement Legacy RegExp features
...
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-02-16 11:59:09 +09:00
HyukWoo Park
90522697eb
Refactoring Job
...
* all types of job now handled in the task queue
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-16 09:34:31 +09:00
Seonghyun Kim
01e61f1242
Revise WeakMap and WeakSet
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-11 21:25:23 +09:00
Seonghyun Kim
a25f790cd3
Make public EvaluatorResult copyable
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-09 17:47:27 +09:00
Seonghyun Kim
a2d2bf01b8
Implement FinalizationRegistry.prototype.cleanupSome
...
* FinalizationRegistry should have weak reference of Object
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-09 17:47:27 +09:00
HyukWoo Park
cbc4723a26
Update test262 TC
...
* test262 main branch (commit id: fd27d1f5d00dcccc5f763252fc11b575ee0bdd2f)
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-08 18:40:51 +09:00
HyukWoo Park
c115ba53bf
Add WebAssembly api
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-08 16:15:05 +09:00
HyukWoo Park
cbf1bfaaa1
Add finalizer correctly for WASM objects
...
* use addFinalizer register to deal with WeakRef
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-08 16:15:05 +09:00
HyukWoo Park
fef432bc71
Fix build and test errors on Ubuntu 20.04
...
* fix github actions to use python2
* fix clang 10.0.0 build error related to '-Wdeprecated-copy'
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-05 10:15:38 +09:00
HyukWoo Park
38abe179bd
Update required cmake version to 3.0.0
...
* cmake < 2.8.12 will be deprecated in the future
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-05 10:15:38 +09:00
Seonghyun Kim
390261326e
Store m_target of WeakRefObject as weak reference
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-03 12:18:02 +09:00
HyukWoo Park
7159768d6b
Fix rapidjson file format as to unix format
...
* rapidjson files have been dos format so far
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-03 10:36:20 +09:00
Bence Gabor Kis
7b7055acdd
Implement String , TypeArray and Array.prototype.at
...
https://tc39.es/proposal-relative-indexing-method/#sec-array-prototype-additions
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-02-02 15:21:17 +09:00
Seonghyun Kim
b791bd9850
Disallow using arguments variable in class field when using eval function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-02 10:21:45 +09:00
Seonghyun Kim
109d199302
Reimplement static field initializer
...
* wrap initializer expr into virtual arrow function like instance field
* users can access super property in eval
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-02-02 10:21:45 +09:00
HyukWoo Park
28fad835a2
Fix build errors in github actions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-02-01 11:29:19 +09:00
Seonghyun Kim
d088f0416e
class should define name before define prototype
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-28 14:37:35 +09:00
Seonghyun Kim
cdf986151b
class should define its name first
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-28 14:37:35 +09:00
Seonghyun Kim
446afea853
Fix svace errors
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-28 14:37:35 +09:00
Seonghyun Kim
7047a7e0f7
class should evalutate field names first
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-28 14:37:35 +09:00
Bence Gabor Kis
92d8cedd45
Update Regexp prototype @@replace to newest standart
...
related test-cases has been removed from test262 skip list
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-01-27 11:35:33 +09:00
HyukWoo Park
71f595d086
Log error message from wasm trap
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-27 11:03:52 +09:00
HyukWoo Park
aa317fdedf
Fix WASMMemoryObject to attach a predefined address value for empty block
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-27 11:03:52 +09:00
bence gabor kis
572a7eb3a2
Implement FinalizationRegistry object
...
https://tc39.es/proposal-weakrefs/#sec-weak-ref-objects
removed most of the related test-cases in test262 skiplist
The few remaning test-cases are base on FinalizationRegistry.prototype.cleanupSome, which i didn't find any documentation on.
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-01-26 12:02:22 +09:00
Seonghyun Kim
6a44d5c7e6
Reset m_proto of ScriptVirtualArrowFunctionObject correctly
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-26 10:14:22 +09:00
Seonghyun Kim
5f75330bab
Check computed name correctly in class static field
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-26 10:14:22 +09:00
Seonghyun Kim
2dee70d5ff
Implement super expression for class field
...
* Add toPropertyKey call for property key name
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-26 10:14:22 +09:00
Bela Toth
ee5d4d5006
Add Unicode pattern table generator
...
The script uses WebKit algorithm to generate new tables
directly from the UCD files.
Signed-off-by: Bela Toth tbela@inf.u-szeged.hu
2021-01-25 16:23:07 +09:00
HyukWoo Park
b6499d8564
Fix memory leak in WASM
...
* add wasm_extern_vec_delete_with_size api to handle exception cases during the imports reading
* wasm_extern_vec_t is now correctly deallocated
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-22 11:46:09 +09:00
Seonghyun Kim
dac08ab369
Implement runtime things of class field
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-21 18:22:20 +09:00
Seonghyun Kim
20f3478f3d
Implement parsing class field and add field init function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-21 18:22:20 +09:00
HyukWoo Park
ff70851d7a
Update WebAssembly.instantiate
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-20 15:04:17 +09:00
HyukWoo Park
c5f310ee8c
Update ExportedFunction name property
...
* get a function index from instance object which needs to be revised later
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-19 15:15:01 +09:00
Bela Toth
b2e862a4f7
Upgrade ICU tables to enable RegExp property escape tests
...
Removed passing tests from exclude list
Signed-off-by: Bela Toth tbela@inf.u-szeged.hu
2021-01-18 15:01:25 +09:00
bence gabor kis
ccd0ec704c
Implement WeakRef Object
...
related test262 test-cases has been removed from the skip list
Except two test since it needs FinalizationRegistry feature
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-01-18 14:53:54 +09:00
HyukWoo Park
6f3d58c75d
Update wabt module
...
* fetch the lastest commit which includes importtypes patch
* add wasm_instance_func_index api for function name
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-15 11:40:23 +09:00
Seonghyun Kim
5016b7af3b
Implement fast-path of super expression in static field initializer
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-15 11:39:57 +09:00
HyukWoo Park
3e68f2544b
Fix coverity issues in WebAssembly
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-13 17:07:32 +09:00
HyukWoo Park
e93df95534
Add partial-passing memory TC
...
* shared buffer is not yet supported
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-13 17:07:32 +09:00
Seonghyun Kim
f0c64aa74a
Implement super keyword in class static field init
...
* Implement Open, Close env Bytecode for this
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-13 17:06:44 +09:00
HyukWoo Park
06270219e1
Fix WebAssembly object caching based on wasm_ref_t comparison
...
* each extern pointer(wasm_ref_t*) should be compared by wasm_ref_same
* Vector structure is used instead of HashMap since we cannot calculate hashvalue of wasm_ref_t
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-12 11:46:00 +09:00
Hosung Kim
c7518b5b31
Disable asan watchdog in unloadWorker function
...
Signed-off-by: Hosung Kim hs852.kim@samsung.com
2021-01-12 11:32:04 +09:00
bence gabor kis
70fae23a9f
Implement String.prototype.replaceAll builtin method
...
related test262 test-cases has been removed from the skip list
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2021-01-12 10:57:20 +09:00
Seonghyun Kim
19823a483b
Add this support for eval in class static field init
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-05 15:17:14 +09:00
Seonghyun Kim
58af1ce82c
Implement class static field this value of arrow function in field init
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-05 15:17:14 +09:00
Seonghyun Kim
658834dbe5
Implement basic this keyword operation of static class field
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-05 15:17:14 +09:00
Seonghyun Kim
4f122f2900
Implement basic operation of static class field
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2021-01-05 15:17:14 +09:00
HyukWoo Park
8453433fea
Update getting proto handler for each WebAssembly constructor
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-05 14:42:42 +09:00
HyukWoo Park
53941e1b3a
Fix coverity check
...
* fix conflict with 'typeof' keyword
* include WASM module to coverity scan analysis
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-04 18:40:54 +09:00
HyukWoo Park
e4eca708d4
Append missing constructor property for each WebAssembly constructor's prototype
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-04 11:04:16 +09:00
HyukWoo Park
ec205b4b1d
Fix error handling in WebAssembly.Instance constructor
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-04 11:04:16 +09:00
HyukWoo Park
912edcf19a
Fix the name of getter/setter methods in WebAssembly objects
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2021-01-04 11:04:16 +09:00
HyukWoo Park
0ad8bf8e0e
Refactoring StaticStrings
...
* sort string elements in the order
* remove needless keyword strings
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-29 14:42:43 +09:00
HyukWoo Park
a4a6f07dfb
Implement WebAssembly.Instance
...
* add constructor and exports getter of Instance object
* update operations about imports and exports
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-29 14:42:31 +09:00
HyukWoo Park
e669f69b49
Add WASMInstanceObject
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-29 14:42:31 +09:00
HyukWoo Park
6061165890
Fix the internal order of Object.prototype.toString operation
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-28 11:42:16 +09:00
HyukWoo Park
b4e9e30e85
Fix ObjectDefineProperties operation according to the standard
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-28 11:42:16 +09:00
HyukWoo Park
2fec6e964d
Fix redundant check code in ClassDeclarationNode
...
* fix svace issue
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-24 13:23:37 +09:00
HyukWoo Park
b30518c41f
Update TestIntegrityLevel operation
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-23 11:39:06 +09:00
HyukWoo Park
a8e7b7d47d
Update SetIntegrityLevel operation
...
* update freeze and seal builtin methods of Object too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-23 11:39:06 +09:00
Seonghyun Kim
39e14bb0b6
Add correct toStringTag to Intl.Collator
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-22 14:21:40 +09:00
HyukWoo Park
0265112e48
Enable WebAssembly.Module imports builtin method with temporal wabt patch update
...
* imports related features will be updated officially soon
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-21 13:55:45 +09:00
Seonghyun Kim
44909c6b22
Merge duplicate code as macro
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-21 12:13:03 +09:00
Seonghyun Kim
028566a1e7
Implement Logical OR assignmenet
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-21 12:13:03 +09:00
Seonghyun Kim
23a9a5d76d
Implement logical AND assignment
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-21 12:13:03 +09:00
Seonghyun Kim
3a6e3f0499
Implement Logical Nullish assignment
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-21 12:13:03 +09:00
HyukWoo Park
29c70f7532
Update clang-format version to 6.0
...
* coding convention fixed following the new clang-format
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-18 11:13:15 +09:00
HyukWoo Park
d3e74e6fc9
Revise WebAssembly.Table
...
* remove ValueVector member in WASMTableObject
* update Table builtin methods based on the latest spec
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-18 10:25:16 +09:00
HyukWoo Park
44f546cad6
Implement WebAssembly ExportedFunction
...
* add ExportedFunction and WASM host function
* update WASMHostFunctionEnvironment for host function call
* refactoring inlined WASM operations
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-17 16:37:13 +09:00
Seonghyun Kim
402adf5e3f
Update proxyCreate function in order to implementing new ECMAScript spec
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-17 14:01:25 +09:00
Seonghyun Kim
23566f3ae2
Fix length of valueThunk, thrower in PromiseThenFinally, promiseCatchFinally
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-17 14:01:25 +09:00
Seonghyun Kim
d1f9cae5af
Implement Promise.any and AggregateError
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-16 11:15:34 +09:00
Seonghyun Kim
b562c4caf3
Implement BigInt support on debugger
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-15 12:18:08 +09:00
Seonghyun Kim
af81264273
Merge duplicated code as function & remove unused function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-14 17:18:34 +09:00
Seonghyun Kim
5c6498ea1e
Implement numberic separator for binary, octal, hex digits
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-14 17:18:34 +09:00
HyukWoo Park
968fef6e24
Update WebAssembly.Module builtin functions
...
* add exports function
* update imports function but disabled now because wabt do not support import* apis
* update customSections skeleton code too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-14 10:21:40 +09:00
HyukWoo Park
a6c08edbc7
Refactoring WebAssembly operations
...
* add a new header file for wasm operations
* rename each operation with 'wasm' prefix
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-14 10:21:40 +09:00
Seonghyun Kim
7bb16e58a2
Implement numeric separator for decimal number
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-12-11 10:15:38 +09:00
HyukWoo Park
de94567b8e
Implement WebAssembly.Global
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-10 11:56:25 +09:00
HyukWoo Park
fd44d83172
Refactoring value getter for builtin WebAssembly functions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-09 17:39:03 +09:00
HyukWoo Park
3847058dfa
Implement WebAssembly.Table
...
* add WASMTableObject
* update grow, get, set builtin methods and length getter property
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-09 17:39:03 +09:00
HyukWoo Park
9b90bd8515
Check the first argument of WebAssembly.Memory builtin functions correctly
...
* handle valueOf property method too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-08 10:37:15 +09:00
HyukWoo Park
8429b3a523
Implement WebAssembly.Memory
...
* add WASMMemoryObject
* add grow and buffer properties of Memory prototype
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-07 10:54:35 +09:00
HyukWoo Park
24ccec9e29
Implement ArrayBuffer based on external memory
...
* to support WebAssembly.Memory
* ArrayBufferObject with external memory does not handle any memory operations like malloc/free
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-07 10:54:35 +09:00
HyukWoo Park
de9ad39c74
Update WebAssembly static strings
...
* pass more TCs about Module
* fix wasm-js test script to include several script files at once
* update wasm-js TC
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-04 10:13:54 +09:00
HyukWoo Park
c8b3ce6bc2
Update minor things about WebAssembly
...
* replace some common builtin WASM operations with static functions
* implement a part of WebAssembly.compile method
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-04 10:13:54 +09:00
HyukWoo Park
4c5beae4c5
Minor update to Error implementation
...
* merge error messages related with constructor methods
* add throwBuiltinError method for simple messages
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-04 10:09:14 +09:00
HyukWoo Park
3fd16b168b
Update stable copy of buffer bytes in WebAssembly compile
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-01 11:32:06 +09:00
HyukWoo Park
2c622ac377
Implement WebAssembly.compile
...
* relevant Module object and its constructor are added too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-01 11:32:06 +09:00
HyukWoo Park
1b0c8e74bf
Update WebAssembly.Error
...
* remove redundant GlobalObject's members related to WebAssembly.Error constructor
* fix throwBuiltinError method to throw WebAssembly.Error correctly
* make a new directory for wasm
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-12-01 11:32:06 +09:00
HyukWoo Park
8adc7eaf23
Fix WASM build flags
...
* to reduce the overall libwasm binary size
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-27 10:03:22 +09:00
HyukWoo Park
dd4e8440f3
Implement WebAssembly Error
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-27 10:03:22 +09:00
Seonghyun Kim
95988cbb3e
Implement BigInt.prototype.toLocaleString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-25 20:10:26 +09:00
HyukWoo Park
e998d04bf6
Implement WebAssembly.validate
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-23 14:05:36 +09:00
Seonghyun Kim
4d1ba18a04
Update public API for BigInt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-23 13:53:29 +09:00
Seonghyun Kim
6320def0ab
Update builtin functions & operations for BigInt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-23 13:53:29 +09:00
Seonghyun Kim
7a7ab0edbf
Implement basic of BigInt64Array and BigUint64Array
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-23 13:53:29 +09:00
Seonghyun Kim
cf26d821de
Implement DataView.prototype.{get,set}{BigInt64,BigUint64}
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-23 13:53:29 +09:00
Seonghyun Kim
5fae029277
Remove unused variable & Fix memory leak from VMInstance::m_cachedUTC
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-23 13:53:29 +09:00
HyukWoo Park
40b927adba
Update wasm-js testsuite
...
* https://github.com/WebAssembly/spec/tree/master/test/js-api
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-19 21:33:47 +09:00
HyukWoo Park
9d2bde5baa
Include wasm-c-api
...
* https://github.com/WebAssembly/wasm-c-api
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-18 10:32:47 +09:00
Seonghyun Kim
033fb60f2a
Use external storage instead of ByteCodeCodeData for generator, async function
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-17 14:31:17 +09:00
HyukWoo Park
0950b63ebb
Add WASM spec test
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-13 15:13:54 +09:00
HyukWoo Park
74bf9c3233
Import WASM interpreter
...
* include wabt(WebAssembly Binary Toolkit) interpreter
* https://github.com/WebAssembly/wabt
* release version 1.0.20
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-13 10:12:07 +09:00
Seonghyun Kim
b7638a3b51
Implement bigint shift operations
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-11 18:51:53 +09:00
Seonghyun Kim
840278945d
Implement bitwise operations for BigInt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-11-11 18:51:53 +09:00
HyukWoo Park
2720b9f4eb
Minor fix about lexical declared function
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-06 17:00:18 +09:00
HyukWoo Park
3ebb4ea634
Remove redundant header files
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-06 17:00:18 +09:00
HyukWoo Park
820e9f0c4d
Handle syntax errors for lexically declared functions
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-05 10:30:13 +09:00
HyukWoo Park
dae791b479
Update Jump bytecode operation
...
* fix JumpIfEqual bytecode correctly
* rename Jump* bytecode to represent its operation more intuitively
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-11-04 09:48:09 +09:00
HyukWoo Park
e0bd962e6e
Add IsHTMLDDA feature
...
* https://www.ecma-international.org/ecma-262/#sec-IsHTMLDDA-internal-slot
* IsHTMLDDA internal slot is an ECMAScript feature for Web Browsers
* IsHTMLDDA is currently enabled only for test mode (we can enable it later if it is really used by third party app)
* some related operations are optionally fixed
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-30 14:53:23 +09:00
HyukWoo Park
ca012fe376
Minor fix in Array.prototype.splice
...
* fix splice builtin function according to the standard
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-30 14:53:23 +09:00
Seonghyun Kim
6df488caaf
Update many binary expressions for BigInt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-27 11:00:49 +09:00
Seonghyun Kim
c6452d6d0c
Fix build error related with libbf
...
* Don't delete generator, asyncs ByteCodeBlock
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-23 13:04:13 +09:00
HyukWoo Park
897a1d2ae5
Fix some minor defects and build errors
...
* fix defects checked by static analysis
* fix Jenkins and actions build script
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-23 11:28:08 +09:00
Seonghyun Kim
8765374818
Implement operations related with BigInt
...
* Apply new rules on ++, --, - operation
* Implement parsing hex BigInt literal
* Implement BigInt.asUintN, asIntN
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-23 11:26:31 +09:00
Seonghyun Kim
159e670775
Update plus, abstract relational comparions for BigInt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-23 11:26:31 +09:00
MuHong Byun
827d09454d
Fix several bugs on
...
* Data object
* ByteCodeInterpreter
(From Seonghyun Kim <sh8281.kim@samsung.com>)
Signed-off-by: MuHong Byun <mh.byun@samsung.com>
2020-10-23 10:52:58 +09:00
Seonghyun Kim
08902d66ce
Update BigInt stuff
...
* Remove duplicate codes in BigInt and BigIntData.
* Pass more BigInts in test262
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-21 14:18:50 +09:00
Seonghyun Kim
44f20f0e56
When parsing string for BigInt, treat empty string as zero
...
* Optimize String.prototype.trim method
* Turn off slow tests in test262. these tests are failed on some machine due to timeout
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-21 14:18:50 +09:00
Seonghyun Kim
9f8b6fdb04
Don't use UnaryMinus ByteCode if possible
...
* If the parser gets -1, the parser divide -1 into UnaryMinus and LiteralNode.
* This patch remove UnaryMinus and change Literal value negative
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-16 12:55:41 +09:00
Seonghyun Kim
8cbb7f2251
Update equal operation, unary minus for BigInt
...
* Implement BigIntData for fast execution
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-16 12:55:41 +09:00
HyukWoo Park
10ca04ae35
Add Escargot version configuration
...
* Escargot version is calculated based on commit id
* If git is not available, RELEASE_VERSION is used instead
* Escargot version is used to identify the version of code cache
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-15 18:59:15 +09:00
Seonghyun Kim
8821b0e275
Implement basic type operation of BigInt & basic builtin functions of BigInt
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-15 18:55:42 +09:00
Seonghyun Kim
9c9457ea38
Implement BigInt infrastructure
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-14 16:18:53 +09:00
Seonghyun Kim
b03e0ab040
Import libbf https://bellard.org/libbf/ as third_party(2020-01-19 version)
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-10-14 14:15:56 +09:00
HyukWoo Park
2a1da1930b
Replace undefined or null bytecode stream with one bytecode
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-14 13:23:13 +09:00
HyukWoo Park
c73a012d77
Fix uninitialized member variables found by cppcheck
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-12 14:12:27 +09:00
HyukWoo Park
8c41696eec
Fix CodeCache clear to be invoked immediately
...
* CodeCache holds a lock of cache directory that should be released immediately when it is no longer necessary
* since GC may reclaim VMInstance and its CodeCache member lazily, so destructor of CodeCache could be called later too
* invoke CodeCache clear() in clearCachesRelatedWithContext method to resolve this issue
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-12 14:11:38 +09:00
HyukWoo Park
83aadd8b42
Minor fix in CodeCache
...
* set the member pointer of CodeCacheReader and CodeCacheWriter as nullptr right after free operation to prevent an undesirable case when each destructor invoked later
* add logs for cache read errors
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-08 14:41:46 +09:00
HyukWoo Park
714d398364
Fix minor style defects found by cppcheck
...
* add const keyword for constant functions
* reduce the scope of variables if possible
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-08 14:40:48 +09:00
HyukWoo Park
f168e4bd7b
Remove unused codes found by cppcheck
...
* remove unused functions
* remove unused variables
* mark necessary but unused variables with UNUSED_VARIABLE
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-10-06 13:11:07 +09:00
seonghyun kim
a1b464f24a
Fix compile error on android ndk
...
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
2020-09-25 10:14:53 +09:00
HyukWoo Park
593a0541b3
Fix minor svace issues
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-23 14:07:59 +09:00
HyukWoo Park
f72bf64c69
Add cache replacement policy for CodeCache
...
* to keep overall file operations as small as possible,
remove only the least recently written cache file
* trigger cache replacement when the number of cache reaches the limit
* add octane loading TC for codecache test
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-23 13:55:21 +09:00
HyukWoo Park
07b7700f37
Minor fix for a type of gc malloc
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-23 10:22:28 +09:00
HyukWoo Park
2f41f848f0
Update minor things in CodeCache
...
* add cache list count to the cache list file
* add cache error logs
* use stat to check file existence
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-21 10:33:20 +09:00
HyukWoo Park
0e51df514e
Handle CodeCache file I/O errors
...
* first, try to lock cache directory to enable CodeCache
* if file I/O fails, stop caching and remove all cache files
* flush and sync files when writing cache
* add tests to check file error cases
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-18 13:38:50 +09:00
Seonghyun Kim
a73c6de20f
Fix compile error when disable ReloadableString
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-09-18 10:42:15 +09:00
HyukWoo Park
ae21ea534b
Update CodeCache file management
...
* calculate cache file directory based on $HOME env
* handle all cache list in one file
* use source code's hash value for its cache data file name
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-16 18:27:30 +09:00
Seonghyun Kim
93f25c6298
Update gcutil & remove wrong assert macro
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-09-16 18:25:37 +09:00
HyukWoo Park
3fe7189d28
Merge caching data into one data file
...
* CodeCache generates one meta file and data file for each JS file
* enable coverity scan to check CodeCache too
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-14 11:19:18 +09:00
HyukWoo Park
4d9c840c69
Add CODEOWNERS file to assign reviewers automatically
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-11 14:03:59 +09:00
HyukWoo Park
120d68e73e
Fix incorrect AtomicString creation based on 16bit characters
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-11 14:03:59 +09:00
Seungsoo Lee
a3fec47ef6
Fix coverity bug
...
* Fix unintentional integer overflow bug
Signed-off-by: Seungsoo Lee <seugnsoo47.lee@samsung.com>
2020-09-11 12:47:45 +09:00
HyukWoo Park
56e3ec638b
Fix defects discovered in coverity scan
...
* fix control flow issues
* fix uninitialized variables
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-11 12:34:50 +09:00
Seungsoo Lee
bbacfbac0d
Fix SVace bugs
...
* Fix uninitialized class member bug
* Change ifdef NDEBUG to ifndef NDEBUG
Signed-off-by: Seungsoo Lee <seugnsoo47.lee@samsung.com>
2020-09-10 14:44:51 +09:00
Seungsoo Lee
07270e518d
Fix coverity bugs
...
* Fix unintentional integer overflow bug
* Fix explicit null dereferenced bug
Signed-off-by: Seungsoo Lee <seugnsoo47.lee@samsung.com>
2020-09-10 12:55:06 +09:00
HyukWoo Park
5d80acd6c3
Update github actions
...
* add cctest, debugger test and clang build jobs
* disable travis and some jobs in Jenkins
* enable coverity scan only for push event
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-08 11:02:47 +09:00
HyukWoo Park
2bce8e3d5e
Skip generating the bytecode of strict directive
...
* strict directive ('use strict') just marks the strict mode without any operation
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-08 11:01:10 +09:00
HyukWoo Park
3ea5aa661d
Fix incorrect lexical block of nested class
...
* nested class expression right after the expends keyword should be handled outside of the outer class block
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-03 13:15:43 +09:00
HyukWoo Park
f951ad04b7
Enable coverity scan
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-09-03 10:53:06 +09:00
Seonghyun Kim
d4bfe59e64
Update public API for RopeString and update small config
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-28 10:26:20 +09:00
HyukWoo Park
b7f8a34b0e
Add codecache test for x86 environment
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-25 11:38:57 +09:00
HyukWoo Park
cdb56523ba
Update README
...
* add badge for license and action results
* set defualt license as lgpl-2.1
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-25 11:38:57 +09:00
HyukWoo Park
a96f39f0e6
Unify regular expression notation as RegExp
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-24 14:04:52 +09:00
HyukWoo Park
dbe6cd0e70
Handle exception cases in CodeCache
...
* handle ThrowStaticErrorOperation bytecode with default error message
* LoadRegexp bytecode could have empty string as its option string
* test on new-es benchmarks
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-24 14:04:52 +09:00
Seonghyun Kim
606b59ecef
Suppress false positve asan stack underflow error
...
+ hide public symbols if possible
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-24 14:03:57 +09:00
HyukWoo Park
c226d3e888
Add actions to test code cache
...
* print code cache logs for test mode
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-20 15:02:32 +09:00
HyukWoo Park
383069820a
Use hash value as its file name for code caching
...
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-19 16:54:32 +09:00
Seonghyun Kim
267238ae64
Fix Reloadable string bug
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-13 15:17:32 +09:00
Seonghyun Kim
4e9349b999
Implement ReloadableString
...
* turn off ALWAYS_INLINE in small config
* turn off hidden class transition table in small config
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-13 14:07:37 +09:00
HyukWoo Park
a77b341324
Fix a typeof bug related with arguments object in arrow function
...
* for typeof operation within arrow function, arguments object should be accessed from the outer environments properly
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-07 16:40:55 +09:00
Seonghyun Kim
a4dd449e82
Add missed operators for OptionalRef
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-06 16:23:26 +09:00
HyukWoo Park
f56a557ff5
Reduce memory allocation during bytecode generation
...
* ByteCodeBlock does not hold location data info anymore
* location data of each bytecode is manually allocated only for stack-tracing or debugger mode
* duplicated String allocation for source code is removed
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-06 16:23:06 +09:00
Seonghyun Kim
ccdf475f9b
Implement new config for smaller device
...
* In small config, we turn off SyntaxChecker for small binary size
* CompressibleString should get VMInstance instead of Context
* If ICU is disabled, we don't need unicode information in yarr
* Remove unused variable in yarr(RegExpJitTables)
* Fix lz4 compile error
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-08-06 14:07:11 +09:00
HyukWoo Park
11e469c6fa
Implement CodeCache for bytecode
...
* store/load global ByteCodeBlock
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-08-03 10:40:17 +09:00
Seonghyun Kim
3ec80377db
Add new public APIs
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-30 15:15:18 +09:00
Seonghyun Kim
ba4763e888
Implement runtime part of dynamic-import
...
* Implement one of parsing error of module
* Fix one of stack usage error on FunctionObjectInlines
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-30 11:56:17 +09:00
Seonghyun Kim
5dc636380c
Implement parsing dynamic import expression
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-30 11:56:17 +09:00
HyukWoo Park
436fac4423
Implement CodeCache for CodeBlock tree
...
* update read/write modules for CodeCache
* store and load CodeBlock tree
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-07-30 10:44:40 +09:00
Boram Bae
4faaa29331
Check return value of dlerror
...
Signed-off-by: Boram Bae <boram21.bae@samsung.com>
2020-07-27 21:48:40 +09:00
Ryan Hyun Choi
99b2d0f8ce
Check values of getenv() for validity
...
Signed-off-by: Ryan Choi <ryan.h.choi@gmail.com>
2020-07-27 15:51:18 +09:00
Seonghyun Kim
25588dcb01
Implement NamedPropertyHandler API to ObjectTemplate
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-23 15:19:31 +09:00
HyukWoo Park
773007bec6
Each InterpretedCodeBlock has its children in a vector
...
* reduce the whole size of InterpretedCodeBlock instances
* iterate fastly on children
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-07-23 15:19:05 +09:00
Seonghyun Kim
906dbc6409
Add new api for Template
...
* Embedders can control (ESCARGOT_COMPRESSIBLE_COMPRESS_*) when compiling
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-17 11:30:04 +09:00
Seonghyun Kim
6503fc0416
Implement import.meta spec(MetaProperty)
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-16 12:51:24 +09:00
Seonghyun Kim
3f1001454e
In parser, invalid assignment error is changed from ReferenceError to SyntaxError
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-16 12:51:24 +09:00
HyukWoo Park
586082c1d7
Fix NativeCodeBlock to directly store the native function point
...
* remove CallNativeFunctionData
* FunctionTemplate and native APIs allocate ExtendedNativeFunctionObject in itself
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-07-16 12:51:00 +09:00
Zoltan Herczeg
60ca7f1841
Release functions during parsing.
...
Fixes #702 .
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2020-07-10 09:35:02 +09:00
Seonghyun Kim
fd969d6da2
Each formal parameter should not have separate Environment Record(the spec is changed)
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-09 11:11:18 +09:00
Seonghyun Kim
3c642c8932
Apply new spec rules of escaped, reserved keyword
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-09 11:11:18 +09:00
Seonghyun Kim
cb419ec930
ASTAllocator should use various size of buffer
...
* Idle memory usage is reduced from 128kb to 4kb
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-09 11:11:18 +09:00
HyukWoo Park
747803bf81
Add InterpretedCodeBlockWithRareData
...
* extract infrequently used m_rareData member from InterpretedCodeBlock
* InterpretedCodeBlockWithRareData handles InterpretedCodeBlockRareData inside itself
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-07-08 16:56:44 +09:00
HyukWoo Park
2fe9333814
Divide CodeBlock into NativeCodeBlock and InterpretedCodeBlock
...
* NativeCodeBlock is newly added for NativeFunctionObject
* all interpreter-related info is moved into InterpretedCodeBlock
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-07-08 16:56:44 +09:00
HyukWoo Park
cd09ccbb07
Rename ASTContext structure
...
* rename to ASTScopeContext and ASTBlockContext
* remove redundant ASTScopeContext parameter
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-07-06 10:07:56 +09:00
Seonghyun Kim
3e1c5f3889
Reduce MemberExpression size for performance
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-06 10:07:28 +09:00
Seonghyun Kim
149cac159a
Implement OptionalExpression and OptionalChain
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-07-06 10:07:28 +09:00
bence gabor kis
1c7a1c3e06
Update proxy object to ES2020
...
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2020-07-02 10:23:02 +09:00
Bela Toth
b69706d0a4
Enable more Unicode characters as variable names
...
Fixes : #656
Signed-off-by: Bela Toth tbela@inf.u-szeged.hu
2020-07-01 15:10:39 +09:00
Seonghyun Kim
ca9b832a77
Introduce Object, FunctionTemplate
...
* Add cctest for Object, FunctionTemplates
* Fix one of EncodedValue <-> EncodedSmallValue conversion bug
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-06-29 12:38:39 +09:00
bence gabor kis
d3e5ec69ce
New Feature - Nullish Coalescing (?? operator)
...
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2020-06-29 12:34:53 +09:00
Seonghyun Kim
1ab8994711
Update shell & test262 driver for running test262 tests correctly
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-06-25 18:39:09 +09:00
HyukWoo Park
6bf7a3f707
Fix type error in String::advanceStringIndex
...
* change the return type to uint64_t from size_t for 32bit environment
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-06-24 15:32:30 +09:00
HyukWoo Park
c7cd152802
Update the latest test262
...
* for development of ECMAScript 2020 standard
* test262 commit ef12a8b11c4dc1222097df4e7ea87a441d82262a
* use script to automatically update excludelist.orig.xml file
* tools/test/test262/make_excludelist.py --arch={x86|x86_64} --engine={ESCARGOT_PATH}
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2020-06-24 15:32:30 +09:00
bence gabor kis
77f9f59e41
New Feature - MatchAll and RegExpStringIterator
...
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2020-06-23 16:07:25 +09:00
Seonghyun Kim
056b18547b
Update Promise builtin functions according to ES2020
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-06-17 18:33:07 +09:00
Seonghyun Kim
078fd4be4f
Implement Promise.allSettled and refactor
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-06-17 18:33:07 +09:00
Seonghyun Kim
3d55b0bd3a
Implement globalthis property
...
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-06-17 18:33:07 +09:00
bence gabor kis
d517104bed
Update unicode table in third_party yarr
...
Related test262 test-cases has been removed (from skip list)
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2020-06-16 08:57:01 +09:00
Robert Fancsik
7bb5428cff
Fix catch parse error when the debugger is enabled
...
Signed-off-by: Robert Fancsik <frobert@inf.u-szeged.hu>
2020-06-16 08:55:45 +09:00
Robert Fancsik
4dfaec7c4a
Statement MetaNodes should be early constructed
...
Since the debugger breakpoint generation requires a continuously increasing series of LOC indices
the statement node infos should be constructed in the beginning of their parsing functions.
Signed-off-by: Robert Fancsik <frobert@inf.u-szeged.hu>
2020-06-11 18:12:46 +09:00
bence gabor kis
3bb4a39e50
able to send multiple source file to debugger server
...
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2020-06-11 17:54:21 +09:00
Seonghyun Kim
f82c81a5d2
In 64bit, we should use only 32bit for addressing
...
* Object, Array, Environment record internal space should use 32bit addressing on 64bit
* Rename SmallValue to EncodedValue.
* Implement EncodedSmallValue for using 32bit address on 64bit
* Implement special vectors for EncodedSmallValue.
- we need these special vector. because when push_back or inserting the value what we want to insert
can be removed by GC because the parameter type is 32bit(EncodedSmallValue).
* Update GCutil for 32bit addressing on 64bit
Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
2020-06-11 17:37:43 +09:00
bence gabor kis
f1d8535b92
Optimized createListFromArrayLike
...
Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
2020-06-11 10:45:28 +09:00
Zoltan Herczeg
7a63397e1c
Implement getting object properties.
...
Furthermore extend get scope and get scope variables with state index parameter.
Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
2020-06-09 08:00:29 +09:00