mikhail.naganov@gmail.com [Mon, 25 May 2009 10:05:56 +0000 (10:05 +0000)]
Split nested namespaces declaration in two lines in accordance with C++ Style Guide.
This issue was raised by Brett Wilson while reviewing my changelist for readability. Craig Silverstein (one of C++ SG maintainers) confirmed that we should declare one namespace per line. Our way of namespaces closing seems not violating style guides (there is no clear agreement on it), so I left it intact.
Review URL: http://codereview.chromium.org/115756
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 25 May 2009 08:39:22 +0000 (08:39 +0000)]
Merge in changes from readability review.
All changes from http://codereview.chromium.org/115024, except splitting namespace declarations in two lines (will be done separately for all source files).
Review URL: http://codereview.chromium.org/113763
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 25 May 2009 08:25:36 +0000 (08:25 +0000)]
Implement resource-saving ("lazy") mode of Profiler.
This is intended to be used with Chromium. When in resource-saving mode, profiler doesn't consume any resources (sampler and logging is off) until resumed. Then again, when profiler is paused, sampling and logging are turned off.
Tested under Linux and Windows. Also have done preliminary testing with Chromium.
Review URL: http://codereview.chromium.org/113762
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 25 May 2009 07:51:04 +0000 (07:51 +0000)]
When message handler is set to NULL and there is no debugger listener the debugger is unloaded immediately unless it's entered, in which case it will be unloaded when last instance of EnterDebugger is destroyed.
Without the change the debugger may crash as Debugger::EventActive(v8::Break) called from OnDebugBreak may clear current debugger context.
Also when compilation cache was enabled debugger could fail on second attach for the same reason(see AfterCompileMessageWhenMessageHandlerIsReset).
BUG=12404
Review URL: http://codereview.chromium.org/115709
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2035
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 22 May 2009 14:01:06 +0000 (14:01 +0000)]
X64: Omitted creating native builtins and using them in test-heap.
This allows test-heap to run successfully.
Review URL: http://codereview.chromium.org/115706
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 22 May 2009 11:52:24 +0000 (11:52 +0000)]
Remove list copy constructor (for which there was no corresponding
assignment operator) and add an AddAll method to lists instead.
Review URL: http://codereview.chromium.org/115705
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 22 May 2009 10:31:41 +0000 (10:31 +0000)]
Remove unreachable x64-specific function.
Review URL: http://codereview.chromium.org/113635
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 22 May 2009 09:04:06 +0000 (09:04 +0000)]
Add missing file to change 2030. x64/assembler-x64-inl.h was not uploaded.
Review URL: http://codereview.chromium.org/113761
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 22 May 2009 07:53:28 +0000 (07:53 +0000)]
Implement quadword MOV on x64 assembler, emitting REX prefix.
Review URL: http://codereview.chromium.org/115571
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 22 May 2009 07:43:41 +0000 (07:43 +0000)]
Do not ignore the result from calls to write(). This avoids a warning
from newer gcc versions.
Review URL: http://codereview.chromium.org/115698
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 22 May 2009 07:30:25 +0000 (07:30 +0000)]
Typographical fix
Review URL: http://codereview.chromium.org/115699
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 22 May 2009 07:01:04 +0000 (07:01 +0000)]
Fixed minor style issue in SConstruct file.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 22 May 2009 06:52:02 +0000 (06:52 +0000)]
Land patch from Craig Schlenter to make V8 build and run when compiled
with -O3 on gcc 4.4.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 21 May 2009 14:21:14 +0000 (14:21 +0000)]
For ScriptCollected events current context may be null. Message.GetEventContext will return an empty handle in such cases.
Review URL: http://codereview.chromium.org/113698
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 20 May 2009 20:28:33 +0000 (20:28 +0000)]
Disable compilation cache when debugger is active.
Added an option to control whether the compilation cache is enabled. Default value is true.
BUG=343
Review URL: http://codereview.chromium.org/113625
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 20 May 2009 19:33:44 +0000 (19:33 +0000)]
Propagate information on whether a non function was called as constructor or not.The Arguments object passed to the callback now has IsConstructCall set accordingly.BUG=crbug.com/3285
Review URL: http://codereview.chromium.org/113634
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 20 May 2009 16:43:46 +0000 (16:43 +0000)]
Fix test-log/EquivalenceOfLoggingAndTraversal for the snapshot case.
If was failing because with snapshot the range between minimum and maximum addresses of heap objects is very large (close to 0xf0000000). To fix this I rewrote handling of address maps in the test.
Submitting with TBR because of late time. I think, we'll need to revisit this change tomorrow.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/113641
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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