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
sgjesse@chromium.org [Wed, 9 Sep 2009 10:49:40 +0000 (10:49 +0000)]
Set svn:eol-style native for all files in src and its subdirectories.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/193056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 9 Sep 2009 09:58:00 +0000 (09:58 +0000)]
Fix presubmit.
TBR=yurys@chromium.org
Review URL: http://codereview.chromium.org/197056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 9 Sep 2009 09:35:34 +0000 (09:35 +0000)]
Compile fixes for ARM and miscellaneous spolling.
Review URL: http://codereview.chromium.org/199056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2853
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 9 Sep 2009 09:30:33 +0000 (09:30 +0000)]
Made function prototype property DontEnum for compatibility with
Safari. Fixed const error in api.
Review URL: http://codereview.chromium.org/200056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 9 Sep 2009 08:45:32 +0000 (08:45 +0000)]
Do not use left-over space after new space alignment for other spaces.
Doing so makes the max new space size influence the initial total size
of the heap.
This change reduces the initial memory use of V8 by over 6MB.
Review URL: http://codereview.chromium.org/202017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 9 Sep 2009 08:40:59 +0000 (08:40 +0000)]
Support stepping out for recursive functions.Simply flooding JS function from the calling stack frame with one shot breakpoints is not enough to support step out action in all cases since the function on top of the stack may be turn recursive and we may end up flooding itself. To overcome this a pointer to the stack frame where the debugger should be invoked after stepping out is strored in the debugger.Chromium bug:code.google.com/p/chromium/issues/detail?id=17967
Review URL: http://codereview.chromium.org/200041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 9 Sep 2009 07:57:12 +0000 (07:57 +0000)]
Set the svn:eol-style property on new file.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/201059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 9 Sep 2009 07:51:51 +0000 (07:51 +0000)]
Add MAP_FIXED to Uncommit calls to see if that has an effect on GMail
memory usage in Chromium 64-bit Linux.
Review URL: http://codereview.chromium.org/200055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 9 Sep 2009 07:01:20 +0000 (07:01 +0000)]
Refactor the register to name mapping in the ARM simulator.
Review URL: http://codereview.chromium.org/195024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 8 Sep 2009 12:51:08 +0000 (12:51 +0000)]
Fix lint error
Review URL: http://codereview.chromium.org/196042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 8 Sep 2009 11:52:05 +0000 (11:52 +0000)]
Win64 - Allow returning two values from a runtime function.
(Not yet fully functional)
Review URL: http://codereview.chromium.org/201042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2845
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 8 Sep 2009 10:20:28 +0000 (10:20 +0000)]
Added new scope type ScopeIterator::ScopeTypeCatch for with generated from catch blocks.
Removed a false assertion in ScopeIterator that assumed context extension to never be a JSContextExtensionObject.
The context extension object in a 'with' context is JSContextExtensionObject iff the 'with' statement is generated from a catch block in order to extend its local scope with a variable holding exception object. This is how we differentiate 'catch' scope from 'with' scope.
Chrome bug:
http://code.google.com/p/chromium/issues/detail?id=17229
Review URL: http://codereview.chromium.org/202005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 8 Sep 2009 08:49:54 +0000 (08:49 +0000)]
Remove special CheckEquals function for intptr_t on X64 platform.
Review URL: http://codereview.chromium.org/190004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 8 Sep 2009 07:35:23 +0000 (07:35 +0000)]
Change to limit the amount of space we waste due to fragmentation
in old space. Before this change we would compute the fragmentation
limit before the GC, but that means that we take all the garbage
into account - and consequently we almost never hit the limit (because
we have a lot of garbage).
This change changes the policy to compact on the *next* GC if we
determine that we have too much fragmentation after doing a GC.
We'll do a GC if we've wasted more than 1MB and more than 15% of
the old space size.
This can be further improved by computing whether or not to compact
during the marking phase.
Review URL: http://codereview.chromium.org/202008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 8 Sep 2009 07:22:35 +0000 (07:22 +0000)]
Add regression test case for crbug.com/18639 which
was fixed in r2642.
Review URL: http://codereview.chromium.org/192037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 7 Sep 2009 13:24:43 +0000 (13:24 +0000)]
Use more socket ports in debugger agent test.
This is an attempth to address the flakiness of the test cctest/test-debug/DebuggerAgent on the Mac build-bot.
Review URL: http://codereview.chromium.org/200037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Mon, 7 Sep 2009 12:37:56 +0000 (12:37 +0000)]
Modifies readline() to behave in the same way as it does in TraceMonkey.
Author: abdulla <abdulla.kamar@gmail.com>
Review URL: http://codereview.chromium.org/173262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 7 Sep 2009 12:24:10 +0000 (12:24 +0000)]
Allign Intel macro assemblers with changes to ARM macro assembler.
Removed bogus ASSERTs from Intel macro assemblers.
Added a debug mode generated code assert to allocation code.
Review URL: http://codereview.chromium.org/199044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 7 Sep 2009 12:07:40 +0000 (12:07 +0000)]
Move common enums for macro assemblers.
All macro-assembler-*.cc used a number of common enums. Moved these to macro-assembler.h.
Removed unused enum ExitJSFlag from ARM macro assembler.
Review URL: http://codereview.chromium.org/202004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2836
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 7 Sep 2009 10:47:31 +0000 (10:47 +0000)]
Use different output directories when building using the Visual Studion solution.The different Visual Studio solutions for building for the different architures ia32, x64 and arm (simulator) now use separate output directories. Debug/Release for ia32, Debug64/Release64 for x64 and DebugArm/ReleaseArm for arm (simulator).It was required to duplicate all the project files for arm to avoid output from ia32 and arm to get mixed.
Review URL: http://codereview.chromium.org/199006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 7 Sep 2009 10:31:02 +0000 (10:31 +0000)]
Last step in allocating objects in generated code on ARM.
Port specialized constructor code for constructing simple objects to ARM.
See http://codereview.chromium.org/173470 for description.
Review URL: http://codereview.chromium.org/196024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2834
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 7 Sep 2009 10:08:03 +0000 (10:08 +0000)]
Fix lint error.
TBR=erik.corry@chromium.org
Review URL: http://codereview.chromium.org/193039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 7 Sep 2009 09:44:29 +0000 (09:44 +0000)]
Second step in allocating objects in generated code on ARM.
Objects which require an additional fixed array to be allocated now have this allocated in generated code as well. Added allocation flags to the macro assembler new space allocation routines.
Changed the ia32 and x64 macro assemblers to take allocation flags to the allocation routines instead of boolean flag.
Review URL: http://codereview.chromium.org/201015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Mon, 7 Sep 2009 07:54:51 +0000 (07:54 +0000)]
Const Correctness for String::Value
Patch by Patrick Gansterer <paroga@paroga.com>.
Review at http://codereview.chromium.org/199043.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 7 Sep 2009 07:20:05 +0000 (07:20 +0000)]
Support stepping in functions called using CallFunction stub. When Debug::PrepareStep is called to prepare 'step in' and current code target is CallFunction stub, the debugger will find function being called on the expression stack and flood it with one shot breakpoints.
BreakLocationIterator changed to treat 'debugger;' statements as a possible break location. Since 'debugger;' statement should always invoke debugger it is hanled in a special way.
Related Chromium issue:
http://code.google.com/p/chromium/issues/detail?id=17978
Review URL: http://codereview.chromium.org/195015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 7 Sep 2009 07:09:57 +0000 (07:09 +0000)]
Fixed SCons build of Windows DLL.
The configuration for building the Windows shared library was lost when adding x64 Windows build to the SCons build. This should now be back.
Review URL: http://codereview.chromium.org/197036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 4 Sep 2009 19:38:04 +0000 (19:38 +0000)]
Fixing presubmit error
TBR=christian.plesner.hansen@gmail.com
Review URL: http://codereview.chromium.org/192024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen [Fri, 4 Sep 2009 15:36:53 +0000 (15:36 +0000)]
Fixed error in d8's write() function
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 4 Sep 2009 11:16:51 +0000 (11:16 +0000)]
Linux profiler: check whether signal handler is called in the VM thread.
I have several Chromium's core files having SIGPROF signal handler called in the context of an arbitrary thread, causing a crash. This change introduces checking of current thread in the signal handler.
Review URL: http://codereview.chromium.org/171115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Fri, 4 Sep 2009 11:05:16 +0000 (11:05 +0000)]
Fixed serializer issue.
Review URL: http://codereview.chromium.org/194023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 4 Sep 2009 11:00:07 +0000 (11:00 +0000)]
X64 RegExp - fix RegExp on WIN64.
Use the correct ifdef to detect Win64 (_WIN64, not __MSVC__).
Review URL: http://codereview.chromium.org/195014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2823
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 4 Sep 2009 08:09:58 +0000 (08:09 +0000)]
Marked Mozilla Date test as flaky.
Seems to err in a few cases, depending on the current time.
Review URL: http://codereview.chromium.org/192022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2822
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Fri, 4 Sep 2009 07:49:02 +0000 (07:49 +0000)]
Modifies write() so that NULs are allowed within a string.
This is required by the mandelbrot test in the language shootout.
Patch by abdulla <abdulla.kamar@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2821
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Fri, 4 Sep 2009 07:34:25 +0000 (07:34 +0000)]
Changed saved context stack to using direct pointers. Before we would
create a new persistent handle to hold the context to save when
entering another context, now we use a stack of direct pointers that
the gc knows about.
Review URL: http://codereview.chromium.org/199021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2820
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 3 Sep 2009 07:23:22 +0000 (07:23 +0000)]
Fix lint issue.
Review URL: http://codereview.chromium.org/197006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2819
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 2 Sep 2009 14:46:40 +0000 (14:46 +0000)]
Fix the debugger in the ARM simulator.
The debugger in the ARM simulator is now working again.
Added a help command and a command to print all registers. Made the printobject command print something in release builds.
Review URL: http://codereview.chromium.org/191004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 2 Sep 2009 14:25:05 +0000 (14:25 +0000)]
Fix LargeObjectSpace::Verify to allow external strings in large object
space.
This can happen if a very big sequential string gets externalized.
Review URL: http://codereview.chromium.org/185005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 2 Sep 2009 12:40:00 +0000 (12:40 +0000)]
Add verification flags to debug mjsunit test runs.
Review URL: http://codereview.chromium.org/186006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 2 Sep 2009 11:13:44 +0000 (11:13 +0000)]
First step in allocating objects in generated code on ARM.
Re-apply http://codereview.chromium.org/175045 with the single change that the line
mov(scratch, Operand(new_space_allocation_top));
have been added to MacroAssembler::UndoAllocationInNewSpace after the #endif. Without this change the top was not reset.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/184009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 2 Sep 2009 09:10:49 +0000 (09:10 +0000)]
ARM RegExp fix bug 432.
Review URL: http://codereview.chromium.org/186005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 2 Sep 2009 09:04:55 +0000 (09:04 +0000)]
Fixed cast in platform-macos.cc
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/171114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2813
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 2 Sep 2009 08:36:26 +0000 (08:36 +0000)]
Added possibility of miscompiled regexp to verfifier.
Review URL: http://codereview.chromium.org/188005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 2 Sep 2009 08:18:27 +0000 (08:18 +0000)]
Fix issue 434: make OS::LogSharedLibraryAddresses work on x64 Mac.
Also, enable tick processor to process 64-bit profiler logs on Mac.
BUG=http://code.google.com/p/v8/issues/detail?id=434
Review URL: http://codereview.chromium.org/180063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00