Alexander Markov
6d0601a72b
[vm/bytecode] Add bytecodes for int operations and '== null'
...
DeltaBlue performance in pure interpreted mode
(--enable-interpreter --compilation-counter-threshold=-1):
Before: DeltaBlue(RunTime): 269198.732 us.
After: DeltaBlue(RunTime): 158216.34376923076 us. (-41.23%)
Change-Id: I9dea8d7949421986ee6fbdeae046fe4ef6d3227f
Reviewed-on: https://dart-review.googlesource.com/c/77231
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2018-10-03 15:45:36 +00:00
Régis Crelier
012b7050e5
[VM interpreter] Use a helper to test entry frame pc marker.
...
Change-Id: I6256f0337d2ab84722d32d4e6af97b966c619162
Reviewed-on: https://dart-review.googlesource.com/75987
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2018-09-21 20:10:45 +00:00
Alexander Markov
c6c4748185
[vm/bytecode] Bytecode compilation
...
Change-Id: I09192e4e929a397920c217b605580f8c4880e7c2
Reviewed-on: https://dart-review.googlesource.com/74002
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2018-09-14 22:02:29 +00:00
Zach Anderson
b4004f6476
[vm] Reland: Move the interpreter under a flag.
...
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.
Reland with fix to NativeArgument setup in simulator_arm.cc
Change-Id: Ib9b4df6eb4d997dfbe361188b8a127828c1d9c6f
Reviewed-on: https://dart-review.googlesource.com/74003
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-09-07 19:25:31 +00:00
Zach Anderson
21406f576a
Revert "[vm] Move the interpreter under a flag."
...
This reverts commit 715ab7b30b .
Reason for revert: simarm and kernel precomp builds failing
Original change's description:
> [vm] Move the interpreter under a flag.
>
> After this CL, the interpreter is included by default in the
> JIT VM under the flag --enable-interpreter.
>
> Change-Id: I06458f20288d67981822788ee6e867c2127ebdd3
> Reviewed-on: https://dart-review.googlesource.com/71800
> Commit-Queue: Zach Anderson <zra@google.com >
> Reviewed-by: Alexander Markov <alexmarkov@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Reviewed-by: Régis Crelier <regis@google.com >
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,alexmarkov@google.com ,zra@google.com ,asiva@google.com ,regis@google.com
Change-Id: I3622f4dbe53288d07fc21b34ee5ff68f2682b36d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/74001
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-09-07 17:14:21 +00:00
Zach Anderson
715ab7b30b
[vm] Move the interpreter under a flag.
...
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.
Change-Id: I06458f20288d67981822788ee6e867c2127ebdd3
Reviewed-on: https://dart-review.googlesource.com/71800
Commit-Queue: Zach Anderson <zra@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-09-07 16:46:07 +00:00
Régis Crelier
e434142df0
[VM interpreter] Isolate may be NULL in thread.
...
This fixes a crash in StackFrameIterator when using interpreter.
Prevent timeout in thread test when using interpreter.
Adjust kernel status file for known issue.
Change-Id: I9e28675a3532153df24456e65407a8ce73503928
Reviewed-on: https://dart-review.googlesource.com/71222
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2018-08-22 22:11:42 +00:00
Régis Crelier
14f3982a1f
[VM runtime] Remove broken LongJumpScope::IsSafeToJump().
...
Over the years, this debug-only code evolved to check that the current stack
pointer is below the last exit frame, which is obviously always the case.
Change-Id: I9b5e1a5462df5b3392b4541e40a9c57d33d25055
Reviewed-on: https://dart-review.googlesource.com/70960
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2018-08-21 19:29:09 +00:00
Régis Crelier
9be82b92ab
[VM interpreter] Support inline type check of implicit setter value.
...
Change-Id: I2c357a638308f15d83d284a85623b550395a6f4e
Reviewed-on: https://dart-review.googlesource.com/64825
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-07-16 20:33:41 +00:00
Régis Crelier
f793a60790
[VM interpreter] Improve transition from jitted code to interpreted code.
...
Arguments are not copied anymore into an array allocated for each transition.
Change-Id: Ib9e708737de6cc0d221c53f2b003e0d4040b17fc
Reviewed-on: https://dart-review.googlesource.com/64664
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-07-12 18:58:24 +00:00
Régis Crelier
008aa729c5
[VM interpreter] Support implicit getters and setters without compiling them.
...
Change-Id: I1e61cd79f66efe55c963d970e27f81a9d4084600
Reviewed-on: https://dart-review.googlesource.com/61860
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-06-26 20:24:38 +00:00
Régis Crelier
686fd133a7
[VM interpreter] Propagate unhandled exception returned from jitted code to interpreter.
...
Change-Id: I1d6426b6af7a0efbda1ef3a9b8c838d3b0119063
Reviewed-on: https://dart-review.googlesource.com/60520
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-06-18 19:22:05 +00:00
Régis Crelier
4b8af662fc
[VM interpreter] Generation of pc descriptors, exception handlers for bytecode.
...
Fixes in stack unwinding and frame iteration.
Change-Id: Ic67eb5727512138cbfa9313094d48e21384b220c
Reviewed-on: https://dart-review.googlesource.com/59520
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-06-11 23:43:49 +00:00
Régis Crelier
57dc25c6f6
[VM interpreter] Initial version of stack walking of interpreted frames.
...
Various improvements and bug fixes.
Change-Id: Ice0ce0ba8db8c9f78b9fad89f951218c90c831b7
Reviewed-on: https://dart-review.googlesource.com/57443
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-06-04 18:37:30 +00:00
Régis Crelier
41fcbd097c
[VM runtime] Initial version of Kernel Bytecode interpreter in VM runtime.
...
Not fully working yet, only x64, no gc, no frame walking, etc...
Change-Id: I4d8357f6d46371bf21c3d54266cfe26163e3c8dc
Reviewed-on: https://dart-review.googlesource.com/50021
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-05-09 20:29:27 +00:00