Keep a canonical list of shared function infos.
authoryangguo <yangguo@chromium.org>
Fri, 19 Jun 2015 14:40:22 +0000 (07:40 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 19 Jun 2015 14:40:32 +0000 (14:40 +0000)
commitc1669450834436508e0007885eb7ac266cbcf083
treec9839b897d53deae888041cf2f873c763ccd3fe3
parentb61e9812c33d596ebb3c6c633f31b2aead67e8ae
Keep a canonical list of shared function infos.

Each Script object now keeps a WeakFixedArray of SharedFunctionInfo
objects created from this script.

This way, when compiling a function, we do not create duplicate shared
function info objects when recompiling with either compiler.

This fixes a class of issues in the debugger, where we set break points
on one shared function info, but functions from duplicate shared function
infos are not affected.

LOG=N
BUG=v8:4132

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

Cr-Commit-Position: refs/heads/master@{#29151}
29 files changed:
src/arm/full-codegen-arm.cc
src/arm64/full-codegen-arm64.cc
src/ast.cc
src/ast.h
src/bootstrapper.cc
src/codegen.h
src/compiler.cc
src/compiler.h
src/compiler/ast-graph-builder.cc
src/debug.cc
src/factory.cc
src/full-codegen.cc
src/hydrogen.cc
src/ia32/full-codegen-ia32.cc
src/liveedit.cc
src/mips/full-codegen-mips.cc
src/mips64/full-codegen-mips64.cc
src/objects-inl.h
src/objects-printer.cc
src/objects.cc
src/objects.h
src/ppc/full-codegen-ppc.cc
src/runtime/runtime-function.cc
src/snapshot/serialize.cc
src/typing.cc
src/x64/full-codegen-x64.cc
src/x87/full-codegen-x87.cc
test/cctest/test-heap.cc
test/mjsunit/regress/regress-4121.js