erik.corry@gmail.com
dc154a9878
Fix 64-bit after in-loop patch.
...
Review URL: http://codereview.chromium.org/115764
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 18:57:25 +00:00
erik.corry@gmail.com
01f7c87f22
This patch much improves our tracking of whether function is
...
called from within a loop or not. In the past we lost the
information if a call site went megamorphic before a lazily
compiled callee was called for the first time. Now we track
that correctly (this is an issue that affects richards).
We still don't manage to track the in-loop state through a
constructor call, since constructor calls use LoadICs instead
of CallICs. This issue affects delta-blue. So in this patch
we assume that lazy compilations that don't happen through a
CallIC happen from inside a loop. I have an idea to fix this
but this patch is big enough already.
With our improved tracking of in-loop state I have switched
off the inlining of in-object loads for code that is not in
a loop. This benefits compile speed. One issue is that
eagerly compiled code now doesn't get the in-object loads
inlined. We need to eagerly compile less code to fix this.
Review URL: http://codereview.chromium.org/115744
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 18:29:02 +00:00
iposva@chromium.org
34218e5540
- Introduce histograms collecting data about the number of set remembered set
...
bits in a page.
Review URL: http://codereview.chromium.org/113819
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 16:33:00 +00:00
yurys@chromium.org
6e29fadb72
When inspecting a function with a native getter return result of execution of the getter function in the client context. This is useful for debugging DOM elements.
...
Review URL: http://codereview.chromium.org/113821
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 15:07:21 +00:00
whesse@chromium.org
80fba5a127
Implementation of a few more assembly instructions on x64
...
Review URL: http://codereview.chromium.org/113767
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 14:00:30 +00:00
mikhail.naganov@gmail.com
cee54f88a1
Remove ifdef from ProfLazyMode test, instead mark it in cctest.status.
...
Review URL: http://codereview.chromium.org/113820
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 12:35:32 +00:00
mikhail.naganov@gmail.com
064af4286e
Expose IsProfilerPaused function on the public interface.
...
This is needed for DevTools Profiler because of its asynchronous and multi-client architecture.
Review URL: http://codereview.chromium.org/115761
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 12:34:47 +00:00
mikhail.naganov@gmail.com
def20131a6
Disable crashing ProfLazyMode test on ARM.
...
Review URL: http://codereview.chromium.org/115760
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 10:28:35 +00:00
mikhail.naganov@gmail.com
91bf9e8798
Fixes for comments in http://codereview.chromium.org/113641 .
...
Review URL: http://codereview.chromium.org/115757
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 10:27:18 +00:00
mikhail.naganov@gmail.com
30a0a7de43
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
2009-05-25 10:05:56 +00:00
mikhail.naganov@gmail.com
6d71da11fd
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
2009-05-25 08:39:22 +00:00
mikhail.naganov@gmail.com
9f69c414eb
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
2009-05-25 08:25:36 +00:00
yurys@chromium.org
530b86ff17
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
2009-05-25 07:51:04 +00:00
lrn@chromium.org
e9f1a09f9d
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
2009-05-22 14:01:06 +00:00
ager@chromium.org
cc619a34ef
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
2009-05-22 11:52:24 +00:00
kmillikin@chromium.org
6244c02f24
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
2009-05-22 10:31:41 +00:00
whesse@chromium.org
1f7b98689d
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
2009-05-22 09:04:06 +00:00
whesse@chromium.org
5f5f33e4fb
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
2009-05-22 07:53:28 +00:00
ager@chromium.org
ddd7f7fe21
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
2009-05-22 07:43:41 +00:00
whesse@chromium.org
a1218cfaa4
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
2009-05-22 07:30:25 +00:00
ager@chromium.org
1747ae0258
Fixed minor style issue in SConstruct file.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-22 07:01:04 +00:00
ager@chromium.org
0582ee5da5
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
2009-05-22 06:52:02 +00:00
yurys@chromium.org
d6742c7fae
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
2009-05-21 14:21:14 +00:00
sgjesse@chromium.org
7a10634e90
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
2009-05-20 20:28:33 +00:00
sgjesse@chromium.org
3e76ba9a78
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= http://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
2009-05-20 19:33:44 +00:00
mikhail.naganov@gmail.com
f76cb020f9
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
2009-05-20 16:43:46 +00:00
iposva@chromium.org
f1774010e7
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
2009-05-20 16:39:26 +00:00
whesse@chromium.org
1ac2603eb7
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
2009-05-20 14:14:44 +00:00
lrn@chromium.org
19d279f815
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
2009-05-20 13:20:02 +00:00
mikhail.naganov@gmail.com
eec57b9b13
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
2009-05-20 12:47:30 +00:00
whesse@chromium.org
59fab02e3e
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
2009-05-20 12:17:23 +00:00
kmillikin@chromium.org
01bc6d1056
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
2009-05-20 11:54:35 +00:00
kmillikin@chromium.org
bcff796134
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
2009-05-20 11:14:18 +00:00
mikhail.naganov@gmail.com
f04016b19d
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
2009-05-20 09:37:36 +00:00
mikhail.naganov@gmail.com
4075179fbe
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
2009-05-20 09:04:13 +00:00
lrn@chromium.org
aec2f3d57c
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
2009-05-20 08:59:33 +00:00
lrn@chromium.org
0920be9524
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
2009-05-20 08:05:12 +00:00
ager@chromium.org
10b8928e0e
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
2009-05-20 07:44:59 +00:00
yurys@chromium.org
897ecefe1e
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
2009-05-20 07:28:42 +00:00
kasperl@chromium.org
b8c09e9590
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
2009-05-20 06:42:12 +00:00
kmillikin@chromium.org
2ab1dedb03
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
2009-05-19 20:29:23 +00:00
erik.corry@gmail.com
660ddafc5e
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
2009-05-19 20:12:50 +00:00
bak@chromium.org
34865c062b
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
2009-05-19 13:26:02 +00:00
sgjesse@chromium.org
e3464bca9d
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
2009-05-19 09:59:41 +00:00
whesse@chromium.org
8987c93a12
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
2009-05-19 09:20:57 +00:00
erik.corry@gmail.com
421b501fdb
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
2009-05-19 09:11:30 +00:00
lrn@chromium.org
2ff3901cf7
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
2009-05-19 09:01:03 +00:00
lrn@chromium.org
c27d0f7b4b
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
2009-05-19 08:59:23 +00:00
kmillikin@chromium.org
0dda60a96d
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
2009-05-18 14:32:43 +00:00
ager@chromium.org
9a4d667694
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
2009-05-18 13:23:54 +00:00