platform/upstream/v8.git
15 years agoFix unmotivated change which causes mismatch between function
iposva@chromium.org [Wed, 20 May 2009 16:39:26 +0000 (16:39 +0000)]
Fix unmotivated change which causes mismatch between function
declaration and definition.

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

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

15 years agoAdd the REX prefix to 64-bit assembly operands. Move some inline functions.
whesse@chromium.org [Wed, 20 May 2009 14:14:44 +0000 (14:14 +0000)]
Add the REX prefix to 64-bit assembly operands.  Move some inline functions.
Review URL: http://codereview.chromium.org/115568

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

15 years agoX64: Move some methods in x64/ to their file and make codegen do int3.
lrn@chromium.org [Wed, 20 May 2009 13:20:02 +0000 (13:20 +0000)]
X64: Move some methods in x64/ to their file and make codegen do int3.

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

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

15 years agoFix lint errors, fix Windows version.
mikhail.naganov@gmail.com [Wed, 20 May 2009 12:47:30 +0000 (12:47 +0000)]
Fix lint errors, fix Windows version.

Sorry for not testing these prior to committing.

TBR=sgjesse@chromium.org

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

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

15 years agoImplement constructor and destructor of 64-bit assembler
whesse@chromium.org [Wed, 20 May 2009 12:17:23 +0000 (12:17 +0000)]
Implement constructor and destructor of 64-bit assembler
Review URL: http://codereview.chromium.org/113631

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

15 years agoFix x64 build.
kmillikin@chromium.org [Wed, 20 May 2009 11:54:35 +0000 (11:54 +0000)]
Fix x64 build.
Review URL: http://codereview.chromium.org/115565

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

15 years agoSize reduction of VirtualFrame objects. Remove the code generator and
kmillikin@chromium.org [Wed, 20 May 2009 11:14:18 +0000 (11:14 +0000)]
Size reduction of VirtualFrame objects.  Remove the code generator and
macro assembler pointers and all derived state.

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

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

15 years agoIn linux-tick-processor only compile d8 if it doesn't exist.
mikhail.naganov@gmail.com [Wed, 20 May 2009 09:37:36 +0000 (09:37 +0000)]
In linux-tick-processor only compile d8 if it doesn't exist.

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

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

15 years agoIntroduce Logger::LogCompiledFunctions that logs current map of compiled code.
mikhail.naganov@gmail.com [Wed, 20 May 2009 09:04:13 +0000 (09:04 +0000)]
Introduce Logger::LogCompiledFunctions that logs current map of compiled code.

The goal is to make possible having --prof flag always enabled in Chromium.  Currently we can't do this because --prof causes compiler and gc to log code creations / moves / deletes which aren't needed until we start profiling.  With LogCompiledFunctions it will be possible not to log anything until we start profiling.  When started, the current map of compiled functions will be logged and compiler / gc logging will be enabled to update current state.  When profling is stopped, logging will be turned off again.

Funny that testing code is actually much longer and complex than function code.

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

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

15 years agoNow lints.
lrn@chromium.org [Wed, 20 May 2009 08:59:33 +0000 (08:59 +0000)]
Now lints.

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

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

15 years agoX64: Disabled RSet in 64-bit mode.
lrn@chromium.org [Wed, 20 May 2009 08:05:12 +0000 (08:05 +0000)]
X64: Disabled RSet in 64-bit mode.
Made a few more places use intptr_t instead of int for pointer arithmetic.
Ensure that objects have a declared size that matches heap object alignment.

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

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

15 years agoExpose the calling context through the API.
ager@chromium.org [Wed, 20 May 2009 07:44:59 +0000 (07:44 +0000)]
Expose the calling context through the API.

In C++ callbacks, we can now get the context of the javascript code
that called the callback.

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

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

15 years agoExposed method for finding global context by traversing context chain to API.
yurys@chromium.org [Wed, 20 May 2009 07:28:42 +0000 (07:28 +0000)]
Exposed method for finding global context by traversing context chain to API.
Review URL: http://codereview.chromium.org/112035

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

15 years agoFix compilation for gcc 4.3+. Patch by Lei Zhang.
kasperl@chromium.org [Wed, 20 May 2009 06:42:12 +0000 (06:42 +0000)]
Fix compilation for gcc 4.3+. Patch by Lei Zhang.
Review URL: http://codereview.chromium.org/113621

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

15 years agoIncrease the size of VirtualFrame members to allow a larger number of
kmillikin@chromium.org [Tue, 19 May 2009 20:29:23 +0000 (20:29 +0000)]
Increase the size of VirtualFrame members to allow a larger number of
parameters, stack-allocated locals, or expression stack elements.

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

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

15 years agoFrom joel.stan:
erik.corry@gmail.com [Tue, 19 May 2009 20:12:50 +0000 (20:12 +0000)]
From joel.stan:
The preprocessor defines check for v5t and v5te.  This patch adds v7 and
v7-a which provide support for -march=armv7 and -mcpu=cortex-a8
respectively.
This is to support my work compiling chromium on arm, see
http://crbug.com/12028
http://codereview.chromium.org/115509

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

15 years agoIntroduced copy constructor for List<T, P> and changed constructor of VirtualFrame...
bak@chromium.org [Tue, 19 May 2009 13:26:02 +0000 (13:26 +0000)]
Introduced copy constructor for List<T, P> and changed constructor of VirtualFrame to use it.

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

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

15 years agoFix compilation on MinGW
sgjesse@chromium.org [Tue, 19 May 2009 09:59:41 +0000 (09:59 +0000)]
Fix compilation on MinGW

On MinGW _WIN32_WINNT needs to be 0x501 (Windows XP) instead of 0x500 (Windows 2000) for some TCP/IP API's to be present.

MinGW uses stdint.h whereas Visual C++ does not.
Review URL: http://codereview.chromium.org/113576

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

15 years agoRemove code that adjusts synced and copied flags in MergeTo.
whesse@chromium.org [Tue, 19 May 2009 09:20:57 +0000 (09:20 +0000)]
Remove code that adjusts synced and copied flags in MergeTo.
Review URL: http://codereview.chromium.org/113524

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

15 years agoAdd 2 asserts in search-replace implementation.
erik.corry@gmail.com [Tue, 19 May 2009 09:11:30 +0000 (09:11 +0000)]
Add 2 asserts in search-replace implementation.
Review URL: http://codereview.chromium.org/115507

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

15 years agoFix for issue 349: Make initial boundary check for BM text search.
lrn@chromium.org [Tue, 19 May 2009 09:01:03 +0000 (09:01 +0000)]
Fix for issue 349: Make initial boundary check for BM text search.
There was a case where the BMH algorithm bailed out exactly at the end of the string, and the BM algorithm that takes over wasn't expecting this.

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

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

15 years agoX64: Fixups in heap-test.cc to make it compile in X64 mode.
lrn@chromium.org [Tue, 19 May 2009 08:59:23 +0000 (08:59 +0000)]
X64: Fixups in heap-test.cc to make it compile in X64 mode.

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

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

15 years agoInline some simple member functions of VirtualFrame.
kmillikin@chromium.org [Mon, 18 May 2009 14:32:43 +0000 (14:32 +0000)]
Inline some simple member functions of VirtualFrame.

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

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

15 years agoFix ARM build.
ager@chromium.org [Mon, 18 May 2009 13:23:54 +0000 (13:23 +0000)]
Fix ARM build.

TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/115465

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

15 years agoRemove unused parameter.
sgjesse@chromium.org [Mon, 18 May 2009 13:16:48 +0000 (13:16 +0000)]
Remove unused parameter.
Review URL: http://codereview.chromium.org/113523

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

15 years agoFix a failure to correctly set the static type on a frame element at a
kmillikin@chromium.org [Mon, 18 May 2009 13:16:35 +0000 (13:16 +0000)]
Fix a failure to correctly set the static type on a frame element at a
backward jump.  The frame entering the backward block is not used, so
the this is mostly just a bookkeeping change.
Review URL: http://codereview.chromium.org/115464

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

15 years agoAdd a script cache to the debugger
sgjesse@chromium.org [Mon, 18 May 2009 13:14:37 +0000 (13:14 +0000)]
Add a script cache to the debugger

When loaded scripts are requested this cache is filled with all the script objects in the heap. Hereafter its content is kept in sync with the active scripts in the heap through the notifications of new scripts compiled and by using weak handles to get notified when a script is collected.

Through the tracking of collected scripts the debugger event OnScriptCollected have been added to notify a debugger that a script previously returned through the scripts command is no longer in use.

Make the ComputeIntegerHash globally available.

Moved clearing of the mirror cache to when debugger is really left. Previously recursive invocations of the debugger cause the mirror cache to be cleared causing handles to become either stale or reference other objects.
Review URL: http://codereview.chromium.org/115462

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

15 years agoFirst round of size reduction for JumpTargets. Reduce their size by
ager@chromium.org [Mon, 18 May 2009 12:26:59 +0000 (12:26 +0000)]
First round of size reduction for JumpTargets.  Reduce their size by
two words: there is no reason to keep a pointer to the current code
generator and macro assembler in the JumpTarget.
Review URL: http://codereview.chromium.org/113458

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

15 years agoX64: Checked and slightly modified Object layouts to be compatible with 64-bit pointers.
lrn@chromium.org [Mon, 18 May 2009 12:13:20 +0000 (12:13 +0000)]
X64: Checked and slightly modified Object layouts to be compatible with 64-bit pointers.

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

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

15 years agoChanged FuncNameInferrer and ScopeInfo to support zone allocation.
bak@chromium.org [Mon, 18 May 2009 09:41:16 +0000 (09:41 +0000)]
Changed FuncNameInferrer and ScopeInfo to support zone allocation.
Yields a 2% speedup when running compiler-benchmark.

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

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

15 years agoAllow a few more (multiple-entry) deferred code snippets to take the
kmillikin@chromium.org [Mon, 18 May 2009 07:57:29 +0000 (07:57 +0000)]
Allow a few more (multiple-entry) deferred code snippets to take the
fast-merge path by manually giving them an expected entry frame.

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

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

15 years agoPrepare to push version 1.2.4 to trunk.
kasperl@chromium.org [Mon, 18 May 2009 05:50:26 +0000 (05:50 +0000)]
Prepare to push version 1.2.4 to trunk.
Review URL: http://codereview.chromium.org/115458

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

15 years agoRemove space at end of line.
iposva@chromium.org [Fri, 15 May 2009 23:05:21 +0000 (23:05 +0000)]
Remove space at end of line.

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

15 years ago- Fix numeric overflow handling when compiling count operations.
iposva@chromium.org [Fri, 15 May 2009 22:36:26 +0000 (22:36 +0000)]
- Fix numeric overflow handling when compiling count operations.
  In certain situations the overflow checking corrupted the value
  being calculated.

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

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

15 years agoIf 'compactFormat' argument is passed in the request the response won't include refer...
yurys@chromium.org [Fri, 15 May 2009 15:52:37 +0000 (15:52 +0000)]
If 'compactFormat' argument is passed in the request the response won't include referenced mirrors in the refs section instead each protocol reference object will contain some details necessary for displaying the referenced object in the graphical debugger when the object is not expanded. That allows to request full information lazily when the object is expanded.
Review URL: http://codereview.chromium.org/115401

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

15 years agoFix debug builds.
kmillikin@chromium.org [Fri, 15 May 2009 15:02:03 +0000 (15:02 +0000)]
Fix debug builds.

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

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

15 years agoM src/jump-target.cc
bak@chromium.org [Fri, 15 May 2009 14:58:02 +0000 (14:58 +0000)]
M    src/jump-target.cc
M    src/parser.cc

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

15 years agoFix debug build with a cast.
kmillikin@chromium.org [Fri, 15 May 2009 14:46:59 +0000 (14:46 +0000)]
Fix debug build with a cast.

TBR=bak@chromium.org

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

15 years agoRevert r1969 because of test failures.
kasperl@chromium.org [Fri, 15 May 2009 14:40:50 +0000 (14:40 +0000)]
Revert r1969 because of test failures.

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

15 years agoRevert r1971. Doesn't compile.
kasperl@chromium.org [Fri, 15 May 2009 14:39:34 +0000 (14:39 +0000)]
Revert r1971. Doesn't compile.

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

15 years agoChange the scavenging collector so that promoted objects do not reside
kmillikin@chromium.org [Fri, 15 May 2009 13:52:14 +0000 (13:52 +0000)]
Change the scavenging collector so that promoted objects do not reside
in the old generation while its remembered set is being swept for
pointers into the young generation.  This is done by delaying the
copying of promoted objects from when they are first encountered and
promoted to only when their body is visited.

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

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

15 years agoMake the hash map test run faster by doing less work.
sgjesse@chromium.org [Fri, 15 May 2009 13:49:00 +0000 (13:49 +0000)]
Make the hash map test run faster by doing less work.

It still hits all of the code and runs in seconds on tinyone.
Review URL: http://codereview.chromium.org/113459

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

15 years agoReduced malloc/free operations in the parser.
bak@chromium.org [Fri, 15 May 2009 13:47:35 +0000 (13:47 +0000)]
Reduced malloc/free operations in the parser.
Review URL: http://codereview.chromium.org/115402

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

15 years agoTry to preallocate the scratch registers used for inlined keyed loads
kmillikin@chromium.org [Fri, 15 May 2009 12:43:00 +0000 (12:43 +0000)]
Try to preallocate the scratch registers used for inlined keyed loads
to allow fast entry to the deferred code if possible.

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

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

15 years agoFix build on arm and x64.
ager@chromium.org [Fri, 15 May 2009 11:32:03 +0000 (11:32 +0000)]
Fix build on arm and x64.

Note to self: remember all platforms.
Review URL: http://codereview.chromium.org/115399

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

15 years agoRemove the redundant flags is_bound_ and is_linked_ from the
kmillikin@chromium.org [Fri, 15 May 2009 11:17:29 +0000 (11:17 +0000)]
Remove the redundant flags is_bound_ and is_linked_ from the
JumpTarget class in favor of using other internal state.

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

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

15 years agoClean up the Result class. Reduce the size of Result from four words
ager@chromium.org [Fri, 15 May 2009 11:09:51 +0000 (11:09 +0000)]
Clean up the Result class.  Reduce the size of Result from four words
to one by keeping a stack of active code generators and by using
indirection to handles.

Mainly a cleanup.  No visible performance impact.
Review URL: http://codereview.chromium.org/113455

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

15 years agoFix accidental %% in log format strings that caused "%x" to appear in log file.
mikhail.naganov@gmail.com [Fri, 15 May 2009 09:58:40 +0000 (09:58 +0000)]
Fix accidental %% in log format strings that caused "%x" to appear in log file.

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

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

15 years agoPolish code of VirtualFrame::MoveMemoryToRegister
whesse@chromium.org [Fri, 15 May 2009 09:38:11 +0000 (09:38 +0000)]
Polish code of VirtualFrame::MoveMemoryToRegister
Review URL: http://codereview.chromium.org/113451

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

15 years agoFix spelling errors in comment and rephrased it somewhat.
sgjesse@chromium.org [Fri, 15 May 2009 09:18:13 +0000 (09:18 +0000)]
Fix spelling errors in comment and rephrased it somewhat.
Review URL: http://codereview.chromium.org/113449

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

15 years agoFix lint errors in test-hashmap.cc
kasperl@chromium.org [Fri, 15 May 2009 08:33:38 +0000 (08:33 +0000)]
Fix lint errors in test-hashmap.cc

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

15 years agoBypass an expensive computation of a basic block's entry frame for a
kmillikin@chromium.org [Fri, 15 May 2009 08:08:52 +0000 (08:08 +0000)]
Bypass an expensive computation of a basic block's entry frame for a
common case of a single forward edge (a fall-through).  This includes
exits from deferred code.

The fall-through frame is used, after removing constants and copies
above the high-water mark.
Review URL: http://codereview.chromium.org/113400

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

15 years agoFix compilation of test-hashmap.cc on Linux.
sgjesse@chromium.org [Fri, 15 May 2009 07:54:33 +0000 (07:54 +0000)]
Fix compilation of test-hashmap.cc on Linux.

TBE=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/113448

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

15 years agoFix compilation on newer gcc by adding () instead of using prescendence.
erik.corry@gmail.com [Fri, 15 May 2009 07:41:32 +0000 (07:41 +0000)]
Fix compilation on newer gcc by adding () instead of using prescendence.
Review URL: http://codereview.chromium.org/113447

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

15 years agoMirrorSerializer now converts mirrors to plain JS objects. This objects are serialize...
yurys@chromium.org [Fri, 15 May 2009 07:35:11 +0000 (07:35 +0000)]
MirrorSerializer now converts mirrors to plain JS objects. This objects are serialized to json string using JSON.stringify.
Review URL: http://codereview.chromium.org/113399

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

15 years agoAdd a remove method to the hash map.
sgjesse@chromium.org [Fri, 15 May 2009 07:09:17 +0000 (07:09 +0000)]
Add a remove method to the hash map.

Extended the hash map test to also use a heavy collision hash function to exercise the remove code.
Review URL: http://codereview.chromium.org/113397

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

15 years agoAdd multiple generations (5) to the script compilation cache
kasperl@chromium.org [Fri, 15 May 2009 06:45:50 +0000 (06:45 +0000)]
Add multiple generations (5) to the script compilation cache
to allow scripts that are used alot to survive a number of GCs
in the compilation cache.
Review URL: http://codereview.chromium.org/113445

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

15 years agoImprove algorithm for detaching and attaching a virtual frame to the code
whesse@chromium.org [Thu, 14 May 2009 16:06:04 +0000 (16:06 +0000)]
Improve algorithm for detaching and attaching a virtual frame to the code
generator.  Inline copying of a register file.
Review URL: http://codereview.chromium.org/113402

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

15 years agoConsistently use CompilationZoneScope instead of ZoneScope to ensure
ager@chromium.org [Thu, 14 May 2009 13:17:28 +0000 (13:17 +0000)]
Consistently use CompilationZoneScope instead of ZoneScope to ensure
that the FrameElement constants list gets cleared.
Review URL: http://codereview.chromium.org/115352

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

15 years agoFix x64 build.
ager@chromium.org [Thu, 14 May 2009 12:26:59 +0000 (12:26 +0000)]
Fix x64 build.
Review URL: http://codereview.chromium.org/115351

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

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