v8/src/interpreter
Michael Starzinger fafd1cdd35 Move exception handler table into instruction stream.
This changes the encoding of the {HandlerTable} from an array of Smi
values to a byte array. It allows embedding of said array into the
instruction stream of {Code} objects (similar to how safepoint tables
work). For interpreted bytecode the table is attached as a {ByteArray}
to the bytecode.

The advantage of this approach is a more compact encoding and also the
ability to move such tables easily off the GC'ed heap if needed (as is
done for WebAssembly code for example).

R=jarin@chromium.org

Change-Id: I3320415dff69b3d1053825bda0d667a28232bf6d
Reviewed-on: https://chromium-review.googlesource.com/934642
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51589}
2018-02-27 10:20:35 +00:00
..
block-coverage-builder.h Reland "[coverage] add coverage for binary expressions" 2017-11-24 08:44:23 +00:00
bytecode-array-accessor.cc [Feedback Vector] Coalesce Nexii to Feedback Nexus. 2018-01-31 14:34:33 +00:00
bytecode-array-accessor.h [presubmit] Add include guard check 2018-02-02 16:59:32 +00:00
bytecode-array-builder.cc Move exception handler table into instruction stream. 2018-02-27 10:20:35 +00:00
bytecode-array-builder.h [cleanup] Move narrowly-used (and delete unused) globals.h types 2018-02-20 19:18:35 +00:00
bytecode-array-iterator.cc
bytecode-array-iterator.h
bytecode-array-random-iterator.cc
bytecode-array-random-iterator.h
bytecode-array-writer.cc Move exception handler table into instruction stream. 2018-02-27 10:20:35 +00:00
bytecode-array-writer.h Move exception handler table into instruction stream. 2018-02-27 10:20:35 +00:00
bytecode-decoder.cc
bytecode-decoder.h
bytecode-flags.cc
bytecode-flags.h
bytecode-generator.cc [class] Throw on private field access miss 2018-02-22 01:43:13 +00:00
bytecode-generator.h [cleanup] Move narrowly-used (and delete unused) globals.h types 2018-02-20 19:18:35 +00:00
bytecode-jump-table.h
bytecode-label.cc
bytecode-label.h
bytecode-node.cc
bytecode-node.h
bytecode-operands.cc
bytecode-operands.h
bytecode-register-allocator.h [Interpreter] Make RegisterList constructor private to avoid missue. 2017-12-13 13:15:35 +00:00
bytecode-register-optimizer.cc [Interpreter] Make RegisterList constructor private to avoid missue. 2017-12-13 13:15:35 +00:00
bytecode-register-optimizer.h [ignition] Change RestoreGeneratorRegisters to ResumeGenerator 2018-01-11 11:25:04 +00:00
bytecode-register.cc
bytecode-register.h [Interpreter] Make RegisterList constructor private to avoid missue. 2017-12-13 13:15:35 +00:00
bytecode-source-info.cc
bytecode-source-info.h
bytecode-traits.h
bytecodes.cc [Interpreter] Refactor bytecode register access. 2018-01-26 14:00:58 +00:00
bytecodes.h [esnext] implement spec change to TaggedTemplate callsite caching 2018-02-12 17:06:18 +00:00
constant-array-builder.cc Refactor FATAL macro 2017-12-19 07:57:12 +00:00
constant-array-builder.h [class] Store class fields initializer on the constructor 2017-11-27 10:35:11 +00:00
control-flow-builders.cc [ignition] Move suspend_id assignment to bytecode generation 2018-01-24 12:02:09 +00:00
control-flow-builders.h [ignition] Move suspend_id assignment to bytecode generation 2018-01-24 12:02:09 +00:00
handler-table-builder.cc Move exception handler table into instruction stream. 2018-02-27 10:20:35 +00:00
handler-table-builder.h Move exception handler table into instruction stream. 2018-02-27 10:20:35 +00:00
interpreter-assembler.cc [cleanup] Rename Word to Int32/IntPtr depending on context 2018-02-23 14:34:07 +00:00
interpreter-assembler.h [Ignition] [TurboFan] Generate speculation poison in code generator. 2018-02-12 09:26:58 +00:00
interpreter-generator.cc [cleanup] Rename Word to Int32/IntPtr depending on context 2018-02-23 14:34:07 +00:00
interpreter-generator.h
interpreter-intrinsics-generator.cc [Interpreter] Use CSA::Select instead of branches 2018-02-23 16:44:52 +00:00
interpreter-intrinsics-generator.h [Interpreter] Refactor bytecode register access. 2018-01-26 14:00:58 +00:00
interpreter-intrinsics.cc
interpreter-intrinsics.h [async-await] Turn await closures into intrinsics. 2018-02-20 06:39:01 +00:00
interpreter.cc [heap] Add description parameter to RootVisitor methods. 2018-02-14 10:17:34 +00:00
interpreter.h [test] Add interrupt-budget fuzzer 2018-01-29 16:31:40 +00:00
OWNERS
setup-interpreter-internal.cc
setup-interpreter.h