124 Commits

Author SHA1 Message Date
getingke d314d02335 fixed for proxy bug
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I6bd8842e81a7cce061190fff86345b98bb5b660e
2022-07-06 09:53:50 +08:00
g00416891 f11810349e New EcmaRuntimeCallInfo in stack pointer
Signed-off-by: g00416891 <guobingbing3@huawei.com>
Change-Id: I466a4107e6e073ffecea12e6986c112731d2d3bf
2022-07-05 14:54:43 +08:00
zhangyukun8 c041e23892 CpuProfiler adapt assembly-interpreter
1. lookup traces when a frame has not been constructed totally
2. update rbp before exit current frame
3. update leaveFrame_ before callngcruntime
4. fix bigint

Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5ELOP?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I85bedde971436df9775d49fefd84b7375a65f564
2022-07-04 09:43:35 +08:00
openharmony_ci e0acde7a42 !1690 Put bcStubEntries as offset 0 of glueData
Merge pull request !1690 from 孙哲/master
2022-07-01 09:03:58 +00:00
sunzhe23 1dc1ca0b72 Put bcStubEntries as Offset 0 of glueData
description:
optimize arm performance, interpreter bc dispatch can reduce one instruction

Issue: #I5EM5W

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-07-01 16:21:10 +08:00
openharmony_ci 2922c2a840 !1692 fix HandleLdObjByValuePrefV8V8
Merge pull request !1692 from wpy111/master
2022-07-01 01:51:58 +00:00
wupengyong 48e08b34ce reason:fix HandleLdObjByValuePrefV8V8
description:fix asminterpreter for arm64
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5EMXU?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I1670d66d1df31e0257a440b2e05539e16724f11d
2022-06-30 21:28:58 +08:00
xujie 690ca22d2a Support Lexenv In TSAOT
1. Support lexical env when running tsaot
2. fix getunmappedargs and copyrestargs bugs

Issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5C1P2

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: Ia78ea4d89654d6924c0dee6f491cdf1e4fe718ee
2022-06-30 14:01:26 +08:00
wupengyong 7fcd4f36e2 reason:fix IntBuildTaggedWithNoGC
description:use SExtInt32ToInt64
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5EITG?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I8374ffd008013bcfb9ed3d0b4030b7a0c9327720
2022-06-28 16:16:35 +08:00
getingke 39943ece43 fixed for aarch64 aot test case
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I17fe5a44b06d351d11fb02b77e375f9c9d54df17
2022-06-22 15:09:18 +08:00
openharmony_ci 37c0da1e8f !1621 AsmInterpreter call Aot JSFunction
Merge pull request !1621 from getingke/asm_call_aot
2022-06-21 07:35:49 +00:00
getingke b6b4a01e1b fixed for asm call aot
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ia00888a517f9a250871bf87beb692dccdee624fd
2022-06-20 20:58:32 +08:00
xliu f9c09fc846 fix LdGlobaleVar and TryLdGlobalByName
1.Adjust the logic of IC for LdGlobalVar
2.Adjust the logic of IC for TryLdGlobalByName
3.Add set as SetAsMega for LoadMiss and StoreMiss
4.Container test case refactoring
issue: https://gitee.com/openharmony/ark_js_runtime/issues/I5CJO2

Signed-off-by: xliu <liuxin259@huawei.com>
Change-Id: I3c531d072c5f2e4b6508544d9420ad4817943c24
2022-06-20 10:13:02 +08:00
getingke 4b71b4ea08 fixed for review comment by wuzhefeng
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ia9506b7e9e3ad2b75dcfb130eaedd4c9a8f771b4
2022-06-18 15:09:19 +08:00
getingke efac360ce9 fixed for asm interpreter call aot code
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I93f24a015a058cbfe4453717bb80f2c31f63aa48
2022-06-17 18:26:05 +08:00
zhangyukun8 02e0ac72a2 Throw exception when setter is undefined
1. stobjbyname should throw exception when setter and getter are not
both defined

Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5CO8F?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I7a2c0c682d45027e70ea7b489d590fa990e49414
2022-06-17 08:50:43 +08:00
openharmony_ci 2d071c8548 !1595 fix SetPropertyByValueWithOwn handler
Merge pull request !1595 from wpy111/master
2022-06-16 02:57:01 +00:00
wupengyong 8cd3fc683f reason:fix SetPropertyByValueWithOwn handler
description:add InterpreterSetPropertyByValueWithOwn GHCcall
issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5CACE?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: Ifdf8695f3318a67ddb3d2d10e859b5f55c2486a8
2022-06-16 10:15:29 +08:00
xliu ecc409f326 add stub for TypedArray
Description
  1.add GetPrpertyByIndex stub for TypedArray.
  2.add GetPrpertyByName stub for TypedArray.
  3.add SetPrpertyByIndex stub for TypedArray.
  4.add SetPrpertyByName stub for TypedArray.
Issue:
  #I5BPJM:add stub for typedarray

Signed-off-by: xliu <liuxin259@huawei.com>
Change-Id: Ic76834e5224e4b03fa96e167a61c7c0c0c36940c
2022-06-14 20:59:43 +08:00
sunzhe23 7eb24e8b94 Support new this object call inline new
description:
add NewJSObject stub for fast new JSObject

issue: #I5BPKF

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-06-10 15:35:16 +08:00
zhangyukun 26dbd673ff Fix rsp frame on arm64
1. fix callnative entry
2. adapt newobjdynrange

Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I5B7OL?from=project-issue

Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: Icf7d0a385d77f76cf8f76a0ecb448728881df067
2022-06-09 19:57:33 +08:00
sunzhe23 10ebc065d8 Support stackless callnew for asm interpreter
description:
1 use JSCallDispatch implments call new
2 refactor js common call

issue: I5AKJU

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-06-08 13:28:04 +08:00
lichenshuai a724508c73 Delete RSP macro and .S file
Rsp is used in future work, therefore .S file should be deleted.

Issue: #I5AGW3

Signed-off-by: lichenshuai <lichenshuai@huawei.com>
Change-Id: Ib1fb140d40d259bc4519fbf547857e5f80e9ee0c
2022-06-02 10:32:46 +08:00
sunzhe23 33efa29adb Solve some issues for asm interpreter
description:
1 fix arm align up bug
2 Add array length fastPath for asm Interpreter
3 Fix call slowpath with arg0 bug for x64

issues: #I5ABQO

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-06-01 11:41:26 +08:00
sunzhe23 372df16bd4 Refactor JSCall Dispatcher and implments asm getter/setter
description:
1 Refactor Call Dispatcher, and Regactor common call
2 use circuit IR implments getter/setter

issue: I59POB

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-05-30 16:14:30 +08:00
openharmony_ci 0b5e0e6aa6 !1395 Add Container Vector
Merge pull request !1395 from shisan_forwork/push_vector
2022-05-23 14:57:23 +00:00
shisan_forwork 5adb25b225 Add Container Vector
Description
   To ensure the high performance of container classes, vector is
   provided in ark.
Related issue
   #I4XCD9:add container vector

Signed-off-by: shisan_forwork <chengjunxiong@huawei.com>
2022-05-23 20:40:25 +08:00
zhangyukun 9f15b59632 Fix 262 of rsp on x64
1. skip builtin frame and asm interpreter entry frame when upframe
2. skip push args when argc is 0
3. check thread exception, rather not ret value
4. deal with fp when entry Execute
5. deal with call class Constructor
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I58I4H?from=project-issue

Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: I874f1437d5d21a8cf50a8d9ca73d7a92007f1bab
2022-05-23 18:42:48 +08:00
sunzhe23 e0bd313831 Support inline new for new lexical env
description:
1 implements new lexical by inline new
2 add rodata for aot code

issue: I57XRY

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-05-19 15:07:16 +08:00
hjzhangcm c47eac9550 fix codeCheck warning
Signed-off-by: hjzhangcm <zhanghaijun20@huawei.com>
Change-Id: Ie8ccede04ab2a7771439657fd8166b39c9dd0e4e
2022-05-12 09:50:21 +08:00
wuzhefeng f091b49f2c Refactor Compilaton Framework Part-1
Because the Stubs and CircuitBuilder share many common components like
Labels, Environment, and Variables, this PR remove the ones inside Stub
and replace them with CiircuitBuilder's.

Issue:https://e.gitee.com/open_harmony/dashboard?issue=I55P3C

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I5bc3672a371f7f2e749741e699b80fd466905dc8
2022-05-10 07:33:11 -07:00
zhangyukun 5632b517c9 optimize asm interpreter performance
Description:
1. add runtime stat scope to get the data of time-consuming-points
2. use stub to impl these runtime time-consuming-points
Issue:https://gitee.com/openharmony/ark_js_runtime/issues/I552ZB?from=project-issue

Signed-off-by: zhangyukun <zhangyukun8@huawei.com>
Change-Id: I242b3ef8b4235d952aa32fda0d3d5b8ed2f8f776
2022-04-28 18:43:32 +08:00
zhaozhibo e0ad13d0c4 fix codex warning
Signed-off-by: zhaozhibo <zhaozhibo3@huawei.com>
2022-04-25 14:33:01 +08:00
yingguofeng@huawei.com 6c5808fc28 Delete useless code dependencies
To reduce 'libark_ jsruntime.so' ROM size, delete useless code dependencies.

https://gitee.com/openharmony/ark_js_runtime/issues/I541H4?from=project-issue

Profit: libark_jsruntime.so size reduce from 3455(kb) to 2001(kb)

Change-Id: Ie7430fca6f539c9baff1f4aae7942da6fc9ef135
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-04-24 18:02:32 +08:00
yingguofeng@huawei.com aeb8531377 Bitmap Refactor
Refactor the markbitmap used to mark objects and the rememberset used to record cross generational references

https://gitee.com/openharmony/ark_js_runtime/issues/I534B6?from=project-issue

Change-Id: Icc4ac21219b5b7514b77291e436f79cf286515b2
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2022-04-22 10:28:36 +08:00
songzhengchao ecf5fd6eb0 Refactor Logical shift operation
the logical shift does't care signed/unsigned.sometime using UINTxx/Intxx, which is very confusing.

logical operation don't distinguish with int/uint and remove Archxx function

issue:https://gitee.com/openharmony/ark_js_runtime/issues/I53R9E?from=project-issue

Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Idaf71b46227917d2cb08c35118e71c2a66b79fd3
2022-04-21 20:08:23 +08:00
sunzhe23 57ee6a7312 Optimize some runtime stub for asm interpreter
1 Set FindElementWithCache and Float as no GC runtime
2 Add SavePC for RuntimeCall if needed

issue: #I53PT7

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-04-20 03:10:30 -07:00
songzhengchao 56477d35de bug fix compile bc/common stub vm setup load stub
rename glue type POINTER TO NATIVE_POINTER

issue:https://gitee.com/openharmony/ark_js_runtime/issues/I52T6B?from=project-issue

Signed-off-by: songzhengchao <songzhengchao@huawei.com>
Change-Id: Ic50466ef1afd931268a649227458642f933b2360
2022-04-16 17:20:27 +08:00
Hailiang Hu c089b204e8 AOT Refactor for CircuitBuilder and Slowpath
1. Remove low level CircuitBuilder, make flat of this interface.
2. Move some interface of LabelManager to CircuitBuilder, and rename to Environment.
3. Refactor some interface of MergeMirCircuit, LowerHirToCall,
   LowerHirToConditionCall and so on.

Issue: #I52VPJ

Signed-off-by: Hailiang Hu <allenpas@huawei.com>
Change-Id: Ib8f20e7137c8006a0735cefea9fe243513744652
2022-04-15 21:01:01 +08:00
openharmony_ci 7c000a7499 !973 fix codeDex warning
Merge pull request !973 from zhaozhibo/master
2022-04-12 08:41:37 +00:00
zhaozhibo aaf776aab5 fix code warning for codeDex
Signed-off-by: zhaozhibo <zhaozhibo3@huawei.com>
2022-04-12 14:27:50 +08:00
openharmony_ci 9af9aac86b !958 JSFunctionCall Trampoline
Merge pull request !958 from getingke/js_function_call_stub_formal
2022-04-11 14:03:09 +00:00
getingke fd1719432b JSFunction call have 4 scenariso:
1.JSFunction
	call native code when method is native
	jump to compiled code for aot JSFunction
	call asm interpreter entry for BC method
2. JSBoundFunction
	Bind Arguments for Bound target function, then recursive call this trampoline function.
3. JSProxy
	Call proxy's target jsfunction.
4. NonCallable
	Throw typerror exception.

issue https://gitee.com/openharmony/ark_js_runtime/issues/I51OWV?from=project-issue

Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I85917e3cf1ffec0cc1e39de5fc20bd606947c968
2022-04-11 15:49:51 +08:00
openharmony_ci 9213c20372 !953 fix setpropertyby*** stub error
Merge pull request !953 from wanghuan2022/master
2022-04-11 07:13:22 +00:00
wanghuan 541d798d35 fix setpropertyby*** stub error
desc: fix setpropertyby*** stub error

solu:
1.add useown stub and not useown stub in common stub
2.Unit useown stub and not useown by using bool value in stub

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I51LRS

Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I7a0f68d065cb5b27f60db91af8a87216c47a1f6f
2022-04-09 18:30:26 +08:00
sunzhe23 edd58632f4 Implement FastToBoolean for asm interpreter
Issue: #I51BQ5

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-04-06 02:32:09 -07:00
wanghuan 6bb11e334c fix FastTypeOf error in bigint
des: fix FastTypeOf error in bigint

solution:
1. add big int type judgment.
2. change variable name to be reasonable.

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I51A5R

Signed-off-by: wanghuan <wanghuan80@huawei.com>
Change-Id: I7f3284ea6d98b006c2df80585f7c946a0a4c1790
2022-04-06 15:38:33 +08:00
wuzhefeng 1e2aa2a487 Refactor Code
Because there are some redundant/unused/improper functions, this PR
remove them and improve the readability.

issue: https://gitee.com/openharmony/ark_js_runtime/issues/I50LRT

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: Ifa08f33a2819f3113234fdbf3ee2bb0e976d4071
2022-03-31 16:16:31 -07:00
sunzhe23 3b08d469f4 Refactor CallStub/CallNoGCRuntime
Delete the call signature paramter of the function

Issue: #I50DB3

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-03-30 00:33:18 -07:00
sunzhe23 041327f5d0 Add runtime trace for runtime stubs
1 add RUNTIME_TRACE for runtime stubs
2 fix ICStoreElement var handlers bug

Issue: #I4ZPSH

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-03-26 02:45:25 -07:00