Commit Graph

12118 Commits

Author SHA1 Message Date
machenbach@chromium.org
6f5596be76 Remove test from blacklist that should pass.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 07:54:56 +00:00
palfia@homejinni.com
b2f6ef4f98 MIPS: Fix wrong checkin.
This commit fixes r15396.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 19:52:44 +00:00
palfia@homejinni.com
ecfdd87c8b MIPS: Improved function entry hook coverage.
Port r15384 (d553efd)

Original commit message:
Adds more coverage for function entry hook, sufficient to capture profiles
that are contiguous from C++, through JS and back out to C++.

BUG=

Review URL: https://codereview.chromium.org/18184011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 18:34:08 +00:00
palfia@homejinni.com
081a9d1791 MIPS: Hydrogen array constructor cleanup and improvements.
Port r15383 (3e90aaf)

Original commit message:
* Cleanup of LCallNewArray::PrintDataTo() method
* Created HCallNewArray::PrintDataTo()
* Created many more tests in array-constructor-feedback.js
* Removed redundant instructions in
GenerateRecordCallTarget
* Bugfix in CreateArrayDispatchOneArgument: on a call to
new Array(0), we'd like to set the type feedback cell to
a packed elements kind, but we shouldn't do it if the
cell contains the megamorphic sentinel.
* When used from crankshaft, ArrayConstructorStubs can
avoid verifying that the function being called is the
array function from the current native context, relying
instead on the fact that crankshaft issues an
HCheckFunction to protect the constructor call. (this
new minor key is used in LCodeGen::DoCallNewArray(), and
influences code generation in
CodeStubGraphBuilderBase::BuildArrayConstructor()).
* Optimization: the array constructor specialized for
FAST_SMI_ELEMENTS can save some instructions by looking
up the correct map on the passed in constructor, rather
than indexing into the array of cached maps per element
kind.

BUG=

Review URL: https://codereview.chromium.org/18191007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 17:16:17 +00:00
mstarzinger@chromium.org
c28a6c9ea2 Use HInstructionIterator more broadly for hydrogen.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 16:31:11 +00:00
mstarzinger@chromium.org
8b976da60e First simplistic implementation of escape analysis.
R=jkummerow@chromium.org, titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 16:09:54 +00:00
jkummerow@chromium.org
05b94f13c8 Add %_DebugBreakInOptimizedCode() pseudo function call to insert int3/stop instructions into optimized code
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 15:48:38 +00:00
jkummerow@chromium.org
c7a9bffbcf Clean up the usage of V8_TARGET_ARCH_${arch} and V8_HOST_ARCH_${arch}
R=jkummerow@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 15:34:48 +00:00
jkummerow@chromium.org
d8fbf59a7d Use macros instead of using number directly for x64
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 15:26:01 +00:00
jkummerow@chromium.org
2fb7ab5530 Introduce a notion of "v8_code" in gyp config files.
This allows for compiling third-party code (such as ICU) with less
strict flags.

BUG=v8:2745
R=jkummerow@chromium.org

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 15:22:46 +00:00
jkummerow@chromium.org
ae8fee5aca Roll gyp to r1656
r1656 contains a bug fix for the make generator to correctly regenerate
Makefiles if a gyp was touched. Before, it would assume that it is
running in the top-level directory. However, the v8 standalone build
puts the generated Makefile into the out subdirectory, and so gyp
failed to locate the gyp binary.

BUG=none
R=jkummerow@chromium.org

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 15:20:07 +00:00
mstarzinger@chromium.org
f1f628ea09 Prepare push to trunk. Now working on version 3.20.1.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 13:58:15 +00:00
danno@chromium.org
1642f32d1c Improved function entry hook coverage
Adds more coverage for function entry hook, sufficient to capture profiles that are contiguous from C++, through JS and back out to C++.

R=danno@chromium.org

Committed: http://code.google.com/p/v8/source/detail?r=15361

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

Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 13:40:41 +00:00
mvstanton@chromium.org
83519ec87a Hydrogen array constructor cleanup and improvements
* Cleanup of LCallNewArray::PrintDataTo() method
* Created HCallNewArray::PrintDataTo()
* Created many more tests in array-constructor-feedback.js
* Removed redundant instructions in
  GenerateRecordCallTarget
* Bugfix in CreateArrayDispatchOneArgument: on a call to
  new Array(0), we'd like to set the type feedback cell to
  a packed elements kind, but we shouldn't do it if the
  cell contains the megamorphic sentinel.
* When used from crankshaft, ArrayConstructorStubs can
  avoid verifying that the function being called is the
  array function from the current native context, relying
  instead on the fact that crankshaft issues an
  HCheckFunction to protect the constructor call. (this
  new minor key is used in LCodeGen::DoCallNewArray(), and
  influences code generation in
  CodeStubGraphBuilderBase::BuildArrayConstructor()).
* Optimization: the array constructor specialized for
  FAST_SMI_ELEMENTS can save some instructions by looking
  up the correct map on the passed in constructor, rather
  than indexing into the array of cached maps per element
  kind.

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 13:16:14 +00:00
machenbach@chromium.org
99702a81ec Repair test file with newline problems.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 13:10:58 +00:00
alph@chromium.org
7b57b624d1 Heap snapshot: Update user roots definition.
Do not define an object as a user root if its context is not
present in Global handles.

R=mstarzinger@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 12:53:52 +00:00
bmeurer@chromium.org
e029039b69 Fix GCC 4.2 errors introduced with revision 15379.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 12:28:39 +00:00
bmeurer@chromium.org
382ec92f2a Make use of templatized convienience functions for adding Hydrogen instructions.
Building on the previous changes from https://codereview.chromium.org/18050004/
this patch makes even more use of the templatized functions for adding
Hydrogen instructions.

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 11:44:16 +00:00
yangguo@chromium.org
85d7a36ee0 Abort optimization when debugger is turned on.
BUG=v8:2751
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 11:34:51 +00:00
machenbach@chromium.org
f3b458b472 Delete test file with newline problems.
The file contains the combinations CRLF LFCR CR and LF, and it looks like git automatically changed them to LF in the last dcommit.

See also http://www.dont-panic.cc/capi/2009/02/16/how-to-force-git-to-consider-a-file-as-binary/

The file is going to be added again in a different issue with an additional .gitattributes file to treat it as binary.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 11:25:26 +00:00
yangguo@chromium.org
41cac47d57 Avoid data race in debug mode on the parallel thread.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 11:24:27 +00:00
jkummerow@chromium.org
bf632a8364 Fast-forward version number on bleeding_edge to 3.20.0
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 10:55:25 +00:00
machenbach@chromium.org
de8102d0dc Skip webkit tests in debug that are very slow.
Duration for each is between 14 s and 160 s.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 10:32:43 +00:00
bmeurer@chromium.org
f11af230e8 Refactor HInferRepresentation into an HPhase and use the phase zone.
Rename HInferRepresentation to HInferRepresentationPhase,
following naming scheme suggested by danno@chromium.org in
https://codereview.chromium.org/17458002

The HInferRepresentationPhase now uses the phase zone for all its
allocations.

Depends on https://codereview.chromium.org/17587008

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 07:40:35 +00:00
bmeurer@chromium.org
a46528e820 Fix zone usage within LAllocator.
Previously all allocations in the register allocator were done on the
chunk (and graph) zone, even those that did not need to survive past
the register allocation. Now only allocations that need to survive
use the chunk zone, all other allocations use a separate zone local
to the LAllocator.

Depends on https://codereview.chromium.org/18022002

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 07:36:43 +00:00
ulan@chromium.org
50b59eeb72 Fix Android V8 path for testing on devices.
This allows to run tests in production Android builds.

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18087002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 07:31:23 +00:00
machenbach@chromium.org
69590a370f Migrated several tests from blink to V8 repository.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 20:02:04 +00:00
machenbach@chromium.org
a643f86719 Make webkit test output comparison compatible to stress testing.
In stress testing, the output is repeated several times. In this case, it is now compared several times to the actual output.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 19:45:45 +00:00
palfia@homejinni.com
ee67afee93 MIPS: The check for internalized strings relied on the fact that we had less than 64 distinct InstanceTypes.
Port r15358 (3af77be)

Original commit message:
The check for internalized strings relied on the fact that we had less
than 64 distinct InstanceTypes. We are hitting that boundary, so this
check needs to be more comprehensive. In fact, two bits need to be
tested: verify that kNotStringTag isn't set, and that kInternalizedTag
is set.

BUG=

Review URL: https://codereview.chromium.org/18083004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 19:19:48 +00:00
danno@chromium.org
eb2fc68835 Remove superfluous HInnerAllocatedObject in BuildEmitDeepCopy
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 16:07:55 +00:00
danno@chromium.org
5b1ccfb952 Type handling for special cases and optimization
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 15:31:49 +00:00
ulan@chromium.org
475131b2b9 Revert r15361 "Improved function entry hook coverage" because of ARM build error.
R=siggi@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/18062006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 15:31:06 +00:00
hpayer@chromium.org
a32277c4ba Turn off stress compaction for break point tests.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 15:19:04 +00:00
hpayer@chromium.org
2957b2fdf8 Fix check style breakage.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 15:17:55 +00:00
yangguo@chromium.org
3ff7ab9ead Fix constructor call of relocation lock.
R=yangguo@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 14:44:36 +00:00
danno@chromium.org
8494f3bf25 Improved function entry hook coverage
Adds more coverage for function entry hook, sufficient to capture profiles that are contiguous from C++, through JS and back out to C++.

R=danno@chromium.org

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

Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 14:39:37 +00:00
danno@chromium.org
f95ddc8891 Add templatized convienience functions for adding hydrogen instructions
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 14:36:14 +00:00
danno@chromium.org
3b60d6de8e Make sure HCallNewArray uses right ElementsKind
Close a small gc window that exists between when a HNewArrayCall instruction is
created and the ElementsKind type feedback for the construction function is
accesses.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 14:22:07 +00:00
mvstanton@chromium.org
6aed526733 The check for internalized strings relied on the fact that we had less
than 64 distinct InstanceTypes. We are hitting that boundary, so this
check needs to be more comprehensive. In fact, two bits need to be
tested: verify that kNotStringTag isn't set, and that kInternalizedTag
is set.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 13:39:44 +00:00
danno@chromium.org
c35dbc30cb Generalize utilities to allow code templatization
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 13:36:15 +00:00
bmeurer@chromium.org
2f81a79d5a Refactor Hydrogen environment liveness analysis into an HPhase.
Rename EnvironmentSlotLivenessAnalyzer to HEnvironmentLivenessAnalysisPhase,
following naming scheme suggested by danno@chromium.org in
https://codereview.chromium.org/17458002

The environment slot liveness analysis now uses the phase zone for
all its allocations.

Depends on https://codereview.chromium.org/18034003

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 13:15:10 +00:00
bmeurer@chromium.org
32f5e099d4 Add templatized Run() method for Hydrogen phases.
Depends upon https://codereview.chromium.org/17657004

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 13:13:18 +00:00
bmeurer@chromium.org
dce010395d Turn zone_excess_limit_ into a constant.
The zone_excess_limit_ is not changed at runtime, and there seems to
be no obvious reason to do so in the future.

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 13:10:43 +00:00
bmeurer@chromium.org
98786ae073 Refactor Hydrogen GVN into an HPhase and use the phase zone.
The HGlobalValueNumberer class is renamed to HGlobalValueNumberingPhase,
following the naming scheme suggested by danno@chromium.org in
https://codereview.chromium.org/17458002

The GVN phase now uses the phase zone for all its allocations.

Depends upon https://codereview.chromium.org/18022002

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 13:09:08 +00:00
bmeurer@chromium.org
073b1d1dfb Move phase_zone from CompilationInfo to CompilationPhase.
Each CompilationPhase has its own zone, used for phase local
allocations. The zone of CompilationInfo should only be used
for non phase local allocations.

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 13:03:01 +00:00
bmeurer@chromium.org
63812f9dc3 Fix the compilation of gdbjit
R=bmeurer@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 11:38:37 +00:00
bmeurer@chromium.org
16e11141a8 Add myself to OWNERS.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 11:37:47 +00:00
yurys@chromium.org
52d848bce7 Extract StackFrameIteratorBase
This change introduces StackFrameIteratorBase which owns singleton frame instances and encapsulates some basic iterator functionality. It has two actual implementations: StackFrameIterator and SafeStackFrameIterator.

All logic specific to frame iteration at a random point (basically checks that fp and sp extracted from stack frames are within current stack boundaries) used only by CPU profiler is now concentrated in SafeStackFrameIterator.

Generic stack iteration used in all other places is put into StackFrameIterator. Also this iterator unlike SafeStackFrameIterator iterates through stack handlers.

StackAddressValidator and ExitFrameValidator classes were removed in favor of inline checks and simple methods.

BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 09:34:31 +00:00
yurys@chromium.org
4aeccdb23e Do not iterate stack handlers in SafeStackFrameIterator
CPU profiler doesn't use stack handlers so there is no need to iterate through them while traversing stack. This change SafeStackFrameIterator always iterate only frames and removes checks corresponding to the handlers iteration.

The problem described in the bug occurred because of a false assumption in SafeStackFrameIterator that if Isolate::c_entry_fp is not NULL then the top frame on the stack is always a C++ frame. It is false because we may have entered JS code again, in which case JS_ENTRY code stub generated by JSEntryStub::GenerateBody() will save current c_entry_fp value but not reset it to NULL and after that it will create ENTRY stack frame and JS_ENTRY handler on the stack and put the latter into Isolate::handler(top). This means that if we start iterating from c_entry_fp frame and try to compare the frame's sp with Isolate::handler()->address() it will turn out that frame->sp() > handler->address() and the condition in SafeStackFrameIterator::CanIterateHandles is not held.

BUG=252097
R=loislo@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 09:28:11 +00:00
titzer@chromium.org
98f3dab73b Fix elements-kind test to disable optimization of important functions under test; add simpler versions of elements kind test.
Review URL: https://codereview.chromium.org/17872002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 08:46:46 +00:00