platform/upstream/v8.git
15 years agoReapply revision 1949. Stupid error.
ager@chromium.org [Thu, 14 May 2009 12:18:25 +0000 (12:18 +0000)]
Reapply revision 1949.  Stupid error.

Add virtual destructor to jump targets to make compiler happy.
Review URL: http://codereview.chromium.org/113396

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRevert revision 1949.
ager@chromium.org [Thu, 14 May 2009 11:55:18 +0000 (11:55 +0000)]
Revert revision 1949.
Review URL: http://codereview.chromium.org/115350

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReduce the memory used by frame elements from two words to one by
ager@chromium.org [Thu, 14 May 2009 11:43:09 +0000 (11:43 +0000)]
Reduce the memory used by frame elements from two words to one by
encoding the values in one word and by using an indirection table for
handles.

This reduces compilation time by roughly 10% and we should be able to make the slow case equality checking of frame elements faster as well.
Review URL: http://codereview.chromium.org/115347

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemoved the delete calls to ZoneObjects.
bak@chromium.org [Thu, 14 May 2009 11:36:10 +0000 (11:36 +0000)]
Removed the delete calls to ZoneObjects.
Review URL: http://codereview.chromium.org/115348

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago- Make VirtualFrame and JumpTarget zone allocated.
bak@chromium.org [Thu, 14 May 2009 11:03:55 +0000 (11:03 +0000)]
- Make VirtualFrame and JumpTarget zone allocated.
- Compacted the VirtualFrame representation.
-> Improved the compiler speed with 10%

Review URL: http://codereview.chromium.org/115345

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd more detailed timers of the various compilation passes. The
kmillikin@chromium.org [Thu, 14 May 2009 10:29:48 +0000 (10:29 +0000)]
Add more detailed timers of the various compilation passes.  The
aggregate compilation time timer is the same as it was before.

Review URL: http://codereview.chromium.org/115344

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMerge into tools/profile_view.js changes needed for DevTools profiler.
mikhail.naganov@gmail.com [Thu, 14 May 2009 09:27:34 +0000 (09:27 +0000)]
Merge into tools/profile_view.js changes needed for DevTools profiler.

Happily, most of them are removals of unneeded code.

Review URL: http://codereview.chromium.org/115300

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReapply r1900, r1897, r1895 with a fix.
kmillikin@chromium.org [Thu, 14 May 2009 08:55:34 +0000 (08:55 +0000)]
Reapply r1900, r1897, r1895 with a fix.

When a paged space shrinks by an even multiple of the chunk size,
ensure that the cached last page in the space is updated.

Review URL: http://codereview.chromium.org/113267

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoInitial bypass of JumpTarget::ComputeEntryFrame for deferred code
kmillikin@chromium.org [Thu, 14 May 2009 07:38:44 +0000 (07:38 +0000)]
Initial bypass of JumpTarget::ComputeEntryFrame for deferred code
entry labels where it is statically safe.

Review URL: http://codereview.chromium.org/115296

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoOptimize the scope creation code by lazily allocating the hash maps
kasperl@chromium.org [Thu, 14 May 2009 07:12:58 +0000 (07:12 +0000)]
Optimize the scope creation code by lazily allocating the hash maps
for dynamic variables (only do it for the scopes that need them).
Review URL: http://codereview.chromium.org/113393

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd parameter that allows to request data for scripts by their ids. It's going to...
yurys@chromium.org [Thu, 14 May 2009 06:39:47 +0000 (06:39 +0000)]
Add parameter that allows to request data for scripts by their ids. It's going to be used e.g. to request script sources by their ids.
Review URL: http://codereview.chromium.org/113335

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago- Update cctest.status to reflect that we cannot expect OutOfMemory exceptions
iposva@chromium.org [Wed, 13 May 2009 18:35:55 +0000 (18:35 +0000)]
- Update cctest.status to reflect that we cannot expect OutOfMemory exceptions
  in all situations.

Review URL: http://codereview.chromium.org/114025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoPointer difference is int and not long on Mac OS X.
iposva@chromium.org [Wed, 13 May 2009 16:39:31 +0000 (16:39 +0000)]
Pointer difference is int and not long on Mac OS X.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago- Fix build break on Mac OS X by using the proper formatting for pointers
iposva@chromium.org [Wed, 13 May 2009 16:37:39 +0000 (16:37 +0000)]
- Fix build break on Mac OS X by using the proper formatting for pointers
  by working around slightly "wrong" definition of uintptr_t on Mac OS X.
  Verified that this works on both ia32 and x64 on Linux and Mac OS X.

Review URL: http://codereview.chromium.org/115252

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAvoid linear search for non-locals in the scope code
kasperl@chromium.org [Wed, 13 May 2009 16:27:40 +0000 (16:27 +0000)]
Avoid linear search for non-locals in the scope code
when resolving variables inside with and eval scopes.
Review URL: http://codereview.chromium.org/114024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agox64: Stub out more unimplemented functions, we now link shell.
deanm@chromium.org [Wed, 13 May 2009 13:50:18 +0000 (13:50 +0000)]
x64: Stub out more unimplemented functions, we now link shell.

Review URL: http://codereview.chromium.org/113339

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdjust for differences in the arm signal structures between glibc versions.
deanm@chromium.org [Wed, 13 May 2009 13:44:25 +0000 (13:44 +0000)]
Adjust for differences in the arm signal structures between glibc versions.

Review URL: http://codereview.chromium.org/113332

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoOptimize the lexical scanner by selective inlining, and
kasperl@chromium.org [Wed, 13 May 2009 13:40:02 +0000 (13:40 +0000)]
Optimize the lexical scanner by selective inlining, and
by dealing with whitespace as part of the token scanning
instead of as a separate step before it.
Review URL: http://codereview.chromium.org/113336

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoX64: Added dummy definitions of needed functions.
lrn@chromium.org [Wed, 13 May 2009 12:50:33 +0000 (12:50 +0000)]
X64: Added dummy definitions of needed functions.
All functions added in assembler-x64.cc. They should be distributed to where they belong when they are implemented.

Review URL: http://codereview.chromium.org/113334

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix asterisk spacing.
erik.corry@gmail.com [Wed, 13 May 2009 12:34:35 +0000 (12:34 +0000)]
Fix asterisk spacing.
Review URL: http://codereview.chromium.org/113333

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix bug 344: always keep attributes of existing properties.
whesse@chromium.org [Wed, 13 May 2009 10:46:28 +0000 (10:46 +0000)]
Fix bug 344: always keep attributes of existing properties.
Review URL: http://codereview.chromium.org/113197

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRefactor JumpTarget::Combine.
kmillikin@chromium.org [Wed, 13 May 2009 10:29:49 +0000 (10:29 +0000)]
Refactor JumpTarget::Combine.
Review URL: http://codereview.chromium.org/113329

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdded support to backtrace from botton of stack to debugger protocol.
sgjesse@chromium.org [Wed, 13 May 2009 08:54:50 +0000 (08:54 +0000)]
Added support to backtrace from botton of stack to debugger protocol.

Fixed backtrace in D8 debugger and added gdb like syntax 'bt n' and 'bt -n' in addition to the already existing 'bt from to'.
Review URL: http://codereview.chromium.org/99342

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoStreamline JumpTarget::ComputeEntryFrame by removing the separate loop
kmillikin@chromium.org [Wed, 13 May 2009 07:21:37 +0000 (07:21 +0000)]
Streamline JumpTarget::ComputeEntryFrame by removing the separate loop
that sets the static type on elements in the entry frame.  Instead set
the static type as early as possible when computing elements.

Because the elements are shared with the reaching frames, this has the
side effect of sometimes changing the static type of reaching frame
elements.  They will be changed anyway in VirtualFrame::PrepareMergeTo
immediately after, so this is safe.

Review URL: http://codereview.chromium.org/113258

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSplit the RUNTIME_FUNCTION_LIST_ALWAYS macro into two as this macro is
iposva@chromium.org [Wed, 13 May 2009 05:46:51 +0000 (05:46 +0000)]
Split the RUNTIME_FUNCTION_LIST_ALWAYS macro into two as this macro is
very large for Visual Studio's
intellisense operation thus causing it to crash.

Fixes bug http://code.google.com/p/chromium/issues/detail?id=11837

Bug=11837

Patch submitted by: ananta@chromium.org

Review URL: http://codereview.chromium.org/115287

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoTiny change to make code match the comment.
iposva@chromium.org [Wed, 13 May 2009 05:38:38 +0000 (05:38 +0000)]
Tiny change to make code match the comment.

Review URL: http://codereview.chromium.org/101017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix for issue 339:
iposva@chromium.org [Tue, 12 May 2009 22:07:10 +0000 (22:07 +0000)]
Fix for issue 339:
- Move GetHiddenProperties functionality from object.cc to handle.cc to
  be more robust in the presence of GC in the middle of the function.

Review URL: http://codereview.chromium.org/115267

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix incorrect assert on ARM that assumed that coprocessor id was always zero. This
erik.corry@gmail.com [Tue, 12 May 2009 21:35:43 +0000 (21:35 +0000)]
Fix incorrect assert on ARM that assumed that coprocessor id was always zero.  This
is hit in debug mode on non-EABI non-simulator ARM platforms.  Thanks to
richarjo@gmail.com for reporting.
Review URL: http://codereview.chromium.org/113299

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix fp problems in runtime code on ARM EABI by 8-byte aligning
erik.corry@gmail.com [Tue, 12 May 2009 20:11:01 +0000 (20:11 +0000)]
Fix fp problems in runtime code on ARM EABI by 8-byte aligning
the stack on exit to C.
Review URL: http://codereview.chromium.org/115256

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years ago- Fix build break due to warning about control reaching end of non-void
iposva@chromium.org [Tue, 12 May 2009 17:17:23 +0000 (17:17 +0000)]
- Fix build break due to warning about control reaching end of non-void
  function.

Review URL: http://codereview.chromium.org/115245

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoValgrind outputs large numbers like 4,096 (with the commas) and
kasperl@chromium.org [Tue, 12 May 2009 14:05:37 +0000 (14:05 +0000)]
Valgrind outputs large numbers like 4,096 (with the commas) and
that isn't matched by \d+. Ug.
Review URL: http://codereview.chromium.org/115238

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoX64: Added stubs for unimplemented disassembler functions.
lrn@chromium.org [Tue, 12 May 2009 13:09:02 +0000 (13:09 +0000)]
X64: Added stubs for unimplemented disassembler functions.

Review URL: http://codereview.chromium.org/113261

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRevert r1900, r1897 and r1895 which are all gc changes. The changes
ager@chromium.org [Tue, 12 May 2009 13:02:15 +0000 (13:02 +0000)]
Revert r1900, r1897 and r1895 which are all gc changes.  The changes
to the page iterator leads to occasional crashes in tests.
Review URL: http://codereview.chromium.org/113262

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix for issue 341. In the stub for instanceof, we could try to read
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

15 years agoX64: General fixes - added inline definitions and changed some places to intptr_t.
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

15 years agoDon't go into runtime system for the allocation of floating point
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

15 years agoScript context information is included in before/afterCompile events.
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

15 years agoAdd new Splay benchmark to the V8 benchmark suite and remove
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

15 years agoPrepare to push version 1.2.3 to trunk.
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

15 years agoModify JumpTarget::ComputeEntryFrame to mark copied elements
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

15 years agoSimplify JumpTarget::ComputeEntryFrame. Eliminate a separate pass
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

15 years agoA register allocation bugfix.
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

15 years agoFix intermittent crashes caused by unexpected GCs in
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

15 years agoDon't keep data about JS code that is never executed.
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

15 years agoReturn immediately from GetLogLines if logging to memory isn't enabled.
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

15 years agoChange the structure of the scavenge collector's loop. Move
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

15 years agoAllocate proxy before the script to allow heap verification
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

15 years agoX64: Serialization fixed to use intptr_t/Address where needed.
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

15 years agoBefore a scavenge collection in debug builds with ENABLE_SLOW_ASSERTS,
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

15 years agoFix lint
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

15 years agoChanged the PageIterator class so that it only returns pages existing
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

15 years agoX64: Changed TickSample to hold pointer-sized values for registers.
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

15 years agoX64: Changed 0x%x formats in log.cc to 0x%p and omitted reinterpretting pointers.
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

15 years agoRestore stack backtrace tests removed in revision 1785.
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

15 years agoChanged size of pointers stored as numbers to intptr_t in spaces.h.
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

15 years agoPort change (r1837) that allows call-as-function handlers to be called
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

15 years agoThe ARM assembler tests don't install the standard JS natives. When
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

15 years agoMake check in GetExternalString a runtime check instead of ASSERT.
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

15 years agoFix debug mode :-/
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

15 years agoAdd x64 header files to make the build compile
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

15 years agoMissing file from last change. TBR=kasperl
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

15 years agoX64: Fixed conversion between tread_id (int) and void*.
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

15 years agoFix Chromium bug 1717 by emulating JSCs somewhat strange hidden
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

15 years agoMake assembler-x64.h and assembler-x64-inl.h compile
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

15 years agoUse the correct V8_HOST_ARCH macro, it is IA32 and not X86.
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

15 years agoHave the profiler load the correct registers on x64.
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

15 years agoAdded context information to scripts.
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

15 years agoX64: Changed hash computations to only use lower 32 bits of pointers.
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

15 years agoX64: Made hash computation in serializer accept 64-bit pointers.
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

15 years agoX64 adaption: Changed a constant from kBitsPerPointer to kBitsPerInt.
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

15 years agoExtend the regression test case for crbug.com/9746 to
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

15 years agoAdd function inferred name to FunctionMirror and its json representation.
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

15 years agoIntroduce internal Log class that handles writing log messages, enable logging to...
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

15 years agoStub out a small portion of the x64 assembler.
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

15 years agoMake sure to report out-of-memory situations when the
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

15 years agoAdd a temporary hack to FmtElm to truncate 64-bit pointers to 32-bits.
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

15 years agoChange some pointer alignment checks in irregexp to use intptr_t.
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

15 years agoAdd a x64 stub of frames-x64.h so we have StackHandlerConstants.
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

15 years agoIntroduce two separate classes of processor detection:
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

15 years agoAdded test for issue 334.
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

15 years agoFix lint failure.
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

15 years agoUse our own macros for 64-bit constants.
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

15 years agoRevert workaround for http://crbug.com/9746.
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

15 years agoChanged definition of INT64_C and UINT64_C to use the one in stdint.h.
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

15 years agoAdd the ability to set embedder data on created contexts from the API.
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

15 years agoSome cleanup of the mark-sweep/compact collector following the symbol
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

15 years agoPrepare to push version 1.2.2 to trunk.
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

15 years agoAdd regression test case for crbug.com/9746.
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

15 years agoClean up comment.
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

15 years agoImproved, safer handling of the symbol table. The symbols themselves
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

15 years agoReverty 1842 (see http://code.google.com/p/chromium/issues/detail?id=1717 )
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

15 years agoFix a guard style inconsistency in regexp-stack.h.
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

15 years agoMore special handling of the symbol table during garbage collection.
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

15 years agoCleanup include guards:
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

15 years agoInclude 64-bit pointer and constant types in include/v8.h.
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

15 years agoChanged some int casts to intptr_t.
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

15 years agoFix http://code.google.com/p/chromium/issues/detail?id=1717
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

15 years agoRemoved long-running array sort test.
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

15 years agoAdded empty files in the x64 directory.
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

15 years agosvn:ignore another gyp generated file
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