platform/upstream/v8.git
11 years agoRemove redundant jump to deoptimization (the jump already exists in DoCheckMapCommon)
danno@chromium.org [Mon, 29 Oct 2012 11:45:40 +0000 (11:45 +0000)]
Remove redundant jump to deoptimization (the jump already exists in DoCheckMapCommon)
BUG=none
TEST=none

Review URL: https://codereview.chromium.org/11265044
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix ugly typo in GenerateNewNonStrictFast.
mstarzinger@chromium.org [Fri, 26 Oct 2012 10:55:25 +0000 (10:55 +0000)]
Fix ugly typo in GenerateNewNonStrictFast.

R=svenpanne@chromium.org
BUG=chromium:157520
TEST=mjsunit/regress/regress-crbug-157520

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix code flusher to process weak function links.
mstarzinger@chromium.org [Fri, 26 Oct 2012 09:44:34 +0000 (09:44 +0000)]
Fix code flusher to process weak function links.

This fixes a corner case where weak function links of the code flushing
candidates list were destroyed by scavenges that happened during
incremental marking. Now those weak function links are updated while
scavenging happens.

R=ulan@chromium.org
TEST=cctest/test-heap/TestCodeFlushingIncrementalScavenge

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRelax test expectations for json-recursive.js
yangguo@chromium.org [Fri, 26 Oct 2012 07:52:18 +0000 (07:52 +0000)]
Relax test expectations for json-recursive.js

R=mvstanton@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUpdate ReceiverObjectNeedsWriteBarrier to include HFastLiteral
mstarzinger@chromium.org [Thu, 25 Oct 2012 15:45:24 +0000 (15:45 +0000)]
Update ReceiverObjectNeedsWriteBarrier to include HFastLiteral
This will prevent unnecessary write barriers for literals.
BUG=none
TEST=none

Review URL: https://codereview.chromium.org/11143005
Patch from Derek J Conrod <dconrod@codeaurora.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSet kChangesNewSpacePromotion for HStringAdd
mstarzinger@chromium.org [Thu, 25 Oct 2012 15:23:39 +0000 (15:23 +0000)]
Set kChangesNewSpacePromotion for HStringAdd
TEST=none
BUG=none

Review URL: https://codereview.chromium.org/11143006
Patch from Derek J Conrod <dconrod@codeaurora.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSet up Proxy methods the proper way.
rossberg@chromium.org [Thu, 25 Oct 2012 15:13:44 +0000 (15:13 +0000)]
Set up Proxy methods the proper way.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoInitial JS stub implementation of Object.observe. Adds support for .object/.unobserve...
rossberg@chromium.org [Thu, 25 Oct 2012 14:56:44 +0000 (14:56 +0000)]
Initial JS stub implementation of Object.observe. Adds support for .object/.unobserve/.notify/.deliverChangeRecords. No delivery mechanism is implemented for end-of-microtask.

Review URL: https://codereview.chromium.org/11225058
Patch from Rafael Weinstein <rafaelw@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoInitial JS stub implementation of Object.observe. Adds support for .object/.unobserve...
rossberg@chromium.org [Thu, 25 Oct 2012 14:53:26 +0000 (14:53 +0000)]
Initial JS stub implementation of Object.observe. Adds support for .object/.unobserve/.notify/.deliverChangeRecords. No delivery mechanism is implemented for end-of-microtask.

Review URL: https://codereview.chromium.org/11225058
Patch from Rafael Weinstein <rafaelw@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix test failures in r12813.
mstarzinger@chromium.org [Thu, 25 Oct 2012 13:54:10 +0000 (13:54 +0000)]
Fix test failures in r12813.

R=yangguo@chromium.org
BUG=v8:1490

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRelax test expectations to appease mac build.
yangguo@chromium.org [Thu, 25 Oct 2012 12:39:41 +0000 (12:39 +0000)]
Relax test expectations to appease mac build.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCatch stack overflow in JSON.parse.
yangguo@chromium.org [Thu, 25 Oct 2012 12:36:40 +0000 (12:36 +0000)]
Catch stack overflow in JSON.parse.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoExpose gc(true) to JavaScript, which triggers a scavenger GC.
mstarzinger@chromium.org [Thu, 25 Oct 2012 12:23:03 +0000 (12:23 +0000)]
Expose gc(true) to JavaScript, which triggers a scavenger GC.

With the --expose_gc option, gc() is exposed to JavaScript. Currently gc() triggers a full GC.

To enable JavaScript to test the behavior of a scavenger GC, this patch exposes gc(true). If the first argument is true, gc(...) triggers a scavenger GC. Otherwise, gc(...) triggers a full GC.

BUG=
Test=Manually confirmed that gc() and gc(false) trigger a full GC and that gc(true) triggers a scavenger GC.

Review URL: https://codereview.chromium.org/11232065
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCorrectly check for stack limit in JSON.stringify.
yangguo@chromium.org [Thu, 25 Oct 2012 12:18:24 +0000 (12:18 +0000)]
Correctly check for stack limit in JSON.stringify.

Changes include:
 - inline functions in a way as not to waste stack space.
 - reset StackReserveSize to the value prior to r12808.
 - check stack overflow dynamically.

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoGet rid of obsolete unchecked accessors.
mstarzinger@chromium.org [Thu, 25 Oct 2012 11:52:37 +0000 (11:52 +0000)]
Get rid of obsolete unchecked accessors.

R=yangguo@chromium.org
BUG=v8:1490

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix memory leak in RegExpStack.
ulan@chromium.org [Thu, 25 Oct 2012 11:10:13 +0000 (11:10 +0000)]
Fix memory leak in RegExpStack.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFast-forward to version 3.15.0
danno@chromium.org [Thu, 25 Oct 2012 10:53:35 +0000 (10:53 +0000)]
Fast-forward to version 3.15.0

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix typo in V8::MarkIndependent()
mstarzinger@chromium.org [Thu, 25 Oct 2012 10:07:26 +0000 (10:07 +0000)]
Fix typo in V8::MarkIndependent()

BUG=

Review URL: https://codereview.chromium.org/11238064
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix memory leak in DeoptimizerData.
ulan@chromium.org [Thu, 25 Oct 2012 09:35:55 +0000 (09:35 +0000)]
Fix memory leak in DeoptimizerData.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix stack overflow in JSON.stringify.
yangguo@chromium.org [Wed, 24 Oct 2012 15:49:59 +0000 (15:49 +0000)]
Fix stack overflow in JSON.stringify.

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDefine CAN_USE_ARMV7_INSTRUCTIONS if armv7 gyp flag is set.
ulan@chromium.org [Wed, 24 Oct 2012 12:38:24 +0000 (12:38 +0000)]
Define CAN_USE_ARMV7_INSTRUCTIONS if armv7 gyp flag is set.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEnable shared library on android
ulan@chromium.org [Wed, 24 Oct 2012 12:11:15 +0000 (12:11 +0000)]
Enable shared library on android

This change fixed link errors in building shared library
for android. crtbegin_so.o is added to resolve dso_handle
and exclude-libs option is removed for shared library.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd json-stringifier.h to v8.gyp.
yangguo@chromium.org [Wed, 24 Oct 2012 09:56:01 +0000 (09:56 +0000)]
Add json-stringifier.h to v8.gyp.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse correct timezone information on Solaris
yangguo@chromium.org [Tue, 23 Oct 2012 13:04:05 +0000 (13:04 +0000)]
Use correct timezone information on Solaris

`timezone` variable contains the difference, in seconds, between UTC and
local standard time (see `man 3 localtime` on Solaris).

Call to `tzset` is required to apply contents of `TZ` variable to
`timezone` variable.

BUG=v8:2064

Review URL: https://chromiumcodereview.appspot.com/10967066
Patch from Maciej MaƂecki <me@mmalecki.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix Windows 64 build.
yangguo@chromium.org [Tue, 23 Oct 2012 12:00:42 +0000 (12:00 +0000)]
Fix Windows 64 build.

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix Windows build.
yangguo@chromium.org [Tue, 23 Oct 2012 09:39:19 +0000 (09:39 +0000)]
Fix Windows build.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoOptimize inner-loop in JSON.stringify.
yangguo@chromium.org [Tue, 23 Oct 2012 09:05:56 +0000 (09:05 +0000)]
Optimize inner-loop in JSON.stringify.

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix tools/run-tests.py --report when tests are specified on the command line
jkummerow@chromium.org [Tue, 23 Oct 2012 08:59:53 +0000 (08:59 +0000)]
Fix tools/run-tests.py --report when tests are specified on the command line

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEnable incremental code flushing.
mstarzinger@chromium.org [Tue, 23 Oct 2012 08:25:04 +0000 (08:25 +0000)]
Enable incremental code flushing.

This enables code flushing even with incremental marking enabled and
fully shares the function link field in JSFunctions between candidates
for code flushing and the optimized functions list. If a candidate for
code flushing gets optimized, it will be evicted from the candidates
list.

R=ulan@chromium.org
BUG=v8:1609

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPretenure JSON graph if the input string is larger than 100*1024 chars.
verwaest@chromium.org [Tue, 23 Oct 2012 08:06:28 +0000 (08:06 +0000)]
Pretenure JSON graph if the input string is larger than 100*1024 chars.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd a type conversion to fix Windows build after r12793
alexeif@chromium.org [Mon, 22 Oct 2012 18:25:10 +0000 (18:25 +0000)]
Add a type conversion to fix Windows build after r12793

TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImplement committed physical memory stats for Linux.
mstarzinger@chromium.org [Mon, 22 Oct 2012 16:33:10 +0000 (16:33 +0000)]
Implement committed physical memory stats for Linux.

The patch introduces CommittedPhysicalMemory function to
the Heap class that reports committed *physical* memory acquired
for the heap from the OS.
It is important because some OSes may defer actual committment on e.g.
first access to the region.
So reporting just plain committed size led to various weird artifacts
like showing V8 allocated memory higher than the whole process
private size.

BUG=v8:2191

Review URL: https://codereview.chromium.org/11066118
Patch from Alexei Filippov <alph@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix warnings about tautological compares by recent Clang versions.
ulan@chromium.org [Mon, 22 Oct 2012 15:59:58 +0000 (15:59 +0000)]
Fix warnings about tautological compares by recent Clang versions.

This fixes the following Clang warnings:

../../v8/src/ia32/assembler-ia32.cc:1504:24: warning: comparison of constant 16 with expression of type 'v8::internal::Condition' is always true [-Wtautological-constant-out-of-range-compare]
  ASSERT(0 <= cc && cc < 16);
  ~~~~~~~~~~~~~~~~~~~~~^~~~~

../../v8/src/ia32/assembler-ia32.cc:1536:27: warning: comparison of constant 16 with expression of type 'v8::internal::Condition' is always true [-Wtautological-constant-out-of-range-compare]
  ASSERT((0 <= cc) && (cc < 16));
  ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~

BUG=crbug.com/151927

Review URL: https://chromiumcodereview.appspot.com/11225030
Patch from Hans Wennborg <hans@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoChange constant pool marker to be the unconditional, permanently undefined instruction.
ulan@chromium.org [Mon, 22 Oct 2012 15:25:17 +0000 (15:25 +0000)]
Change constant pool marker to be the unconditional, permanently undefined instruction.

The previously-used instruction isn't guaranteed to always be undefined,
and the encoding used was conditional (failing the condition on an
undefined instruction is itself undefined and not guaranteed to
fault!). I would have like to use a more clever encoding (see bug 2963),
but we need the extra bits to encode the size of the constant pool.

BUG=security
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11242002
Patch from JF Bastien <jfb@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReland JSON.stringify reimplementation.
yangguo@chromium.org [Mon, 22 Oct 2012 14:22:58 +0000 (14:22 +0000)]
Reland JSON.stringify reimplementation.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agotools/run-tests.py: A few timeout-related fixes
jkummerow@chromium.org [Mon, 22 Oct 2012 14:13:01 +0000 (14:13 +0000)]
tools/run-tests.py: A few timeout-related fixes

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.14.6.
rossberg@chromium.org [Mon, 22 Oct 2012 13:09:01 +0000 (13:09 +0000)]
Prepare push to trunk.  Now working on version 3.14.6.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix deletion of hidden property with inline-stored hash.
mstarzinger@chromium.org [Mon, 22 Oct 2012 12:50:51 +0000 (12:50 +0000)]
Fix deletion of hidden property with inline-stored hash.

R=yangguo@chromium.org
BUG=chromium:157124
TEST=cctest/test-api/Regress157124

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Use movw/movt instead of constant pool on ARMv7.
danno@chromium.org [Mon, 22 Oct 2012 11:15:09 +0000 (11:15 +0000)]
MIPS: Use movw/movt instead of constant pool on ARMv7.

Port r12755 (5d62d66e)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11232036
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert r12760 (JSON.stringify).
yangguo@chromium.org [Mon, 22 Oct 2012 11:11:22 +0000 (11:11 +0000)]
Revert r12760 (JSON.stringify).

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix two-char hash to use correct fallback for zero hashes.
yangguo@chromium.org [Mon, 22 Oct 2012 10:38:40 +0000 (10:38 +0000)]
Fix two-char hash to use correct fallback for zero hashes.

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix typo in Makefile in ARM VFP support flag.
mstarzinger@chromium.org [Mon, 22 Oct 2012 10:00:28 +0000 (10:00 +0000)]
Fix typo in Makefile in ARM VFP support flag.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSpeed up function deoptimization by avoiding quadratic pass over optimized function...
ulan@chromium.org [Mon, 22 Oct 2012 09:48:56 +0000 (09:48 +0000)]
Speed up function deoptimization by avoiding quadratic pass over optimized function list.

R=danno@chromium.org
BUG=155270

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMicro-optimizing the json parser
verwaest@chromium.org [Fri, 19 Oct 2012 15:37:28 +0000 (15:37 +0000)]
Micro-optimizing the json parser

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFast path for searching through simple transitions
verwaest@chromium.org [Fri, 19 Oct 2012 15:03:27 +0000 (15:03 +0000)]
Fast path for searching through simple transitions

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImprove ClampDoubleToUint8 on ia32/x64.
yangguo@chromium.org [Fri, 19 Oct 2012 13:20:22 +0000 (13:20 +0000)]
Improve ClampDoubleToUint8 on ia32/x64.
It's measured faster when:
a) clamp never happens;
b) clamp random happens ([-128,384], pseudo random).

Review URL: https://chromiumcodereview.appspot.com/11190049
Patch from Zheng Liu <zheng.z.liu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove scratch register requirement from LoadInstanceDescriptors on arm and mips.
verwaest@chromium.org [Fri, 19 Oct 2012 12:39:59 +0000 (12:39 +0000)]
Remove scratch register requirement from LoadInstanceDescriptors on arm and mips.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoStress GC less by allocating exponentially growing string chunks in JSON.stringify.
yangguo@chromium.org [Fri, 19 Oct 2012 12:39:43 +0000 (12:39 +0000)]
Stress GC less by allocating exponentially growing string chunks in JSON.stringify.

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAlways invoke the default Array.sort functions from builtin functions, part 2.
yangguo@chromium.org [Fri, 19 Oct 2012 12:30:18 +0000 (12:30 +0000)]
Always invoke the default Array.sort functions from builtin functions, part 2.

R=vegorov@chromium.org
BUG=v8:2372

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd a faster API for creating v8::Integer objects
danno@chromium.org [Fri, 19 Oct 2012 11:15:04 +0000 (11:15 +0000)]
Add a faster API for creating v8::Integer objects

In WebKit, we have a small integer cache because calling v8::Integer::New is
slow. This patch adds a faster API for creating integers that requires the
caller to supply the v8::Isolate, saving us the work of looking up the isolate
in thread-local storage.

BUG=

Review URL: https://codereview.chromium.org/11212004
Patch from Adam Barth <abarth@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoGet the target field index when transitioning.
verwaest@chromium.org [Fri, 19 Oct 2012 10:48:18 +0000 (10:48 +0000)]
Get the target field index when transitioning.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix ARM dissambler test problems with movw/movt.
danno@chromium.org [Fri, 19 Oct 2012 10:44:56 +0000 (10:44 +0000)]
Fix ARM dissambler test problems with movw/movt.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix test runner for Android.
ulan@chromium.org [Fri, 19 Oct 2012 09:55:27 +0000 (09:55 +0000)]
Fix test runner for Android.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdjust Android test expectations.
ulan@chromium.org [Fri, 19 Oct 2012 09:28:23 +0000 (09:28 +0000)]
Adjust Android test expectations.

Disable long running tests:
- test-threads/ThreadJoinSelf in release and debug modes.
- regress/regress-1122 in debug mode.

Disable failing test:
- preparser/strict-octal-regexp (v8 issue 2265).

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPass pending exception to the message listener.
yangguo@chromium.org [Fri, 19 Oct 2012 08:45:24 +0000 (08:45 +0000)]
Pass pending exception to the message listener.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFixed directory ignorance involving symlinks.
svenpanne@chromium.org [Fri, 19 Oct 2012 08:40:50 +0000 (08:40 +0000)]
Fixed directory ignorance involving symlinks.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFixed json regression
verwaest@chromium.org [Fri, 19 Oct 2012 08:23:45 +0000 (08:23 +0000)]
Fixed json regression

BUG=v8:2374

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFixed error introduced in r12761.
verwaest@chromium.org [Thu, 18 Oct 2012 18:43:19 +0000 (18:43 +0000)]
Fixed error introduced in r12761.

BUG=2373

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoStatic cast char* diff to int.
verwaest@chromium.org [Thu, 18 Oct 2012 15:57:45 +0000 (15:57 +0000)]
Static cast char* diff to int.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDisable GDBJIT support by default in Debug mode.
ulan@chromium.org [Thu, 18 Oct 2012 15:26:37 +0000 (15:26 +0000)]
Disable GDBJIT support by default in Debug mode.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoKeep track of the first non-ascii word/char to avoid redoing the work.
verwaest@chromium.org [Thu, 18 Oct 2012 15:08:11 +0000 (15:08 +0000)]
Keep track of the first non-ascii word/char to avoid redoing the work.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdding a fast path for parsing index keys.
verwaest@chromium.org [Thu, 18 Oct 2012 14:44:40 +0000 (14:44 +0000)]
Adding a fast path for parsing index keys.

Reduces overhead on http://code.google.com/p/chromium/issues/detail?id=156379 from 360ms down to 255ms.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReimplement a simpler version of JSON.stringify.
yangguo@chromium.org [Thu, 18 Oct 2012 14:42:26 +0000 (14:42 +0000)]
Reimplement a simpler version of JSON.stringify.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPut more constants in movw/movt instructions
danno@chromium.org [Thu, 18 Oct 2012 14:37:04 +0000 (14:37 +0000)]
Put more constants in movw/movt instructions

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse tools/run-tests.py for "check" targets in the top-level Makefile.
jkummerow@chromium.org [Thu, 18 Oct 2012 14:21:35 +0000 (14:21 +0000)]
Use tools/run-tests.py for "check" targets in the top-level Makefile.

Bonus content: a few minor fixes for run-tests.py

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake sure the fast case of ScanJsonString bails out to the slow case correctly.
yangguo@chromium.org [Thu, 18 Oct 2012 13:15:05 +0000 (13:15 +0000)]
Make sure the fast case of ScanJsonString bails out to the slow case correctly.

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoKill off the SCons based build.
jkummerow@chromium.org [Thu, 18 Oct 2012 13:07:41 +0000 (13:07 +0000)]
Kill off the SCons based build.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse movw/movt instead of constant pool on ARMv7.
danno@chromium.org [Thu, 18 Oct 2012 12:21:42 +0000 (12:21 +0000)]
Use movw/movt instead of constant pool on ARMv7.

Some ARM architectures load 32-bit immediate constants more efficiently using movw/movt pairs rather than constant pool loads. This patch allows the assembler to generate one or the other load form at runtime depending on what is faster.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAvoid unnecessary code target changes during code compaction.
danno@chromium.org [Thu, 18 Oct 2012 12:01:36 +0000 (12:01 +0000)]
Avoid unnecessary code target changes during code compaction.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix typo in fast path for scanning json strings.
verwaest@chromium.org [Thu, 18 Oct 2012 11:47:06 +0000 (11:47 +0000)]
Fix typo in fast path for scanning json strings.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAlways invoke the default Array.sort functions from builtin functions.
fschneider@chromium.org [Thu, 18 Oct 2012 11:18:08 +0000 (11:18 +0000)]
Always invoke the default Array.sort functions from builtin functions.

TEST=mjsunit/regress/regress-builtin-array-op.js
BUG=v8:2372
Review URL: https://chromiumcodereview.appspot.com/10559005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdded a workaroung for a GCC visibility bug.
svenpanne@chromium.org [Thu, 18 Oct 2012 07:22:24 +0000 (07:22 +0000)]
Added a workaroung for a GCC visibility bug.

Movef a helper class to the top level to avoid
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40145.

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd an API for enumerating persistent handles
svenpanne@chromium.org [Thu, 18 Oct 2012 06:52:37 +0000 (06:52 +0000)]
Add an API for enumerating persistent handles

This API lets the embedder enumerate handles that have class ids. WebKit will
use this feature during garbage collection to compute object groups for DOM
nodes. Previously, we kept a list of DOM nodes on the WebKit side, but that
list is redundant with the global handles list in V8.

Review URL: https://codereview.chromium.org/11190011
Patch from Adam Barth <abarth@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Fix compilation under clang.
danno@chromium.org [Wed, 17 Oct 2012 14:20:43 +0000 (14:20 +0000)]
MIPS: Fix compilation under clang.

Clang is a little more picky than gcc on unused variable
warnings, which become errors with -Werror. Clean up
these cases for mips.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11175005
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEagerly follow transitions to existing maps while json parsing.
verwaest@chromium.org [Wed, 17 Oct 2012 14:09:42 +0000 (14:09 +0000)]
Eagerly follow transitions to existing maps while json parsing.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMove DescriptorArray into the map.
verwaest@chromium.org [Wed, 17 Oct 2012 13:04:49 +0000 (13:04 +0000)]
Move DescriptorArray into the map.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert recent CPU profiler changes because they broke --prof.
jkummerow@chromium.org [Wed, 17 Oct 2012 12:24:31 +0000 (12:24 +0000)]
Revert recent CPU profiler changes because they broke --prof.

This reverts r12649 and r12650.

BUG=v8:2364

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse shlex.split() to parse --special-command test argument
jkummerow@chromium.org [Tue, 16 Oct 2012 16:29:19 +0000 (16:29 +0000)]
Use shlex.split() to parse --special-command test argument

This allows passing commands with quoted spaces, such as:
  tools/test-wrapper-gypbuild.py --special-command \
    "$DR/bin64/drrun -ops '-reset_every_nth_pending 0' @" \
    ...

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/11143018
Patch from Reid Kleckner <rnk@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImproved printing of HLoadElements instruction.
svenpanne@chromium.org [Tue, 16 Oct 2012 11:41:07 +0000 (11:41 +0000)]
Improved printing of HLoadElements instruction.

TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Fix ARM bug introduced in r12604 that caused crashes on ARM on crypto-md5 from...
danno@chromium.org [Tue, 16 Oct 2012 08:45:17 +0000 (08:45 +0000)]
MIPS: Fix ARM bug introduced in r12604 that caused crashes on ARM on crypto-md5 from SunSpider.

Port r12623 (22002351)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10979066
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Fix issue 2346 (order of operations in keyed store on arrays) and turn get...
danno@chromium.org [Tue, 16 Oct 2012 08:29:58 +0000 (08:29 +0000)]
MIPS: Fix issue 2346 (order of operations in keyed store on arrays) and turn get-own-property-descriptor.js test into a regression test.

Port r12604 (ae837167)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10987086
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Make the speed of incremental marking depend also on the rate at which we are...
mstarzinger@chromium.org [Tue, 16 Oct 2012 08:24:13 +0000 (08:24 +0000)]
MIPS: Make the speed of incremental marking depend also on the rate at which we are hitting expensive write barrier operations, not just on the rate of allocation.

Port r12618 (c621b025)

BUG=
TEST=

Review URL: https://codereview.chromium.org/10977070
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix MIPS build broken by r12735 'Allow unaligned accesses for ARMv7'.
ulan@chromium.org [Tue, 16 Oct 2012 08:23:15 +0000 (08:23 +0000)]
Fix MIPS build broken by r12735 'Allow unaligned accesses for ARMv7'.

R=mstarzinger@chromium.org,palfia@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Fix compilation failure on ARM in r12685.
mstarzinger@chromium.org [Tue, 16 Oct 2012 08:16:36 +0000 (08:16 +0000)]
MIPS: Fix compilation failure on ARM in r12685.

Port r12686 (bdda5c81)

BUG=
TEST=

Review URL: https://codereview.chromium.org/11143029
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSimulate and disasm NOP on ARM
ulan@chromium.org [Mon, 15 Oct 2012 15:42:09 +0000 (15:42 +0000)]
Simulate and disasm NOP on ARM

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11116011
Patch from JF Bastien <jfb@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix bug in deletion of indexed properties
mstarzinger@chromium.org [Mon, 15 Oct 2012 15:23:22 +0000 (15:23 +0000)]
Fix bug in deletion of indexed properties

The delete operator always return true in case of indexed property. It
should return false if an indexed property can't be deleted (eg.
DontDelete attribute is set or a string object is the holder).

Contributed by Peter Varga <pvarga@inf.u-szeged.hu>

BUG=none
TEST=mjsunit/delete-non-configurable

Review URL: https://codereview.chromium.org/11094021
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAllow unaligned accesses for ARMv7.
ulan@chromium.org [Mon, 15 Oct 2012 15:19:36 +0000 (15:19 +0000)]
Allow unaligned accesses for ARMv7.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSwitch code flushing to use different JSFunction field.
mstarzinger@chromium.org [Mon, 15 Oct 2012 14:43:57 +0000 (14:43 +0000)]
Switch code flushing to use different JSFunction field.

This is another preparation for incremental code flushing. Instead of
linking candidates using the code entry field, we use the next pointer
that is also used to link optimized functions together. Since we only
support flushing of unoptimized code, this field can be shared.

R=ulan@chromium.org
BUG=v8:1609

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFixed VERIFY_HEAP without DEBUG.
svenpanne@chromium.org [Mon, 15 Oct 2012 12:36:58 +0000 (12:36 +0000)]
Fixed VERIFY_HEAP without DEBUG.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.14.5.
svenpanne@chromium.org [Mon, 15 Oct 2012 11:49:59 +0000 (11:49 +0000)]
Prepare push to trunk.  Now working on version 3.14.5.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAllow evals for debugger even if they are prohibited in the debugee context.
yurys@chromium.org [Mon, 15 Oct 2012 10:15:25 +0000 (10:15 +0000)]
Allow evals for debugger even if they are prohibited in the debugee context.

BUG=154733
Review URL: https://codereview.chromium.org/11111015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEnsure code flushing is disabled in incremental marking.
mstarzinger@chromium.org [Mon, 15 Oct 2012 09:25:30 +0000 (09:25 +0000)]
Ensure code flushing is disabled in incremental marking.

This fixes some test failures since r12714 which shared the code for
code flushing between full and incremental marking and is only a quick
fix until we can enable incremental code flushing.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoInvalidate the enum cache when converting a transition across which the descriptors...
verwaest@chromium.org [Mon, 15 Oct 2012 08:38:51 +0000 (08:38 +0000)]
Invalidate the enum cache when converting a transition across which the descriptors are shared.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoConsistently make the bounds check for AccessArgumentsAt explicit.
svenpanne@chromium.org [Mon, 15 Oct 2012 07:25:20 +0000 (07:25 +0000)]
Consistently make the bounds check for AccessArgumentsAt explicit.

This has the advantage that AccessArgumentsAt itself can't deopt anymore and the
bounds check is visible for the elimination phase. Furthermore, things are
simply more consistent now, a good thing in itself. :-)

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSynced Scons with GYP build. ;-)
svenpanne@chromium.org [Mon, 15 Oct 2012 07:07:58 +0000 (07:07 +0000)]
Synced Scons with GYP build. ;-)

TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFixed heap verification guards.
svenpanne@chromium.org [Mon, 15 Oct 2012 06:34:22 +0000 (06:34 +0000)]
Fixed heap verification guards.

TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse immediate add when possible in space allocator
danno@chromium.org [Fri, 12 Oct 2012 14:06:03 +0000 (14:06 +0000)]
Use immediate add when possible in space allocator

Save one instruction in allocating new space by using an immediate add if
possible to calculate the new top of heap.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11091068
Patch from Anthony Berent <aberent@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReland r12342: Flush monomorphic ICs on context disposal instead of context exit.
ulan@chromium.org [Fri, 12 Oct 2012 13:49:12 +0000 (13:49 +0000)]
Reland r12342: Flush monomorphic ICs on context disposal instead of context exit.

The crashes that caused r12342 to be reverted are fixed in r12563.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMove code flushing support into shared visitor.
mstarzinger@chromium.org [Fri, 12 Oct 2012 12:41:29 +0000 (12:41 +0000)]
Move code flushing support into shared visitor.

This is a first step towards incremental code flushing. The code
flushing support is now shared between full and incremental marking.
The code flusher itself is not yet activated in incremental mode and
will require some additional adaptations.

R=ulan@chromium.org
BUG=v8:1609

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEnable --verify-heap in release mode
mvstanton@chromium.org [Fri, 12 Oct 2012 11:41:14 +0000 (11:41 +0000)]
Enable --verify-heap in release mode

R=mstarzinger@chromium.org
BUG=v8:2120

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00