rossberg@chromium.org [Tue, 6 Nov 2012 12:30:22 +0000 (12:30 +0000)]
Object.observe: implement map bit and functions to access it.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11276028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12866
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 6 Nov 2012 12:10:54 +0000 (12:10 +0000)]
Prepare push to trunk. Now working on version 3.15.2.
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11362112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12863
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 6 Nov 2012 11:54:05 +0000 (11:54 +0000)]
Put incremental code flushing behind a flag.
This is used to disable incremental code flushing by default for now
until we can stabilize it and make it ready for production.
R=verwaest@chromium.org
BUG=chromium:159140
Review URL: https://codereview.chromium.org/
11367105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12862
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 5 Nov 2012 18:39:59 +0000 (18:39 +0000)]
Fix stack overflow for mac build.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11358096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 5 Nov 2012 15:37:04 +0000 (15:37 +0000)]
Removed duplicate line.
Review URL: https://chromiumcodereview.appspot.com/
11359055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 5 Nov 2012 15:01:51 +0000 (15:01 +0000)]
Reduce stack frame size in JSON.stringify.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11366087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 5 Nov 2012 14:43:11 +0000 (14:43 +0000)]
Remove superfluous setting of bitfield3.
Review URL: https://chromiumcodereview.appspot.com/
11367093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 5 Nov 2012 14:38:00 +0000 (14:38 +0000)]
Removed useless Canonicalize implementations subsumed by dead code elimination.
Review URL: https://codereview.chromium.org/
11362085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 5 Nov 2012 14:37:28 +0000 (14:37 +0000)]
Nano-refactoring: Simplify initialization
Review URL: https://codereview.chromium.org/
11368078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 5 Nov 2012 13:28:10 +0000 (13:28 +0000)]
Add rotate-right instruction to hydrogen and use it instead of bitwise operations
of the form ((x >>> i) | (x << (32 - i))).
This CL is based on https://chromiumcodereview.appspot.com/
10984057/
by Jay Conrod <dconrod@codeaurora.org>.
R=danno@chromium.org,mstarzinger@chromium.org,dconrod@codeaurora.org
Review URL: https://chromiumcodereview.appspot.com/
11033005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 5 Nov 2012 13:20:45 +0000 (13:20 +0000)]
Implement IsIndependent(Isolate*)
BUG=
TEST=cctest/test-api/IndependentWeakHandle
Committed: https://code.google.com/p/v8/source/detail?r=12852
Review URL: https://codereview.chromium.org/
11368053
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 5 Nov 2012 12:59:35 +0000 (12:59 +0000)]
Add fast path for FastProperty objects in JSON.stringify.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11363078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12853
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 5 Nov 2012 12:35:51 +0000 (12:35 +0000)]
Implement IsIndependent(Isolate*)
BUG=
TEST=cctest/test-api/IndependentWeakHandle
Review URL: https://codereview.chromium.org/
11368053
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 5 Nov 2012 10:53:56 +0000 (10:53 +0000)]
Fix JSON.stringify wrt harmony proxies.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11312063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 5 Nov 2012 10:50:36 +0000 (10:50 +0000)]
Improve handle allocation in JSON.parse.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11358065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 5 Nov 2012 10:25:32 +0000 (10:25 +0000)]
Heavy cleanup of the external pointer API.
Added highly efficient Object::SetAlignedPointerInInternalField and
Object::GetAlignedPointerFromInternalField functions for 2-byte-aligned
pointers. Their non-aligned counterparts Object::GetPointerFromInternalField and
Object::SetPointerInInternalField are now deprecated utility functions.
External is now a true Value again, with New/Value/Cast using a JSObject with an
internal field containing a Foreign. External::Wrap, and External::Unwrap are now
deprecated utility functions.
Added Context::GetEmbedderData and Context::SetEmbedderData. Deprecated
Context::GetData and Context::SetData, these are now only wrappers to access
internal field 0.
Added highly efficient Context::SetAlignedPointerInEmbedderData and
Context::GetAlignedPointerFromEmbedderData functions for 2-byte-aligned
pointers.
Review URL: https://codereview.chromium.org/
11190050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 5 Nov 2012 10:06:24 +0000 (10:06 +0000)]
Simplified HCheckMaps handling a bit.
This is a refactoring-only CL which simplifies the way we emit combinations of
Smi+map checks.
Review URL: https://codereview.chromium.org/
11343011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 5 Nov 2012 08:53:54 +0000 (08:53 +0000)]
Improve handling of property loads on the proto chain.
Previously Crankshaft emitted a generic load for these, now we emit a load of a
named field, guarded by a proto chain check.
LCheckPrototypeMaps now returns the holder, which is for free, because it
already had to check its map as the last step, anyway. This is in sync with what
StubCompiler::CheckPrototype does.
Review URL: https://codereview.chromium.org/
11338030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 2 Nov 2012 14:46:57 +0000 (14:46 +0000)]
Handle edge cases in basic JSON.stringify.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11315009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 2 Nov 2012 12:45:00 +0000 (12:45 +0000)]
Correctly visit all external strings.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11340010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 2 Nov 2012 10:24:56 +0000 (10:24 +0000)]
Ensure reducing the length of an array doesn't make it go holey.
Also only transition and/or change anything to the backing store if we are
actually going to delete anything.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11358011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 2 Nov 2012 09:18:53 +0000 (09:18 +0000)]
Consolidated all the key store/load classes in the Hydrogen and Lithium
space into just two:
HLoadKeyed/HLoadKeyedGeneric and HStoreKeyed/HStoreKeyedGeneric
LLoadKeyed/LLoadKeyedGeneric and LStoreKeyed/LStoreKeyedGeneric
BUG=
Review URL: https://codereview.chromium.org/
11238016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 31 Oct 2012 11:43:13 +0000 (11:43 +0000)]
Fix tick processor to correctly handle the 'parallel-compiler' tick.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
11347043
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 31 Oct 2012 09:58:22 +0000 (09:58 +0000)]
Prepare push to trunk. Now working on version 3.15.1.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11367003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 30 Oct 2012 15:29:34 +0000 (15:29 +0000)]
Fix handling arrays with holes in JSON.stringify.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11273112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12834
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 30 Oct 2012 10:54:44 +0000 (10:54 +0000)]
MIPS: fix mips_arch_variant bug in GYP build.
There is a small bug that causes to build mips32r2
version of v8 as mips32 (r1). This affects only
the compiled code.
In the default case of building for mips32r2,
the compiler flags are the following:
-EL -mhard-float -mips32r2 -Wa,-mips32r2 -mips32 -Wa,-mips32
Since the "last flag wins" the object files are
compiled as mips32. In a funny twist, the
code sourcery lite compilers do not have multi-lib support,
and there is a bug that if you tell it to link mips32,
it will silently link the object files with
mips32r2 libraries, and then the resulting binary is mips32r2.
This commit fixes the mips32r1/mips32r2 build.
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11289003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 29 Oct 2012 16:27:54 +0000 (16:27 +0000)]
Loosen aligned code target requirement on ARM
Fixes crashes when V8 is built as Thumb code.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
11343014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 29 Oct 2012 15:10:21 +0000 (15:10 +0000)]
MIPS: Cleanup handling of shifts: SHR can deoptimize only when its a shift by 0, all other shift never deoptimize.
Port r12373 (
9fdde2ad)
Original commit message:
Fix DoDeferredNumberTagU to keep the value in xmm1 instead of xmm0 on x64.
xmm0 is not saved across runtime call on x64 because MacroAssembler::EnterExitFrameEpilogue preserves only allocatable XMM registers unlike on ia32 where it preserves all registers.
Cleanup handling of shifts: SHR can deoptimize only when its a shift by 0, all other shift never deoptimize.
Fix type inference for i-to-t change instruction. On X64 this ensures that write-barrier is generated correctly.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10876054
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 29 Oct 2012 12:01:29 +0000 (12:01 +0000)]
Treat leading zeros in JSON.parse correctly.
R=verwaest@chromium.org
BUG=158185
Review URL: https://chromiumcodereview.appspot.com/
11273075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 29 Oct 2012 11:45:57 +0000 (11:45 +0000)]
Fix performance regression introduced by r12812.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11301014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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