Replace 'operator*' with explicit 'get' method on SmartPointer
authoryurys@chromium.org <yurys@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 9 Dec 2013 07:41:20 +0000 (07:41 +0000)
committeryurys@chromium.org <yurys@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 9 Dec 2013 07:41:20 +0000 (07:41 +0000)
commitcd5ea747008c7ea063db1ab597e12824fe86f8b9
treeab6644ebe5f8b44b304c2f9e6c55ddf4cc04360c
parent17766404d510cf01a0c88db6a5f0eebbc009c133
Replace 'operator*' with explicit 'get' method on SmartPointer

Made operator* return reference to the raw type, not pointer. New method 'get()' should be used when raw pointer is needed.

Also removed useless inline modifier from the SmaprtPointer methods and added const modifier to the methods that don't change smart pointer.

Made ~SmartPointerBase protected to avoid accidental calls of the non-virtual base class's destructor.

drive-by: fixed use after free in src/factory.cc

BUG=None
LOG=N
R=alph@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
47 files changed:
src/arm/lithium-arm.cc
src/code-stubs-hydrogen.cc
src/code-stubs.cc
src/codegen.cc
src/compiler.cc
src/d8-debug.cc
src/d8-debug.h
src/debug-agent.cc
src/deoptimizer.cc
src/disassembler.cc
src/factory.cc
src/flags.cc
src/frames.cc
src/gdb-jit.cc
src/heap-profiler.cc
src/heap-profiler.h
src/heap-snapshot-generator.cc
src/hydrogen-dce.cc
src/hydrogen-gvn.cc
src/hydrogen-instructions.cc
src/hydrogen.cc
src/ia32/lithium-ia32.cc
src/isolate.cc
src/jsregexp.cc
src/lithium-allocator.cc
src/log.cc
src/messages.cc
src/mips/lithium-mips.cc
src/objects-printer.cc
src/objects.cc
src/parser.cc
src/regexp-macro-assembler-tracer.cc
src/runtime.cc
src/scopes.cc
src/smart-pointers.h
src/stub-cache.cc
src/x64/lithium-x64.cc
test/cctest/test-api.cc
test/cctest/test-cpu-profiler.cc
test/cctest/test-debug.cc
test/cctest/test-declarative-accessors.cc
test/cctest/test-func-name-inference.cc
test/cctest/test-heap-profiler.cc
test/cctest/test-parsing.cc
test/cctest/test-regexp.cc
test/cctest/test-reloc-info.cc
test/cctest/test-strings.cc