kmillikin@chromium.org [Tue, 12 May 2009 11:40:14 +0000 (11:40 +0000)]
Fix for issue 341. In the stub for instanceof, we could try to read
an object's map before we were sure it was a heap object.
Review URL: http://codereview.chromium.org/115236
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 12 May 2009 10:33:40 +0000 (10:33 +0000)]
X64: General fixes - added inline definitions and changed some places to intptr_t.
Review URL: http://codereview.chromium.org/113199
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 12 May 2009 10:14:45 +0000 (10:14 +0000)]
Don't go into runtime system for the allocation of floating point
numbers on ARM.
Review URL: http://codereview.chromium.org/115233
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 12 May 2009 09:08:01 +0000 (09:08 +0000)]
Script context information is included in before/afterCompile events.
Review URL: http://codereview.chromium.org/115128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 12 May 2009 08:23:11 +0000 (08:23 +0000)]
Add new Splay benchmark to the V8 benchmark suite and remove
the unused parts (most) of the Prototype library from raytrace.js.
Review URL: http://codereview.chromium.org/115227
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 11 May 2009 18:45:49 +0000 (18:45 +0000)]
Prepare to push version 1.2.3 to trunk.
Review URL: http://codereview.chromium.org/113210
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 11 May 2009 15:02:46 +0000 (15:02 +0000)]
Modify JumpTarget::ComputeEntryFrame to mark copied elements
immediately when putting a copy in the entry frame, rather than as
part of a separate pass after fully constructing the entry fraem.
Review URL: http://codereview.chromium.org/113198
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 11 May 2009 13:57:19 +0000 (13:57 +0000)]
Simplify JumpTarget::ComputeEntryFrame. Eliminate a separate pass
over the frame elements to find registers used (before allocating
undetermined elements) and another pass to set the frame's register
indices (after allocating all elements).
Review URL: http://codereview.chromium.org/114018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 8 May 2009 17:48:19 +0000 (17:48 +0000)]
A register allocation bugfix.
The function that prepares a virtual frame slot for writing (in order
to preserve the copy-on-write semantics of aliased frame elements) can
allocate registers, which may spill one from the frame. If we're
unlucky, the spilled register can be the source register for the frame
element write. In that case, ensure we do the write from memory.
Review URL: http://codereview.chromium.org/115125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1904
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 8 May 2009 12:39:37 +0000 (12:39 +0000)]
Fix intermittent crashes caused by unexpected GCs in
HasLocalProperty (bug introduced in r1882 et al.)
Review URL: http://codereview.chromium.org/115106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 8 May 2009 11:27:02 +0000 (11:27 +0000)]
Don't keep data about JS code that is never executed.
This reduces memory usage of tickprocessor. Thanks to William Hesse for pointing out this issue.
Also speed up static symbols loading.
Review URL: http://codereview.chromium.org/113101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 8 May 2009 10:06:38 +0000 (10:06 +0000)]
Return immediately from GetLogLines if logging to memory isn't enabled.
Review URL: http://codereview.chromium.org/115123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 7 May 2009 12:36:18 +0000 (12:36 +0000)]
Change the structure of the scavenge collector's loop. Move
scavenging of objects pointed to by weak handles earlier. Rename
"mark" => "front" and "top" => "rear" to make it clearer which end is
which.
Review URL: http://codereview.chromium.org/113097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 7 May 2009 12:25:46 +0000 (12:25 +0000)]
Allocate proxy before the script to allow heap verification
to check that all scripts have a proxy in the wrapper field.
Review URL: http://codereview.chromium.org/115081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 May 2009 11:50:09 +0000 (11:50 +0000)]
X64: Serialization fixed to use intptr_t/Address where needed.
Review URL: http://codereview.chromium.org/115080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1898
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 7 May 2009 10:43:33 +0000 (10:43 +0000)]
Before a scavenge collection in debug builds with ENABLE_SLOW_ASSERTS,
we verify that there are no pointers to new space from the code space.
Add the old data space to this verification.
Review URL: http://codereview.chromium.org/113095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1897
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 7 May 2009 10:31:14 +0000 (10:31 +0000)]
Fix lint
Review URL: http://codereview.chromium.org/115076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1896
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 7 May 2009 10:19:38 +0000 (10:19 +0000)]
Changed the PageIterator class so that it only returns pages existing
at construction time. If allocation during iteration causes a paged
space to expand, the iterator will not return the new pages.
This makes it more closely match the HeapObjectIterator behavior, and
it removes a possible source of bugs (if the allocation top was in the
last page in the space, the old iterator would stop only when it
reached the end of the space, potentially returning invalid pages from
a freshly expanded space).
Review URL: http://codereview.chromium.org/115074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1895
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 May 2009 09:34:16 +0000 (09:34 +0000)]
X64: Changed TickSample to hold pointer-sized values for registers.
Review URL: http://codereview.chromium.org/113094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 May 2009 09:27:42 +0000 (09:27 +0000)]
X64: Changed 0x%x formats in log.cc to 0x%p and omitted reinterpretting pointers.
Review URL: http://codereview.chromium.org/114010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 7 May 2009 09:24:43 +0000 (09:24 +0000)]
Restore stack backtrace tests removed in revision 1785.
To re-enable tests, instead of compiled code patching, inlined code is used.
Inlined code is only installed in test.
Review URL: http://codereview.chromium.org/108015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 May 2009 08:50:22 +0000 (08:50 +0000)]
Changed size of pointers stored as numbers to intptr_t in spaces.h.
Review URL: http://codereview.chromium.org/115073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1891
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 7 May 2009 07:18:33 +0000 (07:18 +0000)]
Port change (r1837) that allows call-as-function handlers to be called
through new to ARM.
Added simple test case of the current behavior.
For consistency, changed a number of occurences of explicit moves to
pc to use Jump instead.
Review URL: http://codereview.chromium.org/115014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1889
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 7 May 2009 00:10:01 +0000 (00:10 +0000)]
The ARM assembler tests don't install the standard JS natives. When
setting up push and pop we shouldn't make too many assumptions about
the structure of classes like 'Array'.
Review URL: http://codereview.chromium.org/113068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1888
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
davemoore@chromium.org [Wed, 6 May 2009 18:30:37 +0000 (18:30 +0000)]
Make check in GetExternalString a runtime check instead of ASSERT.
This will allow us to remove the separate call to IsExternal() from our
chrome client code, speeding up the combination.
Review URL: http://codereview.chromium.org/113035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 6 May 2009 13:34:06 +0000 (13:34 +0000)]
Fix debug mode :-/
Review URL: http://codereview.chromium.org/115025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1886
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 6 May 2009 13:27:35 +0000 (13:27 +0000)]
Add x64 header files to make the build compile
Review URL: http://codereview.chromium.org/115023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1885
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 6 May 2009 13:19:55 +0000 (13:19 +0000)]
Missing file from last change. TBR=kasperl
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 May 2009 13:11:56 +0000 (13:11 +0000)]
X64: Fixed conversion between tread_id (int) and void*.
Thread id's are always int size values (generated from an int counter).
Review URL: http://codereview.chromium.org/113030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 6 May 2009 12:54:57 +0000 (12:54 +0000)]
Fix Chromium bug 1717 by emulating JSCs somewhat strange hidden
prototypes on some built in types.
Review URL: http://codereview.chromium.org/109004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1882
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 6 May 2009 12:08:50 +0000 (12:08 +0000)]
Make assembler-x64.h and assembler-x64-inl.h compile
Review URL: http://codereview.chromium.org/115021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1881
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Wed, 6 May 2009 11:40:44 +0000 (11:40 +0000)]
Use the correct V8_HOST_ARCH macro, it is IA32 and not X86.
Review URL: http://codereview.chromium.org/115022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Wed, 6 May 2009 11:19:50 +0000 (11:19 +0000)]
Have the profiler load the correct registers on x64.
This is still not correct, since internally they are kept as an int.
Use our new V8_HOST_ARCH macros for detecting the host processor.
Review URL: http://codereview.chromium.org/109025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1879
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 6 May 2009 08:52:48 +0000 (08:52 +0000)]
Added context information to scripts.
Added a simple initial version of a context mirror object which just holds the user data from the context, and does not preserve handle identity.
A script object now holds a reference to the custom data from the context it was compiled in. This data is included in the debugger protocol for scripts.
Changed the serialization for the scripts command to use the mirror objects instaed of custom serialization. This included passing options from the debugger request to the serializer for including the full source of scripts in the response.
Review URL: http://codereview.chromium.org/111001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1877
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 May 2009 08:42:36 +0000 (08:42 +0000)]
X64: Changed hash computations to only use lower 32 bits of pointers.
Review URL: http://codereview.chromium.org/115017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1876
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 May 2009 07:53:08 +0000 (07:53 +0000)]
X64: Made hash computation in serializer accept 64-bit pointers.
Also changed api Wrap function to only wrap suitably small pointers as Smis.
Added Smi validity check and factory meethod for intptr_t.
Review URL: http://codereview.chromium.org/113023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1875
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 May 2009 06:53:49 +0000 (06:53 +0000)]
X64 adaption: Changed a constant from kBitsPerPointer to kBitsPerInt.
Still stays within the size of Smi and works with a uint32_t bitfield.
Bitfield might need to be extended to handle a larger base.
Review URL: http://codereview.chromium.org/109020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1874
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 6 May 2009 06:20:35 +0000 (06:20 +0000)]
Extend the regression test case for crbug.com/9746 to
make sure we actually get rid of the external string
eventually.
Review URL: http://codereview.chromium.org/113022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1872
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 5 May 2009 18:12:03 +0000 (18:12 +0000)]
Add function inferred name to FunctionMirror and its json representation.
Review URL: http://codereview.chromium.org/109026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1871
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 5 May 2009 15:57:47 +0000 (15:57 +0000)]
Introduce internal Log class that handles writing log messages, enable logging to memory buffer.
This will enable reading profiler log in Chrome. The current implementation of memory buffer is trivial (fixed size buffer, no memory recycling) but enough to start end-to-end DevTools Profiler implementation. Later it will be enhanced.
Review URL: http://codereview.chromium.org/108011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1870
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 5 May 2009 14:39:05 +0000 (14:39 +0000)]
Stub out a small portion of the x64 assembler.
Review URL: http://codereview.chromium.org/108014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1869
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 5 May 2009 14:38:33 +0000 (14:38 +0000)]
Make sure to report out-of-memory situations when the
heap returns RetryAfterGC even when forced to always
allocate.
Review URL: http://codereview.chromium.org/109023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1868
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 5 May 2009 14:28:02 +0000 (14:28 +0000)]
Add a temporary hack to FmtElm to truncate 64-bit pointers to 32-bits.
We will have to do some more work to get the code to handle pointers correctly.
Also clean up the constructors, and reduce the long lines.
Review URL: http://codereview.chromium.org/109021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1867
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 5 May 2009 14:23:41 +0000 (14:23 +0000)]
Change some pointer alignment checks in irregexp to use intptr_t.
Review URL: http://codereview.chromium.org/109022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1866
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 5 May 2009 12:26:29 +0000 (12:26 +0000)]
Add a x64 stub of frames-x64.h so we have StackHandlerConstants.
This is just a stripped down version of ia32, and will need to change.
Review URL: http://codereview.chromium.org/108010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1865
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 5 May 2009 12:06:20 +0000 (12:06 +0000)]
Introduce two separate classes of processor detection:
- TARGET, the architecture we will generate code for.
This is brought it from the build system.
- HOST, the architecture our C++ compiler is building for.
This is detected automatically based on compiler defines.
This adds macros for 32 or 64 bit, and cleans up some
include conditionals, etc.
Review URL: http://codereview.chromium.org/99355
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1864
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 5 May 2009 11:52:37 +0000 (11:52 +0000)]
Added test for issue 334.
Test for issue 334 (oveerwriting function erases attributes).
Review URL: http://codereview.chromium.org/109009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1863
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 5 May 2009 10:25:55 +0000 (10:25 +0000)]
Fix lint failure.
TBR=ager@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1862
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Tue, 5 May 2009 10:21:28 +0000 (10:21 +0000)]
Use our own macros for 64-bit constants.
Review URL: http://codereview.chromium.org/109017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 5 May 2009 10:15:05 +0000 (10:15 +0000)]
Revert workaround for http://crbug.com/9746.
Review URL: http://codereview.chromium.org/109015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 5 May 2009 09:50:29 +0000 (09:50 +0000)]
Changed definition of INT64_C and UINT64_C to use the one in stdint.h.
Since Chromium build system appears to define __STDC_CONSTANT_MACROS, we might as well use the macro definitions from stdint.h in all cases.
Review URL: http://codereview.chromium.org/109016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 5 May 2009 09:38:45 +0000 (09:38 +0000)]
Add the ability to set embedder data on created contexts from the API.
Expose the active context where a break event occoured through the debug message handler.
Review URL: http://codereview.chromium.org/109013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 5 May 2009 09:26:06 +0000 (09:26 +0000)]
Some cleanup of the mark-sweep/compact collector following the symbol
table debacle.
Review URL: http://codereview.chromium.org/109012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 5 May 2009 07:08:56 +0000 (07:08 +0000)]
Prepare to push version 1.2.2 to trunk.
Review URL: http://codereview.chromium.org/109005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 5 May 2009 07:02:25 +0000 (07:02 +0000)]
Add regression test case for crbug.com/9746.
Review URL: http://codereview.chromium.org/109003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 5 May 2009 05:17:39 +0000 (05:17 +0000)]
Clean up comment.
TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/108003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 5 May 2009 05:13:09 +0000 (05:13 +0000)]
Improved, safer handling of the symbol table. The symbols themselves
are not treated as roots, but all their subparts are.
Review URL: http://codereview.chromium.org/108002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 4 May 2009 19:35:46 +0000 (19:35 +0000)]
Reverty 1842 (see code.google.com/p/chromium/issues/detail?id=1717 )
Review URL: http://codereview.chromium.org/99346
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Mon, 4 May 2009 19:31:36 +0000 (19:31 +0000)]
Fix a guard style inconsistency in regexp-stack.h.
Two spaces before the endif guard comment.
Review URL: http://codereview.chromium.org/99363
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 4 May 2009 18:47:50 +0000 (18:47 +0000)]
More special handling of the symbol table during garbage collection.
Mark all objects reachable from the symbols except the symbols
themselves as live (and reachable from strong roots). This ensures
that if the symbol itself remains alive for any reason, and if it was
a sliced string or cons string backed by an external string, then the
external string will be strongly reachable and therefore not get a
weak reference callback.
Review URL: http://codereview.chromium.org/100344
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Mon, 4 May 2009 13:36:43 +0000 (13:36 +0000)]
Cleanup include guards:
- Fix some typos / guards that didn't match the filename.
- Fix some style inconsistencies.
- Add guards to files that were missing them.
- Add the directory name to the guard.
Review URL: http://codereview.chromium.org/99343
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1845
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 4 May 2009 13:29:29 +0000 (13:29 +0000)]
Include 64-bit pointer and constant types in include/v8.h.
Make some definitions in globals.h 64-bit safe
Review URL: http://codereview.chromium.org/100336
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1844
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 4 May 2009 13:11:38 +0000 (13:11 +0000)]
Changed some int casts to intptr_t.
Removed a drop in an ocean of compile errors in x64 mode.
Review URL: http://codereview.chromium.org/100337
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 4 May 2009 12:34:20 +0000 (12:34 +0000)]
Fix code.google.com/p/chromium/issues/detail?id=1717
undeletable functions on some prototypes.
Review URL: http://codereview.chromium.org/100335
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 4 May 2009 09:07:36 +0000 (09:07 +0000)]
Removed long-running array sort test.
Long running array-sort test times out on ARM.
Also fixed a bug in another test.
Review URL: http://codereview.chromium.org/100330
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 4 May 2009 07:16:10 +0000 (07:16 +0000)]
Added empty files in the x64 directory.
Added initially empty files for x64 development.
Review URL: http://codereview.chromium.org/100327
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 4 May 2009 06:38:03 +0000 (06:38 +0000)]
svn:ignore another gyp generated file
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Fri, 1 May 2009 19:01:19 +0000 (19:01 +0000)]
A simple fix of issue code.google.com/p/chromium/issues/detail?id=3285
NPN_Construct allows a NPObject to be called as a construct. For example, the
test case
var s = new app.Packages.java.lang.Integer(5);
app.Packages.java.lang.Integer is a NPObject, and it implements NPN_Construct.
This fix allows a JSObject created by an API function be called as a construct
if it can be called
as a function. This is done by generating the same code for
var s = new app.Packages.java.lang.Integer(5); as
var s = app.Packages.java.lang.Integer(5);
and the caller handles both case correctly. A more sophiscated fix is to one
extra JSConstructCall
frame and allow CallAsConstructor in Builtin::HandleApiCallAsFunction.
This change itself shouldn't affect the semantic of normal case such as:
var a = {};
var s = new a();
A TypeError exception will be thrown in CALL_NON_FUNCTION (runtime.js).
Another part of fix is in the binding code, V8NPObject, which makes
NPN_InvokeDefault or NPN_Construct
call depending on which function is available.
Review URL: http://codereview.chromium.org/100243
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
asargent@chromium.org [Fri, 1 May 2009 16:39:21 +0000 (16:39 +0000)]
Add to documentation for GetIdentityHash
Review URL: http://codereview.chromium.org/99250
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1836
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 1 May 2009 14:37:28 +0000 (14:37 +0000)]
Stop inlining of list reallocation in virtual frames.
Review URL: http://codereview.chromium.org/100253
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 1 May 2009 12:20:31 +0000 (12:20 +0000)]
Add change accidentally omitted from last changelist.
Review URL: http://codereview.chromium.org/100252
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 1 May 2009 11:16:29 +0000 (11:16 +0000)]
When strings can change from an ASCII representation to a
UC16 representation we need to be careful about flat strings.
Flat strings can be sliced or cons strings that have a flat
string under them, so when we ask a flat cons or a slice whether
it is ASCII or not we should ask the underlying string about
its representation. This should fix
http://code.google.com/p/chromium/issues/detail?id=10971
Review URL: http://codereview.chromium.org/100249
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 1 May 2009 10:06:55 +0000 (10:06 +0000)]
Made sort on non-arrays also affect elements on the prototype, for JSC compatability.
Made sort on non-objects with inherited elements JSC compatible.
Review URL: http://codereview.chromium.org/99272
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Thu, 30 Apr 2009 17:06:02 +0000 (17:06 +0000)]
Add version.cc and version.h to Xcode project.
Review URL: http://codereview.chromium.org/100211
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 30 Apr 2009 10:30:44 +0000 (10:30 +0000)]
Fixed SCons build when not running from the V8 root directory.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/100201
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 30 Apr 2009 09:29:15 +0000 (09:29 +0000)]
Added better version information
The current version is now held in src/version.cc in a number of defines which needs to be modified when changing version.
The following defines make up the version information:
MAJOR_VERSION
MINOR_VERSION
BUILD_NUMBER
PATCH_LEVEL
CANDIDATE_VERSION
The first four are numbers and the fifth is a boolean. Besides these five the define
SONAME
can be used to set a specific soname when building the a shared library (see below). This will most likely be used on stable branches where binary compatibility is ensured between different versions. This define is a string.
This version information is now read by the SCons build to support setting the soname for a Linux shared library. This requires passing the option soname=on to the SCons build.
When soname=on is specified the soname for the shared library can be set in two different ways. Either it will be the full versioned library name (e.g. libv8-1.2.2.so) or a specific soname defined in src/version.cc. Whenever a shared library is build with an soname the filename of the library will hold the full version name (e.g. libv8-1.2.2.so).
I did not update the xcode project with the new files.
BUG=151
Review URL: http://codereview.chromium.org/100104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 30 Apr 2009 09:21:50 +0000 (09:21 +0000)]
Improve register allocation of left shift operation. Add tests
for all shift operations.
Review URL: http://codereview.chromium.org/101016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 30 Apr 2009 08:12:32 +0000 (08:12 +0000)]
svn ignore gyp generated files
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 30 Apr 2009 08:10:27 +0000 (08:10 +0000)]
Enhancing profiling data processing code with functionality needed for the Dev Tools Profiler.
Details:
- added properties / functions in view objects needed for WebKit's ProfileView;
- added ability to count profiles for specific functions.
The tickprocessor functionality does not affected.
Review URL: http://codereview.chromium.org/99181
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1823
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 30 Apr 2009 07:21:54 +0000 (07:21 +0000)]
Added architecture properties to Windows Scons build.
Made scons build work on windows.
Review URL: http://codereview.chromium.org/100175
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1822
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
asargent@chromium.org [Wed, 29 Apr 2009 21:44:13 +0000 (21:44 +0000)]
Make Object::GetIdentityHash() never return 0.
This is convenient when using identity hashes in data structures that
want to reserve 0 as a sentinel value, such as WebKit's WTF::HashMap.
Review URL: http://codereview.chromium.org/100147
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1821
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 29 Apr 2009 15:20:37 +0000 (15:20 +0000)]
Fix .gyp file and avoid adding -m32 on 32 bit systems.
Fix SConstruct to only add -m32 if the compiler needs it.
Review URL: http://codereview.chromium.org/100160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1820
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 29 Apr 2009 14:06:10 +0000 (14:06 +0000)]
Fix the xcode project to define the correct V8_ARCH_*.
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/99188
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1819
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 29 Apr 2009 13:57:48 +0000 (13:57 +0000)]
Add a mjsunit test to cover more paths in the ia32 code generator.
Review URL: http://codereview.chromium.org/99187
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 29 Apr 2009 13:11:48 +0000 (13:11 +0000)]
Create build structure for X64.
Possible to attempt to build for X64.
Build will be unsuccessful, since all x64 source files are
missing and pointers are reinterpreted as integers everywhere.
Review URL: http://codereview.chromium.org/99186
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 29 Apr 2009 12:54:07 +0000 (12:54 +0000)]
Create a transition API for the debug message handler.
Kept the previous message handler API to avoid breaking clients depending on it.
The new message handler API uses a new name ending with 2.
Review URL: http://codereview.chromium.org/100158
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 29 Apr 2009 11:12:58 +0000 (11:12 +0000)]
Remove tab to satisfy lint
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/99180
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 29 Apr 2009 11:04:28 +0000 (11:04 +0000)]
Unbreak IA32 generated code coverage.
Review URL: http://codereview.chromium.org/100156
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 29 Apr 2009 09:04:20 +0000 (09:04 +0000)]
Re-submit codereview.chromium.org/99122 after fixing compilation issues.
TBR=yurys@chromium.org
Review URL: http://codereview.chromium.org/100155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1813
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 29 Apr 2009 08:33:01 +0000 (08:33 +0000)]
Reverting 1811.
Review URL: http://codereview.chromium.org/99175
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 29 Apr 2009 08:23:58 +0000 (08:23 +0000)]
Changed the debugger message API to receive an object instead of a JSON string.
The object delivered to the debug message handler contains additional information on the current break handling the messages.
Clients which require just JSON message parsing can simply get the JSON using the GetJSON message on the message object to still have the previous behaviour.
NewMessageHangler(const v8::Debug::Message& message) {
v8::String::Value val(message.GetJSON());
OldMessageHandler(Vector<uint16_t>(const_cast<uint16_t*>(*val), val.length()));
}
Refactored some of the debugger code to use internal handles instead of API handles. Also changed Object to JSObject is some places.
The access to the active context when the break occurred is still not implemented. I will add this in a new CL, as this one is quite big already.
Review URL: http://codereview.chromium.org/99122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Wed, 29 Apr 2009 00:01:51 +0000 (00:01 +0000)]
Fix names after move of architecture dependent files.
TBR=lrn
Review URL: http://codereview.chromium.org/100138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 28 Apr 2009 15:14:44 +0000 (15:14 +0000)]
Fix lint error
Review URL: http://codereview.chromium.org/100105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1809
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 28 Apr 2009 13:53:15 +0000 (13:53 +0000)]
Change MergeTo code for virtual frames to use register indices.
Review URL: http://codereview.chromium.org/99052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1808
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 28 Apr 2009 10:53:47 +0000 (10:53 +0000)]
Add stubbed-out versions of missing member functions on ARM.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/99123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1807
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 28 Apr 2009 10:40:36 +0000 (10:40 +0000)]
Inline the inobject property case for named property loads.
Review URL: http://codereview.chromium.org/99120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 28 Apr 2009 09:15:31 +0000 (09:15 +0000)]
Rename profileview.js -> profile_view.js because WebInspector already has ProfileView.js.
Review URL: http://codereview.chromium.org/100102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1805
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 27 Apr 2009 13:50:42 +0000 (13:50 +0000)]
TickProcessor script reimplemented in JavaScript.
This is an effort to reuse profiler data processing code both in
TickProcessor and Dev Tools Profiler. The old Python implementation
will be removed.
The new TickProcessor works almost identical to the previous one.
However, it has some differences:
1. Not very useful "Call profile" section is replaced with a new
WebKit-like "Bottom up (heavy) profile" which shows the most
expensive functions together with their callers. I used it
personally in order to find and remove bottlenecks in the
tickprocessor script itself, and found it quite helpful.
2. Code entries with duplicate names (they occur for RegExes, stubs
and sometimes for anonymous Function objects) are now distinguished
by adding an occurence number inside curly brackets.
3. (Address -> code entry) mapping is more precise in boundary cases.
4. Windows version no more requires specifying .map file location.
5. Works faster.
Review URL: http://codereview.chromium.org/99054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1802
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 27 Apr 2009 12:38:20 +0000 (12:38 +0000)]
1. Send 'afterCompile' event to the debug message handler.2. Process messages from the debugger command queue on each event not only break and exception.3. auto_continue is always true for compilation events.
Review URL: http://codereview.chromium.org/100034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1801
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 27 Apr 2009 11:16:59 +0000 (11:16 +0000)]
Fix Issue 326. Handle sorting of non-array objects correctly.
Change handling of sorting to be the same for all JS-arrays.
Collect undefined values as well while removing holes.
Review URL: http://codereview.chromium.org/92123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1800
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00