MIPS: Switch full-codegen from StackHandlers to handler table.
authorbalazs.kilvady <balazs.kilvady@imgtec.com>
Wed, 25 Mar 2015 14:41:23 +0000 (07:41 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 25 Mar 2015 14:41:30 +0000 (14:41 +0000)
commit03620298befb7083b80eeda7a8172ecc204fc758
tree787878a78a21897fd0e2ad691e49935e1a9de7bc
parentfc7ff65c6d8d1b75ad904ddea95110e91db2b987
MIPS: Switch full-codegen from StackHandlers to handler table.

Port 38a719f965d0a83ddac04392d5b9c5abe214281c

Original commit message:
This switches full-codegen to no longer push and pop StackHandler
markers onto the operand stack, but relies on a range-based handler
table instead. We only use StackHandlers in JSEntryStubs to mark the
transition from C to JS code.

Note that this makes deoptimization and OSR from within any try-block
work out of the box, makes the non-exception paths faster and should
overall be neutral on the memory footprint (pros).

On the other hand it makes the exception paths slower and actually
throwing and exception more expensive (cons).

TEST=cctest/test-run-jsexceptions/DeoptTry
BUG=

Review URL: https://codereview.chromium.org/1037743002

Cr-Commit-Position: refs/heads/master@{#27443}
src/mips/code-stubs-mips.cc
src/mips/full-codegen-mips.cc
src/mips/macro-assembler-mips.cc
src/mips/macro-assembler-mips.h
src/mips64/code-stubs-mips64.cc
src/mips64/full-codegen-mips64.cc
src/mips64/macro-assembler-mips64.cc
src/mips64/macro-assembler-mips64.h