sgjesse@chromium.org [Thu, 1 Oct 2009 06:27:29 +0000 (06:27 +0000)]
Fix lint errors.
TBR=christian.plesner.hansen@gmail.com
Review URL: http://codereview.chromium.org/249056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Wed, 30 Sep 2009 22:21:10 +0000 (22:21 +0000)]
Based on a patch submitted by Jens Alfke:
Tag Mac OS X VM regions allocated by V8. This has no effect other than making
it possible to identify V8 allocations in the vmmap(1) memory profiling tool,
to get a better idea of an embedder's/Chrome's memory usage.
CRBUG=23455
TEST=Tested by running vmmap(1) and looking for "Memory tag=255" in the output.
Review URL: http://codereview.chromium.org/244051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 30 Sep 2009 20:18:40 +0000 (20:18 +0000)]
Add pixel array handling in keyed IC's for x64 version.
Review URL: http://codereview.chromium.org/251041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 30 Sep 2009 14:25:21 +0000 (14:25 +0000)]
Do not flatten the string, but just write it out.
In DOM bindings in many cases the string would be externalized immediately. For other cases
I am going to add explicit flattening. Overall, it looks like if user wants to flat string
before writing, it should be an explicit method invocation (going to add TryFlattenIfNotFlat
into public V8 API).
Review URL: http://codereview.chromium.org/255004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 30 Sep 2009 13:24:24 +0000 (13:24 +0000)]
Remove obsolete support for an experimental multipass compiler.
Review URL: http://codereview.chromium.org/255022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 30 Sep 2009 12:25:46 +0000 (12:25 +0000)]
Changed structure of accessor arguments passing to allow accessor
callbacks to be called directly from native code.
Review URL: http://codereview.chromium.org/242050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 30 Sep 2009 09:49:36 +0000 (09:49 +0000)]
Two changes, one a refactoring and one that affects V8's JS semantics.
1. Change the AST node type CallNew to be a subclass of Expression
rather than Call. It's not really a call but it just happens to
have the same fields.
2. Change our error reporting for invalid left-hand sides in for-in
statements, pre- and postfix count expressions, and assignments.
Before we signaled a syntax error at compile time *unless* the LHS
was a function call or 'new' expression, in which case we signaled
a reference error at runtime. Now we signal a reference error at
runtime in all cases. This matches the JSC behavior in Safari 4.
Review URL: http://codereview.chromium.org/249039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 30 Sep 2009 09:24:46 +0000 (09:24 +0000)]
Change the functions named AllocateObjectInNewSpace to AllocateInNewSpace.
These functions just moves forward the new space allocation top, and in some situations they are used to reserve space for several objects.
Review URL: http://codereview.chromium.org/219030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 30 Sep 2009 08:27:58 +0000 (08:27 +0000)]
API: added warning about FunctionTemplate::GetFunction lifetime.
Review URL: http://codereview.chromium.org/251042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 29 Sep 2009 14:56:24 +0000 (14:56 +0000)]
Return the original value when assigning to a pixel array.
After fast-case assignment to a pixel array the original value assigned is now returned. Before the un-tagged smi value was returned causing crashes.
BUG=22913
TEST=cctest/test-api/PixelArray
Review URL: http://codereview.chromium.org/248033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 29 Sep 2009 13:28:30 +0000 (13:28 +0000)]
Remove CallEval as a subclass of the Call AST node type. We were not
differentiating between Call and CallEval except in the code
generator, and the difference can be detected from a regular Call AST
node at code generation time.
Review URL: http://codereview.chromium.org/245042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 29 Sep 2009 09:21:19 +0000 (09:21 +0000)]
Compile without debugger support in debug mode
This makes it possible to build V8 without JavaScript debugging support in debug mode.
BUG=http://code.google.com/p/v8/issues/detail?id=454
Review URL: http://codereview.chromium.org/242048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 29 Sep 2009 07:30:37 +0000 (07:30 +0000)]
Fix a lint error.
Review URL: http://codereview.chromium.org/235052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2982
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Mon, 28 Sep 2009 23:21:58 +0000 (23:21 +0000)]
Put method declations under #ifdef DEBUG in header (as they are in objects-inl.h).
Review URL: http://codereview.chromium.org/251015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 28 Sep 2009 14:32:48 +0000 (14:32 +0000)]
API: added a few missing HandleScope-s.
Review URL: http://codereview.chromium.org/245024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2980
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 28 Sep 2009 13:53:43 +0000 (13:53 +0000)]
Rename JumpToBuiltin to JumpToRuntime. Add comment to ResolveBuiltin.
Review URL: http://codereview.chromium.org/218025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2979
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 28 Sep 2009 13:53:03 +0000 (13:53 +0000)]
Fix the last memory leak demonstrated by the test program in
http://code.google.com/p/v8/issues/detail?id=444
Review URL: http://codereview.chromium.org/243027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 28 Sep 2009 12:25:21 +0000 (12:25 +0000)]
* Fix memory leaks caused by thread local data being lost.
* Rename some instance variables and accessors to fit code style.
* Don't overwrite existing thread ID.
Review URL: http://codereview.chromium.org/251014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 28 Sep 2009 12:01:05 +0000 (12:01 +0000)]
Move the per-ast-node statement position to only statement node types.
It was not currently being used for expressions or declarations and
always had the default initial value.
Review URL: http://codereview.chromium.org/246019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 28 Sep 2009 11:22:08 +0000 (11:22 +0000)]
Fix unused variable warning in serialize.cc
Review URL: http://codereview.chromium.org/243025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 28 Sep 2009 11:16:23 +0000 (11:16 +0000)]
Land change by Alexander Botero-Lowry to fix profiler sampling on
FreeBSD in 64-bit mode.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 28 Sep 2009 10:21:08 +0000 (10:21 +0000)]
Add missing null check to Context::GetCalling().
Review URL: http://codereview.chromium.org/248017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 28 Sep 2009 09:05:06 +0000 (09:05 +0000)]
Heap profiler: correctly determine equivalence of objects having self-refs.
Review URL: http://codereview.chromium.org/242031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2972
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 28 Sep 2009 07:12:39 +0000 (07:12 +0000)]
Heap profiler: aggregate retainers count of equivalent clusters.
Also perform some refactoring.
Review URL: http://codereview.chromium.org/247001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2971
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Sun, 27 Sep 2009 09:33:11 +0000 (09:33 +0000)]
Get rid of duplicate LICENSE entry for the Valgrind
client API header.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/245021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2970
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 25 Sep 2009 12:29:24 +0000 (12:29 +0000)]
Add another method that allows to lookup for a real named property not only
in prototype chain, but in the object itself.
Review URL: http://codereview.chromium.org/235004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2969
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Fri, 25 Sep 2009 10:36:00 +0000 (10:36 +0000)]
Fixed some cctest flakiness on mac.
Review URL: http://codereview.chromium.org/242003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2968
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Sep 2009 14:32:45 +0000 (14:32 +0000)]
Land gyp file change for gcc 4.4.
Review URL: http://codereview.chromium.org/230001.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2965
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 23 Sep 2009 14:06:14 +0000 (14:06 +0000)]
Fix lint error.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/230002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2964
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Sep 2009 13:32:11 +0000 (13:32 +0000)]
Reverting 2950.
It causes test shell test failures.
Review URL: http://codereview.chromium.org/222004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2961
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 23 Sep 2009 13:04:07 +0000 (13:04 +0000)]
Handle array construction in native code (x64 version).
Ported the handle array construction in native code to x64. See http://codereview.chromium.org/193125 for details.
Please take a closer look of my use of the macro assembler Smi abstractions.
Review URL: http://codereview.chromium.org/209048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2960
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 23 Sep 2009 12:32:24 +0000 (12:32 +0000)]
* Remove non-Open Source code from Douglas Crockford.
* Be more var-correct in JS files.
* Rename some JS variables to reflect the fact that they are instance
variables on the global intrinsics object.
* Missing optimization in StringCharAt.
Review URL: http://codereview.chromium.org/215052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2959
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 23 Sep 2009 09:05:12 +0000 (09:05 +0000)]
Handle array construction in native code (ARM version).
Ported the handle array construction in native code to ARM. See http://codereview.chromium.org/193125 for details.
Review URL: http://codereview.chromium.org/217014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2956
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Sep 2009 08:13:19 +0000 (08:13 +0000)]
Prepare push to trunk containing fix for uninitialized memory bug.
Now working on version 1.3.14.
Review URL: http://codereview.chromium.org/228001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2955
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Sep 2009 07:55:48 +0000 (07:55 +0000)]
Initialize the can_continue_ field in the TryCatch constructor.
Review URL: http://codereview.chromium.org/227001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2954
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 22 Sep 2009 10:02:42 +0000 (10:02 +0000)]
Heap profiler: consider Function instances separately, similar to Arrays and Objects.
Review URL: http://codereview.chromium.org/209066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2950
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 22 Sep 2009 09:28:44 +0000 (09:28 +0000)]
Added change to ChangeLog that had been left out.
Review URL: http://codereview.chromium.org/210041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2948
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 22 Sep 2009 08:40:44 +0000 (08:40 +0000)]
Prepare to push to trunk. Now working on 1.3.13.
Review URL: http://codereview.chromium.org/210040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2947
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 21 Sep 2009 10:35:47 +0000 (10:35 +0000)]
Stop "cooking" targets of jumps and calls in code objects. Do not convert jump and call targets to absolute pointers to Code objects during GC, heap verification, and serialization.
Review URL: http://codereview.chromium.org/203070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2941
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 21 Sep 2009 07:28:04 +0000 (07:28 +0000)]
Minor changes to the native array construct code
Named a constant and added an assert to get notified when related constants
change.
Removed reloading of the Array function when Array is called as a constructor as
the Array function is preserved in edi.
This - unlike r2908 and r2909 - both compiles and passes the tests.
Review URL: http://codereview.chromium.org/209012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2940
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 21 Sep 2009 07:12:38 +0000 (07:12 +0000)]
Eliminate recursion in ZoneSplayTree traversal.
Convert the code to be similar with JS version. Recursive traversal is dangerous as it can cause stack exhaustion on deep trees.
Review URL: http://codereview.chromium.org/211024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2939
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 18 Sep 2009 13:23:58 +0000 (13:23 +0000)]
Fix Windows build. My mistake for not trying it our prior to submitting.
Kudos to William Hesse for alarming me.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/214020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2938
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 18 Sep 2009 12:18:08 +0000 (12:18 +0000)]
Fix documentation of security callbacks.
Actually 1st parameter could be any object in prototype chain from this to actual holder, not only a
the global object.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2937
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 18 Sep 2009 12:05:18 +0000 (12:05 +0000)]
Heap profiler: count the number of back references for objects.
Also, perform some refactoring to reuse common code between constructor and retainer profiles.
Review URL: http://codereview.chromium.org/209028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2936
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 18 Sep 2009 12:02:36 +0000 (12:02 +0000)]
Fix --heap-stats option on X64
Review URL: http://codereview.chromium.org/210020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2935
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 18 Sep 2009 10:50:08 +0000 (10:50 +0000)]
Don't convert jump and call targets to code object pointers when (de)serializing.
Review URL: http://codereview.chromium.org/207012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Thu, 17 Sep 2009 12:13:08 +0000 (12:13 +0000)]
Changed valgrind script to match changed output format
Review URL: http://codereview.chromium.org/214006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 17 Sep 2009 11:56:58 +0000 (11:56 +0000)]
Remove failure expectation for mozilla test that now passes.
TBR=christian.plesner.hansen
Review URL: http://codereview.chromium.org/213005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 17 Sep 2009 11:11:01 +0000 (11:11 +0000)]
Land change by Jan de Mooij to change the toString behavior of
|function|.toString() for builtin functions.
Review URL: http://codereview.chromium.org/209014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Thu, 17 Sep 2009 10:35:52 +0000 (10:35 +0000)]
Lint fix
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Thu, 17 Sep 2009 08:58:06 +0000 (08:58 +0000)]
Add Object::IsDirty function in the API.
Review URL: http://codereview.chromium.org/209013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 17 Sep 2009 07:58:49 +0000 (07:58 +0000)]
Reverting 2909,2908
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 17 Sep 2009 07:24:44 +0000 (07:24 +0000)]
Fix compile error.
Why even compile simple changes?
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/209011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 17 Sep 2009 07:14:48 +0000 (07:14 +0000)]
Minor changes to the native array construct code.
Named a constant and added an assert to get notified when related constants change.
Removed reloading of the Array function when Array is called as a constructor as the Array function is preserved in edi.
Review URL: http://codereview.chromium.org/207010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 16 Sep 2009 20:36:08 +0000 (20:36 +0000)]
Argh, one more place to fix.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/194131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 16 Sep 2009 20:15:03 +0000 (20:15 +0000)]
Fix Windows build. I'm wondering, how does gcc accept such code?
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/201140
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 16 Sep 2009 19:44:04 +0000 (19:44 +0000)]
Fix variables names.
TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/193129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2905
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 16 Sep 2009 14:54:59 +0000 (14:54 +0000)]
Fix ARM build (gcc 3.3 failed to resolve types correctly) and constants names.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/195102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2904
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 16 Sep 2009 13:41:24 +0000 (13:41 +0000)]
Add initial version of retainers heap profile.
The profile is taken together with constructors profile. In theory, it
should represent a complete heap graph. However, this takes a lot of memory,
so it is reduced to a more compact, but still useful form. Namely:
- objects are aggregated by their constructors, except for Array and Object
instances, that are too hetereogeneous;
- for Arrays and Objects, initially every instance is concerned, but then
they are grouped together based on their retainer graph paths similarity (e.g.
if two objects has the same retainer, they are considered equal);
Review URL: http://codereview.chromium.org/200132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 16 Sep 2009 13:09:26 +0000 (13:09 +0000)]
Fix GC bug and ARM simulator timeout.
In the Runtime_DebugGetPropertyDetails the raw object pointers from a LookupResult could be used after a GC might have happened. Fixed the bug and restructured the code to make it less likely for changes to the code to re-introduce the bug.
Skipped a long running test from the ARM simulator in debug mode (and renamed the test).
Review URL: http://codereview.chromium.org/204039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 16 Sep 2009 12:40:15 +0000 (12:40 +0000)]
X64: Ensure that unary subtraction returns a zero-extended smi, if it returns a smi.
Review URL: http://codereview.chromium.org/195101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 16 Sep 2009 11:17:57 +0000 (11:17 +0000)]
Handle array construction on native code.
The construction of arrays when using the the Array function either as a constructor or a normal function is now handled fully in generated code in most cases. Only when Array is called with one argument which is either negative or abowe JSObject::kInitialMaxFastElementArray (which is currently 1000) or if the allocated object cannot fit in the room left in new space is the runtime system entered.
Two new native code built-in functions are added one for normal invocation and one for the construct call. The existing C++ builtin is renamed, but kept. When the normal invocation cannot be handled in generated code the C++ builtin is called. When the construct invocation cannot be handled in native code the generic construct stub is called (which will end up in the C++ builtin through a construct trampoline).
One thing that might be changed is preserving esi (constructor function) during the handling of a construct call. We know precisily what function we where calling anyway and can just reload it. This could remove the parameter construct_call to ArrayNativeCode and remove the handling of this from that function.
The X64 and ARM implementations are not part of this changelist.
Review URL: http://codereview.chromium.org/193125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 16 Sep 2009 08:48:17 +0000 (08:48 +0000)]
Clean up the ifdefs on ARM.
Ensure that we use ARMv5 instructions on ARMv6 and ARMv7 CPUs.
Review URL: http://codereview.chromium.org/206012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2898
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 16 Sep 2009 08:25:54 +0000 (08:25 +0000)]
[ES5] Made properties of the arguments array enumerable.
Review URL: http://codereview.chromium.org/200141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2897
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mark@chromium.org [Tue, 15 Sep 2009 18:03:12 +0000 (18:03 +0000)]
Remove explicit include of Chromium's common.gypi from v8.gyp.
Explicit includes of common.gypi are being deprecated. Chromium will include
the .gypi files that it needs by asking GYP to force-include them into each
.gyp file that it loads. See http://codereview.chromium.org/206006.
Review URL: http://codereview.chromium.org/193114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2895
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 15 Sep 2009 14:36:29 +0000 (14:36 +0000)]
Fixed typo in mozilla expectations file.
Review URL: http://codereview.chromium.org/206014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 15 Sep 2009 14:02:31 +0000 (14:02 +0000)]
Fixed mozilla test expectations.
Review URL: http://codereview.chromium.org/196121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 15 Sep 2009 13:30:46 +0000 (13:30 +0000)]
Added test suite adapter for es5conform.
Review URL: http://codereview.chromium.org/193112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 15 Sep 2009 11:51:40 +0000 (11:51 +0000)]
Implemented Object.keys.
Review URL: http://codereview.chromium.org/201114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2890
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 15 Sep 2009 11:48:18 +0000 (11:48 +0000)]
Prepare push to trunk. Now working on version 1.3.12.
Review URL: http://codereview.chromium.org/204020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2889
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 15 Sep 2009 11:39:47 +0000 (11:39 +0000)]
Use GetCodeFromTargetAddress everywhere, uniformly.
Review URL: http://codereview.chromium.org/193111
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2888
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 15 Sep 2009 11:35:23 +0000 (11:35 +0000)]
X64: Abstract indexing by a smi to the macro assembler.
Review URL: http://codereview.chromium.org/196118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 15 Sep 2009 11:11:09 +0000 (11:11 +0000)]
Make 'hidden' the default visibility for gcc. Add build option,
visibility=[hidden|default], that controls visibility and make
'hidden' the default. Export a few variables that had been forgotten.
Review URL: http://codereview.chromium.org/206011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 15 Sep 2009 11:07:26 +0000 (11:07 +0000)]
Add definition of ENABLE_DEBUGGER_SUPPORT to v8 gyp file.
This reflects the change in r2875 (http://code.google.com/p/v8/source/detail?r=2875) where ENABLE_DEBUGGER_SUPPORT is not longer defined automatcally in v8.h.
Review URL: http://codereview.chromium.org/196120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 15 Sep 2009 10:48:11 +0000 (10:48 +0000)]
Incorporate dtoa change from upstream to avoid potential buffer
overrun.
Review URL: http://codereview.chromium.org/196119
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2882
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 14 Sep 2009 12:20:13 +0000 (12:20 +0000)]
Fix bug that errnoeously sets FPU exception.
This has only been caught on Win64 yet.
Review URL: http://codereview.chromium.org/201106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2881
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 14 Sep 2009 09:00:21 +0000 (09:00 +0000)]
Fix lint error.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/203052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 14 Sep 2009 06:57:24 +0000 (06:57 +0000)]
Implemented missing pieces of the debugger for ARM.
The main piece of this change was to add support for break on return for ARM. On ARM the normal js function return consist of the following code sequence.
mov sp, fp
ldmia sp!, {fp, lr}
add sp, sp, #4
bx lr
to a call to the debug break return entry code using the following code sequence
mov lr, pc
ldr pc, [pc, #-4]
<debug break return entry code entry point address>
bktp 0
The values of Assembler::kPatchReturnSequenceLength and Assembler::kPatchReturnSequenceLength are somewhat misleading, but they fit the current use in the debugger. Also Assembler::kPatchReturnSequenceLength is used in the IC code as well (for something which is not related to return sequences at all). I will change that in a separate changelist.
For the debugger to work also added recording of the return sequence in the relocation info and handling of source position recording when a function ends with a return statement.
Used the constant kInstrSize instead of sizeof(Instr).
Passes all debugger tests on both simulator and hardware (only release mode tested on hardware).
Review URL: http://codereview.chromium.org/199075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2879
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 14 Sep 2009 06:39:54 +0000 (06:39 +0000)]
Fix cut and paste error in memory tracking. MapSpace -> CellSpace.
Review URL: http://codereview.chromium.org/194100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2878
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 11 Sep 2009 14:11:33 +0000 (14:11 +0000)]
Fix lint error
Review URL: http://codereview.chromium.org/200096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2877
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 11 Sep 2009 12:41:27 +0000 (12:41 +0000)]
Rename a constant to kCallTargetAddressOffset
Review URL: http://codereview.chromium.org/192075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2876
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 11 Sep 2009 12:26:15 +0000 (12:26 +0000)]
Control profiling/debugger support from build script.
The SCons build now has the options profilingsupport and debuggersupport for controlling the setting of the defines ENABLE_LOGGIGN_AND_PROFILING and ENABLE_DEBUGGER_SUPPORT. By default both are set to true.
The changes to the XCode project have not been tested.
Review URL: http://codereview.chromium.org/195061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2875
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 11 Sep 2009 12:21:48 +0000 (12:21 +0000)]
Use local cpplint.py if it exists.
If there is a local cpplint.py in the tools directory use this instead of any cpplint in the path. This makes it possible to run presubmit checks on Windows by downloading cpplint.py from http://code.google.com/p/google-styleguide/.
Review URL: http://codereview.chromium.org/194039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2874
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 10 Sep 2009 13:56:12 +0000 (13:56 +0000)]
Fix lint issue.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/203017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2873
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 10 Sep 2009 13:27:00 +0000 (13:27 +0000)]
Fix IA32 build.
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/201078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2872
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 10 Sep 2009 12:59:49 +0000 (12:59 +0000)]
Add option --build-only to the test runner.
This new option is convenient for cross-compilation as actually running the targets build does not make sense.
Review URL: http://codereview.chromium.org/200077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2871
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 10 Sep 2009 12:59:01 +0000 (12:59 +0000)]
Implement code patcher for x64.
Use the code patcher for the patching of the JS return sequence used by the debugger.
Added explicit instruction cache flushing in a code patching section which did not have it for completeness, even though it is not required on Intel processors.
Review URL: http://codereview.chromium.org/203016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2870
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 10 Sep 2009 12:55:27 +0000 (12:55 +0000)]
X64: Extract all smi operations into MacroAssembler macros.
First step in changing Smi representation.
Review URL: http://codereview.chromium.org/196077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2869
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 10 Sep 2009 07:13:01 +0000 (07:13 +0000)]
Use SSE2 instructions when available on ia32 platform.
Review URL: http://codereview.chromium.org/197057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2868
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Thu, 10 Sep 2009 06:52:46 +0000 (06:52 +0000)]
Fix crash during error reporting during bootstrapping.
Instead of crashing or reporting a fatal v8 error if an error occurs
during context initialization we now survive and return an empty
handle.
Review URL: http://codereview.chromium.org/194070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2867
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 9 Sep 2009 19:03:20 +0000 (19:03 +0000)]
Prepare push to trunk. Now working on version 1.3.11.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/201069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2865
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 9 Sep 2009 18:05:46 +0000 (18:05 +0000)]
Fix ARM compilation error.
Removed implementation of function which was no longer member of class Debug.
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/199063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2864
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 9 Sep 2009 17:45:21 +0000 (17:45 +0000)]
Cleaned up some debugger stuff on ia32 and x64.
Got rid of the debug break on return entry code which did not add anything. It just jumped directly to the debug break on return code.
Removed the CodePatcher class on x64 as it was not implemented.
Added instruction cache flush to where the return sequence was patched on x64.
Added some missing ENABLE_DEBUGGER_SUPPORT #ifdef/#endif.
Review URL: http://codereview.chromium.org/193057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2863
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 9 Sep 2009 15:16:26 +0000 (15:16 +0000)]
Find the correct function for script break points
The algorithm for finding the inner-most function containing a script break point was not correct when the script only contained one function. In that case the script function and not the actual function in the script could be returned depending on the order of the objects in the heap.
TEST=cctest/test-debug/ScriptBreakPointReload
BUG=none
Review URL: http://codereview.chromium.org/193059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2862
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 9 Sep 2009 14:50:00 +0000 (14:50 +0000)]
Increase max semi-space size.
Review URL: http://codereview.chromium.org/200059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 9 Sep 2009 12:08:40 +0000 (12:08 +0000)]
Fix x64 port by using 32 pages per chunk.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/195038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 9 Sep 2009 11:46:09 +0000 (11:46 +0000)]
Heap profiler: account primitive string objects as being constructed using 'String'.
Also:
- move constructor name getter near similar class name getter method;
- if the constructor is not present, use 'Object', as for class name, this eliminates a special case.
Review URL: http://codereview.chromium.org/202018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 9 Sep 2009 11:21:54 +0000 (11:21 +0000)]
Minor change to idle notification handling: perform a scavenge
followed by shrinking of new space earlier.
Review URL: http://codereview.chromium.org/199057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 9 Sep 2009 11:06:22 +0000 (11:06 +0000)]
Fix typo.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 9 Sep 2009 10:56:13 +0000 (10:56 +0000)]
Reduce the chunk size from 64 pages to 16 pages per chunk.
This reduces the initial V8 memory usage by roughly 2MB.
Review URL: http://codereview.chromium.org/194054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00