sandholm@chromium.org [Mon, 6 Dec 2010 11:44:16 +0000 (11:44 +0000)]
JSON stringify collects substrings in one builder array rather than using regular
string cons.
Review URL: http://codereview.chromium.org/5567005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5918
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 6 Dec 2010 09:59:08 +0000 (09:59 +0000)]
Improve code generated for AllocInNewSpace. This is a commit of codereview.chromium.org/5512004 for Rodolph Perfetta.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5917
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Fri, 3 Dec 2010 11:12:02 +0000 (11:12 +0000)]
Simplify JSON stringify and add special case for default replacer and space.
Review URL: http://codereview.chromium.org/5551002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 3 Dec 2010 09:54:06 +0000 (09:54 +0000)]
Irregexp: Preload more characters when we are not at the
start of the input and some alternations in the disjunction
are anchored.
Review URL: http://codereview.chromium.org/5524006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 2 Dec 2010 15:38:51 +0000 (15:38 +0000)]
New Heap Profiler: add API method for finding a graph node by id.
TEST=cctest/test-heap-profiler/HeapSnapshotGetNodeById
Review URL: http://codereview.chromium.org/5537001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 2 Dec 2010 15:37:45 +0000 (15:37 +0000)]
nGW build
- add missing functions SignalCodeMovingGC() and MemoryBarrier()
- avoid pointer conversion/comparison warnings
- don't attempt to hide symbols with -fvisibility, MinGW doesn't support it
BUG=http://code.google.com/p/v8/issues/detail?id=949
Patch by Bert Belder <bertbelder@gmail.com>
Review URL: http://codereview.chromium.org/5471001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 2 Dec 2010 11:20:44 +0000 (11:20 +0000)]
Add generated code to calculate Math.log and to search Transcendental cache for logs. Implemented on all platforms.
Review URL: http://codereview.chromium.org/5437002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 2 Dec 2010 08:02:37 +0000 (08:02 +0000)]
Change RegExp syntax to fail on invalid ranges like [\d-x], [x-\d] and [\d-\d].
The previous behavior was to treat the "-" as verbatim if the range was invalid.
This change matches the JSC changeset http://trac.webkit.org/changeset/72813/
Review URL: http://codereview.chromium.org/5464001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 1 Dec 2010 13:11:28 +0000 (13:11 +0000)]
Fix compile problem on ARM. Remove unused argument.
Review URL: http://codereview.chromium.org/5455001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 1 Dec 2010 10:04:34 +0000 (10:04 +0000)]
Move quoting of a JSON string to a specialized runtime function.
Previously used string replace regexp with function replacement.
Review URL: http://codereview.chromium.org/5443001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 30 Nov 2010 13:17:36 +0000 (13:17 +0000)]
Save full source position state to avoid forced positions.
Review URL: http://codereview.chromium.org/5277008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Tue, 30 Nov 2010 13:16:36 +0000 (13:16 +0000)]
Maintain the invariant that the pattern string in an atom regexp is always
a flat non-cons string.
Review URL: http://codereview.chromium.org/5270006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 30 Nov 2010 11:44:51 +0000 (11:44 +0000)]
Fix mac build.
Review URL: http://codereview.chromium.org/5333007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 30 Nov 2010 10:55:24 +0000 (10:55 +0000)]
RelocInfo: fix source position decoding.
We used to rely on reading both POSITION and STATEMENT_POSITION to get
correct decoding of positions. This was error prone and made liveedit
unhappy.
Review URL: http://codereview.chromium.org/5277007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5905
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 29 Nov 2010 16:38:05 +0000 (16:38 +0000)]
Fix windows build.
TBR=lrn
Review URL: http://codereview.chromium.org/5367007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5904
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 29 Nov 2010 14:28:06 +0000 (14:28 +0000)]
Revert seeding the random number generator with rand_s on Windows. It
makes browser_tests fail.
TBR=jschuh@chromium.org
Review URL: http://codereview.chromium.org/5284006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 29 Nov 2010 13:24:37 +0000 (13:24 +0000)]
Preparser extracted into separate files that can be compiled to a library.
No scons target yet.
Review URL: http://codereview.chromium.org/5295004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 29 Nov 2010 07:47:34 +0000 (07:47 +0000)]
Prepare push to trunk. Now working on version 2.6.0.
Review URL: http://codereview.chromium.org/5381004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5895
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 26 Nov 2010 12:45:41 +0000 (12:45 +0000)]
Fix number parsing to not allow space between sign and digits.
Affects both parseFloat and ToNumber conversion.
Fix issue 946.
Review URL: http://codereview.chromium.org/5338005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 26 Nov 2010 11:48:35 +0000 (11:48 +0000)]
make DateParser::TimeComposer handle 1-2 digits millisecond values
see http://code.google.com/p/v8/issues/detail?id=944
This patch makes DateParser::TimeComposer process times that have
millisecond values with only 1 or 2 digits.
Without this patch, Date.parse("2010-11-25T22:02:30.5") returns
1290690150005 and
Date.parse("2010-11-25T22:02:30.5") == Date.parse("2010-11-25T22:02:30.005")
evaluates to true.
With this patch, Date.parse("2010-11-25T22:02:30.5") returns
1290690150500 instead, and
Date.parse("2010-11-25T22:02:30.5") == Date.parse("2010-11-25T22:02:30.005")
evaluates to false.
Review URL: http://codereview.chromium.org/5336005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 26 Nov 2010 08:43:34 +0000 (08:43 +0000)]
Landing for Martyn Capewell.
Implement string constructor stub on ARM.
BUG=none
TEST=none
Codereview URL: http://codereview.chromium.org/5322009/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 25 Nov 2010 15:54:52 +0000 (15:54 +0000)]
Simplify ProfLazyMode test on Linux.
Instead of installing signal handler, count samples taken.
Review URL: http://codereview.chromium.org/5325003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5891
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 25 Nov 2010 08:04:12 +0000 (08:04 +0000)]
Expose a method for getting JSObject constructor name
Review URL: http://codereview.chromium.org/5256004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5890
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 25 Nov 2010 07:39:17 +0000 (07:39 +0000)]
Landing for Justin Schuh.
Seed the random number generator in Windows with rand_s
This is a quick fix for m9. It works on Windows Chrome because the random device is already initialized before permissions are dropped for the Chrome sandbox. The same trick isn't possible on Linux or Mac.
I think the long-term solution is to provide an interface for supplying v8 with a true random number generator. Then Chrome can just hook up the generator from base/rand_util.h
BUG=http://code.google.com/p/v8/issues/detail?id=936
TEST=None.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5889
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 24 Nov 2010 10:47:18 +0000 (10:47 +0000)]
New Heap profiler: fix JSON serialization of aggregated profiles.
Serialization was failing due to unset dominator pointers.
TEST=test-heap-snapshot/AggregatedHeapSnapshotJSONSerialization
Review URL: http://codereview.chromium.org/5314003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5888
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 24 Nov 2010 10:28:22 +0000 (10:28 +0000)]
Fix break of build.
Mental note: When you make a fix, remember to save it before committing.
Review URL: http://codereview.chromium.org/5330005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 24 Nov 2010 09:57:06 +0000 (09:57 +0000)]
Working stand-alone preparser.
BUG=
TEST=
Review URL: http://codereview.chromium.org/5302003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5885
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 24 Nov 2010 09:55:58 +0000 (09:55 +0000)]
ARM: Defer the prefix/postfix code generation. This is a fixed
version of http://codereview.chromium.org/3666001/ by ZhangK with
an added call to ForgetTypeInfo to fix a debug mode assert.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 24 Nov 2010 09:40:58 +0000 (09:40 +0000)]
Make randomized allocations along 64k granularity boundaries to avoid comitting unused memory.
BUG=56036
TEST=None.
Patch by Justin Schuh <jschuh@chromium.org>
Review URL: http://codereview.chromium.org/3849004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 24 Nov 2010 09:21:29 +0000 (09:21 +0000)]
Fix the process sample to actually dispose the contexts used for
processors.
Review URL: http://codereview.chromium.org/5302004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5882
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 24 Nov 2010 06:35:35 +0000 (06:35 +0000)]
Delete empty directory.
TBR=ricow@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 24 Nov 2010 06:26:36 +0000 (06:26 +0000)]
Fix crashes during GC caused by partially initialized objects. The
inline allocation code used the expected number of properties to
calculate the number of inobject properties for an object instead of
getting the actual number from the initial map.
It is safer to use the inobject property count from the initial map in
any case because that is the amount the instances will get. I think
this disconnect got introduced when adding shrinking of objects.
Unfortuntely I haven't been able to create a simple reproduction for a
test case but this fixes the webpage that exhibits the crash. I'll see
if I can create a reproduction tomorrow.
Review URL: http://codereview.chromium.org/5278003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5879
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 23 Nov 2010 12:11:07 +0000 (12:11 +0000)]
Added files to gyp-config.
Review URL: http://codereview.chromium.org/5276004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5878
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 23 Nov 2010 11:46:36 +0000 (11:46 +0000)]
Untemplated preparser.h and made it depend on virtual types.
Extracted preparse-data specification and logging classes.
Review URL: http://codereview.chromium.org/5166006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5877
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 23 Nov 2010 10:07:02 +0000 (10:07 +0000)]
Prepare push to trunk. Now working on version 2.5.9.
Review URL: http://codereview.chromium.org/5302002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5873
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 23 Nov 2010 09:52:52 +0000 (09:52 +0000)]
Fix again HeapEntry size problem, now platform-independent way.
Rico noticed that V8 ARM builder also fails on HeapEntry size
assertion. As MSVC-specific way of fixing the problem causes
aliasing problems on G++, I re-implemented conversion using
unions. And #ifdefs are gone!
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/5328001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5872
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 22 Nov 2010 16:09:14 +0000 (16:09 +0000)]
Fix windows compilation after r5867. Now linux-friendly.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/5216008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5871
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 22 Nov 2010 15:38:12 +0000 (15:38 +0000)]
Revert "Fix compilation on Win after r5867.". This breaks Linux.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5870
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 22 Nov 2010 15:31:43 +0000 (15:31 +0000)]
Fix compilation on Win after r5867.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/5242003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5869
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Mon, 22 Nov 2010 14:42:07 +0000 (14:42 +0000)]
Remove Gay's dtoa from sources.
Farewell.
Review URL: http://codereview.chromium.org/5195003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5868
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 22 Nov 2010 14:00:40 +0000 (14:00 +0000)]
New heap profiler: implement fast retaining sizes approximation.
Approximation is done by building a dominators tree for the heap graph.
Dominator nodes and retained sizes are serialized into JSON.
Removed:
- reachable size (it is useless, after all);
- HeapEntryCalculatedData (size is now stored in the node, retaining
paths in a hash map);
Review URL: http://codereview.chromium.org/5154007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5867
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 22 Nov 2010 09:57:21 +0000 (09:57 +0000)]
Force pretenuring of closures that are immediately assigned to
properties. For these closures we would like to be able to use
constant functions and for that we need the closures allocated in old
space.
Review URL: http://codereview.chromium.org/5220007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5866
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 19 Nov 2010 12:36:39 +0000 (12:36 +0000)]
Made some functions virtual that were previously hit by templating.
Currently means that preparsing doesn't record/export symbol data.
Review URL: http://codereview.chromium.org/5122007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5865
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 19 Nov 2010 12:08:52 +0000 (12:08 +0000)]
Add more tests of breaks in infinite loops
Move stack check in do while loops to before the continue target to enable breaks even if continue was always used in the loop.
Review URL: http://codereview.chromium.org/5184007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5862
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 19 Nov 2010 11:24:51 +0000 (11:24 +0000)]
Remove unused variable to please Clang.
Review URL: http://codereview.chromium.org/5151010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 19 Nov 2010 09:25:46 +0000 (09:25 +0000)]
Add a fast case to Array.join when all the elements and the separator are flat ascii strings.
Review URL: http://codereview.chromium.org/5122005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Fri, 19 Nov 2010 09:06:00 +0000 (09:06 +0000)]
Avoiding repacking payload for v8::Arguments and v8::AccessorInfo (arm)
Review URL: http://codereview.chromium.org/5107002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 19 Nov 2010 09:02:59 +0000 (09:02 +0000)]
Merge preparser Scanner with main JavaScript scanner.
Optimize scanning of keywords.
Review URL: http://codereview.chromium.org/5188009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 19 Nov 2010 08:41:24 +0000 (08:41 +0000)]
Landing for Rodolph Perfetta.
Add missing Stub implementations on ARM.
BUG=none
TEST=none
Codereview URL: http://codereview.chromium.org/5128004/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 18 Nov 2010 14:00:23 +0000 (14:00 +0000)]
Fix usage of NULL in integer contexts.
Review URL: http://codereview.chromium.org/5195002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 18 Nov 2010 13:50:21 +0000 (13:50 +0000)]
Fix off-by-one in hex-parsing.
Review URL: http://codereview.chromium.org/5129002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 18 Nov 2010 13:07:02 +0000 (13:07 +0000)]
Extract scanner base/JS/JSON and move base and JS to scanner-base.
Remove templates from prescanner.
Review URL: http://codereview.chromium.org/5136002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 18 Nov 2010 11:21:20 +0000 (11:21 +0000)]
Don't return false from CompileCallInterceptor which returns a
MaybeObject*. Instead return the failure which will be handled
correctly by the caller. This code would lead to a crash if ever
executed.
Review URL: http://codereview.chromium.org/5182006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 18 Nov 2010 10:49:34 +0000 (10:49 +0000)]
A follow-up to r5849 -- fix Chromium build.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/5198003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 18 Nov 2010 10:42:22 +0000 (10:42 +0000)]
Make count-line-ends use StringSearch and only iterate over the source once.
Review URL: http://codereview.chromium.org/5121007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 18 Nov 2010 10:38:25 +0000 (10:38 +0000)]
New heap profiler: include all heap objects and refs into snapshot.
Otherwise, retaned memory sizes are not precise. This increases size
of heap snapshot, I will deal with this later. Heap objects and
references previously missing in snapshot are now marked as 'hidden'.
That means, they not shown to user, but participate in sizes
calculation.
Other small changes:
- added 'shortcut' graph edges: e.g. to pin global objects on top
level;
- meta-information in JSON snapshot is no more double encoded.
Review URL: http://codereview.chromium.org/5139002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 18 Nov 2010 10:28:47 +0000 (10:28 +0000)]
Prepare push to trunk. Now working on version 2.5.8.
Review URL: http://codereview.chromium.org/5203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 18 Nov 2010 09:40:00 +0000 (09:40 +0000)]
Revert r5846 because of debug mode test failures.
TBR=sandholm@chromium.org
Review URL: http://codereview.chromium.org/5167002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Thu, 18 Nov 2010 08:45:17 +0000 (08:45 +0000)]
Leverage Lasse's StringSearch object to speed up calculations of script
line ends.
Review URL: http://codereview.chromium.org/5100002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 18 Nov 2010 08:23:49 +0000 (08:23 +0000)]
Landing for Justing Schuh.
Split out the random number state between JavaScript and private API
I've added v8::RandomPrivate() for internaly used random numbers, and pass the state in as a parameter to a random_base function.
I still need to implement strong seeding. I already know how and will be landing that in another patch.
BUG=http://code.google.com/p/v8/issues/detail?id=936
TEST=None.
Codereview URL: http://codereview.chromium.org/5143004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5845
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 17 Nov 2010 14:48:43 +0000 (14:48 +0000)]
Landing for Martyn Capewell.
Replace some hard-coded return address calculations with Call.
BUG=none
TEST=none
Codereview URL: http://codereview.chromium.org/5158002/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 17 Nov 2010 13:59:07 +0000 (13:59 +0000)]
Change the order of evaluation of sub-expressions for keyed call
The expression of the key is now evaluated before the arguments, so all expressions in a keyed call are evaluared from left to right.
BUG=http://code.google.com/p/v8/issues/detail?id=931
TEST=test/mjsunit/regress/regress-931.js
Review URL: http://codereview.chromium.org/5161002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Wed, 17 Nov 2010 13:29:45 +0000 (13:29 +0000)]
Name argument in forward declaration.
Unbreaks the build.
TBR: whesse@chromium.org
Review URL: http://codereview.chromium.org/5126002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Wed, 17 Nov 2010 13:20:44 +0000 (13:20 +0000)]
Add bignum fall-back when the fast dtoa doesn't succeed. This removes Gay's dtoa for the double->string direction. We still need it for the string->double direction.
Review URL: http://codereview.chromium.org/3468003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 17 Nov 2010 12:49:27 +0000 (12:49 +0000)]
Store script's line ends in copy-on-write fixed array.
This allows to remove explicit copy from line ends JS accessor which is used for formatting of stack traces.
Eager copying of line ends array might cause multiple full GC collections for huge scripts (e.g. scripts generated by GWT compiler with PRETY preset).
Review URL: http://codereview.chromium.org/5148002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 17 Nov 2010 12:28:30 +0000 (12:28 +0000)]
Extract extensions to a separate directory.
Remove extensions from the external reference table. They should never
be part of the serialized code.
Create extensions/experimental subdirectory for experimental
extensions not officially supported by V8.
Review URL: http://codereview.chromium.org/5094003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 17 Nov 2010 12:00:22 +0000 (12:00 +0000)]
Add separate scanner only intended for preparsing.
Review URL: http://codereview.chromium.org/5063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Wed, 17 Nov 2010 10:44:16 +0000 (10:44 +0000)]
API call code refactoring (x64).
Review URL: http://codereview.chromium.org/5108003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5836
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 17 Nov 2010 09:24:44 +0000 (09:24 +0000)]
Implement Math.floor stub on ARM. Uses VFP when available. This is a commit of codereview.chromium.org/5075002/ for Martyn Capewell
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Tue, 16 Nov 2010 16:08:57 +0000 (16:08 +0000)]
Port direct API function call to x64 (ia32 CL is codereview.chromium.org/4456002/).
Review URL: http://codereview.chromium.org/5004004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Tue, 16 Nov 2010 15:23:47 +0000 (15:23 +0000)]
Fixing lint errors.
Review URL: http://codereview.chromium.org/5065002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Tue, 16 Nov 2010 15:04:41 +0000 (15:04 +0000)]
API call code refactoring (ia32).
Review URL: http://codereview.chromium.org/5055004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 16 Nov 2010 12:10:48 +0000 (12:10 +0000)]
Fix bug in parser that allows "(foo):42" as a labeled statement.
Fixes issue 918.
Review URL: http://codereview.chromium.org/5044003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 16 Nov 2010 08:16:13 +0000 (08:16 +0000)]
Revert premature addition to parser.
TBR:ricow
Review URL: http://codereview.chromium.org/5055003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 16 Nov 2010 08:01:45 +0000 (08:01 +0000)]
Move static scanner fields to scanner-base.h
Review URL: http://codereview.chromium.org/5026005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Mon, 15 Nov 2010 17:12:34 +0000 (17:12 +0000)]
Removing redundant stubs for API functions.
Review URL: http://codereview.chromium.org/4695003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 15 Nov 2010 13:23:30 +0000 (13:23 +0000)]
Split globals.h into two parts, where only one depends on V8.
Made allocation.{h,cc} independent of V8, allowing utils.h to allocate
vectors and collectors.
Review URL: http://codereview.chromium.org/5005001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 15 Nov 2010 10:38:24 +0000 (10:38 +0000)]
Provide more accurate results about used heap size via GetHeapStatistics.
I observed that used heap size provided by Heap::SizeOfObjects() is
usually about ~10% bigger than the number calculated by summing up
heap objects sizes.
This aligns DevTools Timeline stats with Heap profiler stats.
Review URL: http://codereview.chromium.org/4888001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 15 Nov 2010 10:21:57 +0000 (10:21 +0000)]
Improve support for vmrs/vmsr in ARM disassembler. This is a commit of codereview.chromium.org/4904001 for Martyn Capewell.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 15 Nov 2010 10:12:01 +0000 (10:12 +0000)]
Landing for dsule@codeaurora.org.
Allow build-time customization of the max semispace size. Building a
version of V8 with snapshots and with a non-default max semi-space
size is much easier when you can set the max semispace size in the
build environment.
Review URL: http://codereview.chromium.org/4937001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5823
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Sat, 13 Nov 2010 15:00:24 +0000 (15:00 +0000)]
Fix Win64 build.
MemoryAllocator::AvailableExecutable should return intptr_t, the difference of intptr_t's.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/4972001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Sat, 13 Nov 2010 14:37:28 +0000 (14:37 +0000)]
Fix Win64: strlen returns size_t which gets converted to int.
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/4971001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 12 Nov 2010 08:40:21 +0000 (08:40 +0000)]
Use the real climit for testing the stack limit API. The currently
active climit can be changed by other events and should not be trusted
for these tests. The real climit stays the same once set.
Review URL: http://codereview.chromium.org/4881001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Thu, 11 Nov 2010 16:32:32 +0000 (16:32 +0000)]
Fix strtod.
Strtod function used buffer that was allocated inside a nested scope.
Review URL: http://codereview.chromium.org/4639006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 11 Nov 2010 13:47:15 +0000 (13:47 +0000)]
Fix compile error on Windows (no snprintf support).
Luckily the snprintf wasn't really needed.
TBR:whesse
Review URL: http://codereview.chromium.org/4678007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 11 Nov 2010 11:45:25 +0000 (11:45 +0000)]
Preparsing now considers catch-blocks as inside a with.
Fix issue 928.
Review URL: http://codereview.chromium.org/4639005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5813
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 11 Nov 2010 10:33:51 +0000 (10:33 +0000)]
Move ComputeCallInitialize from the codegen.cc to stub-cache.cc.
Review URL: http://codereview.chromium.org/4760003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 11 Nov 2010 10:18:48 +0000 (10:18 +0000)]
Fix Chromium bug 62639.
Add missing failure check after expecting an identifier in preparser.
This allowed code to use the non-existing literal.
Review URL: http://codereview.chromium.org/4800001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Thu, 11 Nov 2010 08:47:30 +0000 (08:47 +0000)]
Special case global and non-global code paths in regexp.test.
Review URL: http://codereview.chromium.org/4517003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 11 Nov 2010 08:11:27 +0000 (08:11 +0000)]
Revert unkosher change to xcode project.
Should have been reverted before committing 5775, but that revert failed to stick.
Review URL: http://codereview.chromium.org/4797002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5809
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 10 Nov 2010 17:00:20 +0000 (17:00 +0000)]
Move common static helpers from codegen to the macro-assembler files.
Review URL: http://codereview.chromium.org/4654002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5807
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 10 Nov 2010 12:34:28 +0000 (12:34 +0000)]
Make String.prototype.split honor limit when separator is empty.
BUG=929
Review URL: http://codereview.chromium.org/4750003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 10 Nov 2010 11:38:22 +0000 (11:38 +0000)]
Prepare push to push version 2.5.6 to trunk.
Review URL: http://codereview.chromium.org/4709003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5803
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 10 Nov 2010 10:14:13 +0000 (10:14 +0000)]
Another fix after the executable memory limit introduction.
The max executable size must be less than or equal to the max old
space size. It is an extra limit in addition to the old space size.
Review URL: http://codereview.chromium.org/4730002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5802
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 10 Nov 2010 09:25:46 +0000 (09:25 +0000)]
Fix x64 build after executable memory limit change.
TBR=jschuh@chromium.org
Review URL: http://codereview.chromium.org/4656002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5801
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 10 Nov 2010 09:20:08 +0000 (09:20 +0000)]
Fix executable memory setting and fix test.
Review URL: http://codereview.chromium.org/4764002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5800
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 10 Nov 2010 08:38:42 +0000 (08:38 +0000)]
Landing for Justin Schuh.
Add 128MB limit for executable pages.
BUG=http://code.google.com/p/v8/issues/detail?id=925
TEST=None.
TBR=jschuh@chromium.org
Review URL: http://codereview.chromium.org/4634003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5799
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 9 Nov 2010 19:32:49 +0000 (19:32 +0000)]
Add check for overflow after MUL operations in side-effect free int32 expressions.
BUG=http://code.google.com/p/v8/issues/detail?id=927
TEST=test/mjsunit/regress/regress-927.js
Review URL: http://codereview.chromium.org/4746001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5793
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Tue, 9 Nov 2010 14:01:23 +0000 (14:01 +0000)]
Direct call API functions (ia32 implementation).
Review URL: http://codereview.chromium.org/4456002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5791
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 9 Nov 2010 08:26:02 +0000 (08:26 +0000)]
ARM: The Simulator will now handle different VFP rounding modes. RZ and RM are implemented. This is a commit of
http://codereview.chromium.org/4295003/show for Alexander Rames of ARM.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5790
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00