Commit Graph

7 Commits

Author SHA1 Message Date
qiuyu
f86405e0ca Optimize default ctor for derivative class
Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/IA8WK8

1. adapt interpreter for the new isa callruntime.SuperCallForwardAllArgs
2. adapt asm-interpreter for callruntime.SuperCallForwardAllArgs
3. adapt jit/aot for callruntime.SuperCallForwardAllArgs
4. adapt baseline jit for callruntime.SuperCallForwardAllArgs
5. remove the constraint for functions with zero icSlotSize so that
the default ctor for derivative class can be compiled into native code.

Signed-off-by: qiuyu <qiuyu22@huawei.com>
Change-Id: I346da77403de0d14f53532bc51c40a3ca27fc689
2024-08-25 18:07:36 +08:00
c00605410
e1e36012bc [BaselineJIT] eliminate redundancy in baseline
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/IA8W7G
Description: eliminate redundancy in baseline

Change-Id: I1ed42027c238bef7c77cd48c866dc807d1836448
2024-07-08 10:33:28 +08:00
suyue
1c4a599bc8 [Baseline JIT] new features and bugfix(MR276-MR303)
!276 [BaselineJIT]baseline bugfix CreateemptyarrayImm16
* [BaselineJIT]baseline bugfix CreateemptyarrayImm16

!277 [BaselineJIT]baseline bugfix of stringId,slotId type
* [BaselineJIT]baseline bugfix of stringId,slotId type

!278 bugfix for stringId,slotId and levelId
* [baselineJit]bugfix for stringId,slotId and levelId

!279 [BaselineJIT]generate assembly for bytecode MOV_V*_V* directly
* [BaselineJIT]generate assembly for bytecode MOV_V*_V* directly

!280 [baselineJit]bugfix for index needed extend to int32/16 and add log
* [baselineJit]bugfix for index needed extend to int32/16 and add log

!281 [BaselineJIT]avoid push args on stack
* [BaselineJIT]avoid push args on stack

!272 [BaselineJIT] support exception handler
* [BaselineJIT] support exception handler

Change-Id: I57d84d30dad04c31ca163183aab67ea3e0d6911a

!283 [BaselineJIT] do not pass parameters on the stack
* [BaselineJIT] do not pass parameters on the stack

!282 [BaselineJIT] support return thisObject for NewObjRange
* [BaselineJIT] support return thisObject for NewObjRange

!285 [BaselineJIT]support profiler part2
* part23
* part22
* part21
* part20
* part19
* part18, support APPEND_SUFFIX_IMM16
* part17
* part16
* part15
* part14
* part13
* part12
* part11
* part10
* part9
* part8
* part7
* part6
* part5
* part4
* part3
* BaselineCallargs3Imm8V8V8V8 callRange
* callagr1 and callarg2
* BaselineCallArg0Imm8

Change-Id: Ib19febd1a506be1b7f5b08120cf7f8e0914df389

!286 [BaselineJIT]bugfix for the type of slotId
* [BaselineJIT]bugfix for the type of slotId

!284 [BaselineJIT] enable other EXCEPTION macros
* [BaselineJIT] enable other EXCEPTION macros

!288 [BaselineJIT]baseline support update hotness part2
* [BaselineJIT]support distinguish upframe for current baseline frame
* [BaselineJIT]support BaselineSuspendgeneratorV8
* [BaselineJIT]baseline support update hotness part2

!289 [BaselineJIT] adapter UpFrame for baseline
* [BaselineJIT] adapter UpFrame for baseline

!291 [BaselineJIT] get baselineBuiltinFp by asm stub
* [BaselineJIT] get baselineBuiltinFp by asm stub

!292 [baselineJit]bugfix for builtin and replace return value with macro CHECK_EXCEPTION_WITH_ACC
* replace return value with macro CHECK_EXCEPTION_WITH_ACC part5
* replace return value with macro CHECK_EXCEPTION_WITH_ACC part4
* replace return value with macro CHECK_EXCEPTION_WITH_ACC part3
* replace return value with macro CHECK_EXCEPTION_WITH_ACC part2
* [baselineJit]bugfix for BaselineDelobjpropV8 and replace return value …

!293 [baselineJit]bugfix for arm64
* [baselineJit]bugfix for arm64

!294 replace return value with macro
* supplement CHECK_PENDING_EXCEPTION
* [baselineJit]replace return value with macro CHECK_EXCEPTION_WITH_JUMP…
* [baselineJit]replace return value with macro CHECK_EXCEPTION_WITH_VARACC

!296 [baselineJit]exception handler macro DISPATCH_LAST
* enable DISPATCH_LAST in UPDATE_HOTNESS
* DISPATCH_LAST part2
* [baselineJit]DISPATCH_LAST part1

!297 [baselineJit] support profile 补充
* [baselineJit] support profile in WideNewobjrangePrefImm16V8,

!295 bugfix for HandleReturn
* [baselineJit]bugfix for HandleReturn

Change-Id: I53c342fb00401e9acbef1cc178dea832e3defefd

!298 bugfix for interpreter
* [baselineJit]bugfix for interpreter

Signed-off-by: suyue <suyue13@huawei.com>
Change-Id: Ic77e5dc3bc4accc999f2ef2e07e562058dc88fbe

!300 [BaselineJIT]support js stack trace
* [BaselineJIT]support js stack trace

Change-Id: Ia2a8069577e9f9568d9b376be867320f2e0b52cf

!299 [baselineJit]Bugfix for arm64
* [baselineJit]Bugfix for arm64

Change-Id: Icce088dc3b42b183d794ea47998efc51d752854f

!301 [baselineJit]Bugfix for BaselineNewobjapplyImm16V8
* [baselineJit]Bugfix for BaselineNewobjapplyImm16V8,BaselineCloseiterat…

!302 [baselineJit]Bugfix for mov imm64 to reg in arm64
* [baselineJit]Bugfix for mov imm64 to reg in arm64

!303 [baselineJit]bugfix for RuntimeGetBytecodePcOfstForBaseline
* [baselineJit]bugfix for RuntimeGetBytecodePcOfstForBaseline

Change-Id: I67fdd8bf1c9da3d8f7a87d180689618f95771cea
2024-06-06 16:28:41 +08:00
jiangmengyang
6f457ac079 !2 Adapt new isTrue/False instruction
Merge pull request !2 from yycc/istrue

Change-Id: I738f134baf83d74a23083848a67fe33a4efccbb8
2024-05-24 10:56:35 +08:00
jiangmengyang
5391992b21 add define property by name
issue: https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/I9LH6H
Description: add define property by name
Signed-off-by: jiangmengyang <jiangmengyang3@huawei.com>
Change-Id: Ibf684df2af4dad293431346d315bf7de6c687ad9
2024-05-23 21:28:08 +08:00
yycc
de448b07cc Adapt new isTrue/False instruction
Issue: https://gitee.com/open_harmony/dashboard?issue_id=I9N35U
Description: Adapt new isTrue/False instruction

Signed-off-by: yycc <yuyicen1@huawei.com>
Change-Id: I73c57e6ee6a8adf2483c5a02c51d5e4e4c945532
2024-05-14 10:54:59 +08:00
w00443755
e68673a13f enable baseline compiler
add baseline builtins

Change-Id: Ib8d7c392c62e21eab19b17e45c0fafb499cbbed9

support running baseline compiler by option --compiler-force-baseline-compile-main=true

Change-Id: I7c7337faf9fad39ccffb2de28d46403e2f6cb22b

baseline jit part3

Change-Id: I36e8dd6a6fa6fffb738029a8620bbcd01df1e017

baseline part4

Change-Id: Ib45bcf7255a85aa48f864a6021adf819927e6a13

baseline part5 move baseline into compiler folder

Change-Id: Ia8781c95ae00c4f300e7267a6da0078b5d04e4c8

!185 support BaselinePrologue
* support BaselinePrologue part3
* support BaselinePrologue part2
* support BaselinePrologue

!187 [BaselineJit] support load baseline builtins
* [BaselineJit]support load baseline builtins

!186[BaselineJIT] workaround for baselinejit support install code
* install code part3
* install code part2
* baseline jit support intall code

!188 [BaselineJit] support CallBuiltin
* [BaselineJit] baseline support  CallBuiltin

!189 [BaselineJIT]implement StackOffset class
* [BaselineJIT]implement StackOffset class

!190 [BaselineJIT]refactor BaselineAssembler and MacroAssembler
* [BaselineJIT]refactor BaselineAssembler and MacroAssembler

!191 [BaselineJIT] refactor class BaselineCompiler
* [BaselineJIT] refactor class BaselineCompiler

!192 [BaselineJIT] callbuiltin support new parameter type
new parameter type: int32_t,SpecialParameter,VirtualRegister

!193 [BaselineJIT]modify BaselineLoadObjByName function
* [BaselineJIT]modify BaselineLoadObjByName function

!194 [BaselineJIT] support new builtins
* [BaselineJIT] add  BaselineTryLdGLobalByNameImm8ID16,  BaselineStToGlobalRecordImm16ID16, BaselineLdaStrID16

!196 [BaselineJIT]bugfix for BaselinePrologue, align the rsp
* [BaselineJIT]bugfix for BaselinePrologue, align the rsp

!197 [BaselineJIT]bugfix for StackOffsetDescriptor
* [BaselineJIT]bugfix for StackOffsetDescriptor

!198 [BaselineJIT]workaround for helloworld testcase, helloworld can run successfully
* workaround for helloworld testcase, helloworld can run successfully

!200 [BaselineJIT]adapt profile collection
* [BaselineJIT]adapt profile collection

!201 [BaselineJIT]refactor baseline jit
* [BaselineJIT]refactor baseline jit

!203 [BaselineJIT]support trigger BaselineJITCompile and call baselinecode async
* [BaselineJIT]support trigger BaselineJITCompile and call baselinecode async

!202 [BaselineJIT]enable update hotness
* [BaselineJIT]enable update hotness

!205 [BaselineJIT]adapt JSCallDispatch interface
* [BaselineJIT]adapt JSCallDispatch interface

Change-Id: I4efce4346f985c7e074d7fc4bbfe3b081272e950

!195 [Baseline JIT] bytecode to builtin funs
* !206 enable bytecode builtins and call CHECK_PENDING_EXCEPTION
* [Baseline JIT] builtins:StobjbynameImm9Id16V8,StobjbynameImm16Id16V8,S…
* [Baseline JIT] builtins:CopyrestargsImm8,LdlexvarImm4Imm4,StlexvarImm4…
* [Baseline JIT] builtins: LdsuperbyvalueImm8V8,LdsuperbyvalueImm16V8,St…
* [Baseline JIT] builtins: DelobjpropV8,AsyncfunctionawaituncaughtV8,Cop…
* !204 enable bytecode builtins
* [Baseline JIT] builtins: DefineclasswithbufferImm8Id16Id16Imm16V8,Defi…
*  [Baseline JIT] builtins: LdthisbynameImm8Id16,Definegettersetterbyval…
* [Baseline JIT] builtins: Callarg0Imm8,SupercallspreadImm8V8,ApplyImm8V…
* !199 enable bytecode builtin func
* [Baseline JIT] builtins: StrictnoteqImm8V8,StricteqImm8V8,Istrue,Isfal…
* [Baseline JIT] builtins: NegImm8,NotImm8,IncImm8,DecImm8,IsinImm8V8,In…
* [Baseline JIT] builtins: And2Imm8V8,Or2Imm8V8,Xor2Imm8V8,ExpImm8V8,Typ…
* [Baseline JIT] builtins:LessImm8V8,LesseqImm8V8,GreaterImm8V8,Greatere…
* [Baseline JIT] builtins:Add2Imm8V8,SUB2_IMM8_V8,MUL2_IMM8_V8,DIV2_IMM8…
* [Baseline JIT] builtins:CreateobjectwithbufferImm8Id16,Createobjectwit…
* [Baseline JIT]builtins:Createemptyobject,CreateemptyarrayImm8,Createem…
* [Baseline JIT] builtins:GetiteratorImm16,Asyncfunctionenter,Createasyn…
* [Baseline JIT] builtins:ldsymbol,ldglobal,Poplexenv,Getunmappedargs,Ge…
* [BaselineJIT] builtins: add base class

!209 handle opcode in baseline compiler
* handle opcode in baseline compiler

!210 [baseline jit]: add baseline stub call signature target kind info
* [baseline jit]: add baseline stub call signature target kind info

!212 [BaselineJIT]baseline builtin bugfix
* [BaselineJIT]baseline builtin bugfix

!207 [BaselineJIT]support BaselineBuiltinFrame
* [BaselineJIT]support BaselineBuiltinFrame

!214 [BaselineJIT]baseline builtin bugfix of using JSCallDispatch
* [BaselineJIT]baseline builtin bugfix JSCallDispatch

Change-Id: Id67b991df5dee753a38c284234d15b02f0d8a091

!215 [BaselineJIT]bugfix for StackOffsetDescriptor
* [BaselineJIT]bugfix for StackOffsetDescriptor

!216 [baseline jit]update bytecode builtins
* [baseline jit]update bytecode builtins

!213 [BaselineJIT]support BaselineReturn and BaselineReturnundefined
* [BaselineJIT]support BaselineReturn and BaselineReturnundefined

!218 [BaselineJIT]baseline builtin
* [BaselineJIT]baseline builtin:ldfunction,ldthis,asyncgeneratorresolvev…

!217 parse baseline-jit bytecode v1.0
* parse bytecode in baseline-jit

!220 [BaselineJIT]baseline refactor ParameterIndex
* [BaselineJIT]baseline refactor ParameterIndex

!223 [BaselineJIT]get function and method from stack, avoiding method is used after call
* [BaselineJIT]get function and method from stack, avoiding method is us…

!224 [BaselineJIT]bugfix for compiling x64.release
* [BaselineJIT]bugfix for compiling x64.release

!226 [BaselineJIT] adapt gc for BASELINE_BUILTIN_FRAME type
* [BaselineJIT]adapt gc for BASELINE_BUILTIN_FRAME type

!222 [BaselineJIT] parse baseline builtin args
* [BaselineJIT] parse baseline builtin args:part 2
* [BaselineJIT] parse baseline builtin args

!229 parse baseline-jit bytecode v2.0
* [BaselineJIT] parse bytecode v2.0

!230 [BaselineJIT] remove including undefined_function file
* [BaselineJIT] remove including undefined_function file

!228 handle byte opcode of jmp v2
* [baseline jit]handle opcode of jmp V2

[BaselineJIT]rebase bugfix

Change-Id: I078298849139317dfa89fb139979c1b7d938b344

!231 [BaselineJIT] fix bugs about reading bytecode
* [BaselineJIT] fix bugs about read bytecode

!232 [BaselineJIT] fix bug about processing arguments in stub
* [BaselineJIT] fix bug about processing argument in baseline-stubs

!233 handle int64_t type in CallBuiltin
* [baseline jit]handle int64_t type in CallBuiltin

!234 [BaselineJIT] fix bug for StToGlobalRecordImm16ID16
* [BaselineJIT] fix bug for StToGlobalRecordImm16ID16

!235 [BaselineJIT] fix bugs about args type
* [BaselineJIT] fix type of args that passing to builtins

!236 [BaselineJIT] do not pass constpool to builtins
* [BaselineJIT] do not passing constpool to builtin

Change-Id: I8c46d70527a3fedd841d28ac1908a02d4a66edeb

!237 [baselineJit]Bugfix for sp used in JSCallDispatch and incorretc type
* [baselineJit]Bugfix for sp used in JSCallDispatch and incorretc type

Change-Id: I3f42ecd06266a20b2b145cfe98bcbd97a2848bab

[BaselineJIT] dump_test bugfix

Change-Id: I97d21960ca98cd1a6fc9b1e81b647ff9d8d5d0c2

[BaselineJIT]codecheck fix

Change-Id: I93eb02e45b70f4a5bfee84fec0c8e2cdc765d348

code check bugfix part2

Change-Id: I8680dd2c098193705709691fa78e8e6f3ad8cd6c

bugfix for review

Change-Id: I49b28e109530b9f8b403ba22ba39948e02834021

[BaselineJIT]change file folder

Change-Id: I1f46110a804f17270badcff7cdeb2058ca164161

[BaselineJIT]bugfix for review part2

Change-Id: I190406652697f9b17ac6c84dd706262046dbb5f7

!238 [BaselineJIT] fix more than 6 args builtins
*  [BaselineJIT] fix more than 6 args builtins

!239 [BaselineJIT] fix bug in parsing CALLTHISRANGE_IMM8_IMM8_V8
* [BaselineJIT] fix bug in parsing CALLTHISRANGE_IMM8_IMM8_V8

!240 [BaselineJIT] fix bug and add NewobjrangeImm8Imm8V8,NewobjrangeImm16Imm8V8
* [BaselineJIT] fix bug and add NewobjrangeImm8Imm8V8,NewobjrangeImm16Imm8V8

!241 [BaselineJIT] fix bug of ldnan, ldinfinity
* [BaselineJIT] fix bug of ldnan, ldinfinity

!242 [BaselineJIT] return JSCallDispatch result
* [BaselineJIT] return result of JSCallDispatch for baselinecode

!245 [BaselineJIT] fix builtins return value
* [BaselineJIT] fix builtins return value

!244 [BaselineJIT] save result to acc
* [BaselineJIT] save result to acc

!243 Bugfix for StlexvarImm4Imm4
* [baselineJit]Bugfix for StlexvarImm4Imm4

!246 [BaselineJIT] remove ldfunction
* [BaselineJIT] remove ldfunction

!248 [BaselineJIT] save result of DEFINECLASSWITHBUFFER_IMM8_ID16_ID16_IMM16_V8
* [BaselineJIT] fix return

!247 [baselineJit]Bugfix for Stlexvar and Ldlexvar
* [baselineJit]Bugfix for Stlexvar and Ldlexvar

!249 [BaselineJIT] Revert "!242[BaselineJIT] return JSCallDispatch result"
* Revert "!242 [BaselineJIT] return JSCallDispatch result"

!251 Bugfix for BaselineCreateobjectwithexcludedkeysImm8V8V8
* [baselineJit]Bugfix for BaselineCreateobjectwithexcludedkeysImm8V8V8

!252 [baselineJit]Bugfix for notException branch
* [baselineJit]Bugfix for notException branch

!250 [BaselineJIT] save result to acc in JSCallDispatch for baselinemethodcode
* [BaselineJIT] save result of JSCallDispatch to acc for baselinecode

!254 [BaselineJIT] fix type bug
* [BaselineJIT] fix type bug

!255 [BaselineJIT] fix bug of LDAI_IMM32
* [BaselineJIT] fix bug of LDAI_IMM32

!253 Bugfix for Poplexenv
* [baselineJit]Bugfix for Poplexenv

!256 [BaselineJIT] fix pc & refractor jscalldispatch for baseline-jit
* [BaselineJIT] fix pc of baseline-jit & refactor jscalldispatch for baseline-jit

!257 [BaselineJIT] replace indirectly jscalldispatch with jscalldispatchforbaseline
* [BaselineJIT] replace indirectly jscalldispatch with jscalldispatchforbaseline

!258 [BaselineJIT] fix using shl2 builtin bug
* [BaselineJIT] fix using shl2 builtin bug

!259 Bugfix and enable BaselineIstrue and BaselineIsFalse
* [baselineJit]Bugfix and enable BaselineIstrue and BaselineIsFalse

!260 [BaselineJIT]  fix bug about passing FUNC parameter
* [BaselineJIT] fix bug about passing FUNC parameter

!261 [BaselineJIT] support passing parameters by stack and fix offset param bug
* [BaselineJIT] support passing parameters by stack and fix offset param bug

!263 [BaselineJIT] fix parameters bug of LdobjbyvalueImm16V8 & StobjbyvalueImm16V8V8
* [BaselineJIT] fix parameters bug of LdobjbyvalueImm16V8 & StobjbyvalueImm16V8V8

!262 Bugfix for jump offset
* [baselineJit]Bugfix for jump offset

!264 [BaselineJIT] fix intermediates v8 parameters bug
* [BaselineJIT] fix intermediates v8 parameters bug

Change-Id: I8bf4fdf7621770a1976925423de23693570365c9

!267 [BaselineJIT] fix bug of BaselineInstanceofImm8V8
* [BaselineJIT] fix bug of BaselineInstanceofImm8V8

!269 [BaselineJIT] support NEWOBJRANGE_IMM16_IMM8_V8 & fix calling DefineMethod runtimeStub
* [BaselineJIT] support NEWOBJRANGE_IMM16_IMM8_V8 & fix calling DefineMe…

!268 [BaselineJIT]support update hotness
* [BaselineJIT]enable update hotness part2
* [BaselineJIT]support update hotness

Change-Id: I24b02a9e015df7263b1e9d7210377add0bfc558c

CI bugfix

Change-Id: I2d5aef07a1f14b3c64585790cff99d64be0d6396
Signed-off-by: w00443755 <wangzhilei2@huawei.com>
2024-04-21 17:58:55 +08:00