erik.corry@gmail.com [Wed, 26 Aug 2009 10:27:32 +0000 (10:27 +0000)]
* Make stack/preemption guard faster on ARM by putting stack
limit in the roots array.
Review URL: http://codereview.chromium.org/174517
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2760
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 26 Aug 2009 08:19:55 +0000 (08:19 +0000)]
Prepare push to trunk. Now working on version 1.3.9.
Review URL: http://codereview.chromium.org/174516
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2758
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 26 Aug 2009 08:13:27 +0000 (08:13 +0000)]
Only pass idle notifications on from the API if V8 has been
initialized.
Minor cleanups.
Review URL: http://codereview.chromium.org/173465
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2757
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 26 Aug 2009 08:11:46 +0000 (08:11 +0000)]
Make ARM simulator compile on Windows.
Remove suspicious line from ARM simulator, which caused a compiler warning on Windows.
Review URL: http://codereview.chromium.org/173464
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2756
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 26 Aug 2009 06:29:53 +0000 (06:29 +0000)]
X64: Small changes to let WIN64 platform compile.
Review URL: http://codereview.chromium.org/174394
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2755
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 25 Aug 2009 15:00:07 +0000 (15:00 +0000)]
Reverting 2753.
Review URL: http://codereview.chromium.org/173349
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2754
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 25 Aug 2009 12:23:58 +0000 (12:23 +0000)]
Generate specialized constructor code for constructing simple objects.
For objects which only have simple assignments of the form this.x = ...; a specialized constructor stub is now generated. This generated code allocates the object and fills in the initial properties directly. If this fails for some reason code continues in the generic constructor stub which in turn might pass control to the runtime system.
Added counter to see how many objects are constructed using a specialized stub.
The specialized stub is only implemented for ia32 architecture in this change. For x64 and ARM the generic construct stub is used.
Review URL: http://codereview.chromium.org/174392
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2753
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 25 Aug 2009 06:53:36 +0000 (06:53 +0000)]
Prepare push to trunk. Now working on version 1.3.8.
Review URL: http://codereview.chromium.org/173340
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2751
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 25 Aug 2009 06:31:17 +0000 (06:31 +0000)]
Land patch for sgk@chromium.org:
Don't copy the ENV variable from the users's external environment into
construction environments. SCons uses this as a dictionary of environment
values for the commands it executes.
BUG=none
TEST=build with the variable ENV set in the user environment
Review URL: http://codereview.chromium.org/173294
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2750
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mike@belshe.com [Tue, 25 Aug 2009 03:18:40 +0000 (03:18 +0000)]
Forgot to change API signature for V8 tests.
BUG=none
TEST=none
TBR=ager
Review URL: http://codereview.chromium.org/174386
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2749
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mike@belshe.com [Tue, 25 Aug 2009 02:54:39 +0000 (02:54 +0000)]
Update the Idle collector to do a full GC
after being idle for some time.
Remove the default argument from CollectAllGarbage.
Review URL: http://codereview.chromium.org/174302
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2748
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 24 Aug 2009 16:25:23 +0000 (16:25 +0000)]
Allow test to timeout. The time to run the test is close to the
timeout limit so it sometimes times out.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/173271
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2747
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 24 Aug 2009 16:08:44 +0000 (16:08 +0000)]
Revert change 2745 because of assertion failures in debug mode.
TBR=yurys@chromium.org
Review URL: http://codereview.chromium.org/173268
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2746
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 24 Aug 2009 15:21:49 +0000 (15:21 +0000)]
Allow stepping in functions called using CallFunction stub. When Debug::PrepareStep is called to prepare 'step in' and current code target is CallFunction stub, the debugger will find function being called on the expression stack and flood it with one shot breakpoints.Related Chromium issue: code.google.com/p/chromium/issues/detail?id=17978
Review URL: http://codereview.chromium.org/159703
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2745
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 24 Aug 2009 11:57:57 +0000 (11:57 +0000)]
Reapply ARM root array change to reduce const pool size
by using r10 to point to a list of common root objects.
This time we also disable a debugger test on ARM that
has never worked, but with this change sometimes
crashes.
Review URL: http://codereview.chromium.org/174317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2744
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 24 Aug 2009 11:56:29 +0000 (11:56 +0000)]
Change some integer types to make the x64 Win32 platform happier.
Review URL: http://codereview.chromium.org/173115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2743
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 24 Aug 2009 09:12:07 +0000 (09:12 +0000)]
X64: Set target machine for Visual Studio projects to x64.
Review URL: http://codereview.chromium.org/174137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2742
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 24 Aug 2009 09:08:12 +0000 (09:08 +0000)]
Reduce the amount of dates tested in date-parse test. The test occasionally times out on ARM hardware.
Review URL: http://codereview.chromium.org/174316
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2741
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 21 Aug 2009 13:14:53 +0000 (13:14 +0000)]
Shrink new space on compacting collections.
Review URL: http://codereview.chromium.org/174219
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2740
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 21 Aug 2009 10:48:31 +0000 (10:48 +0000)]
Prepare to push to trunk. We are now working on version 1.3.7.
Review URL: http://codereview.chromium.org/173189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2738
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 21 Aug 2009 08:52:24 +0000 (08:52 +0000)]
Land change to bail out from post garbage collection processing if
another post gc processing was trigger because of weak callbacks.
Review URL: http://codereview.chromium.org/174141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2737
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 21 Aug 2009 08:44:21 +0000 (08:44 +0000)]
Fix a GC issue.
When descriptor arrays where allocated with the initial map the handling of allocation failures was not correct. This could cause the map returned could possible have been collected.
Review URL: http://codereview.chromium.org/173188
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2736
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 21 Aug 2009 06:30:59 +0000 (06:30 +0000)]
Fix an ASSERT in the scanner.
The assert when performing a push back on a two byte string was wrong.
Added a small regression test.
Review URL: http://codereview.chromium.org/173116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2735
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mark@chromium.org [Thu, 20 Aug 2009 19:12:59 +0000 (19:12 +0000)]
Enable -fstrict-aliasing in the GYP build of V8 for the Mac in Release mode.
-fstrict-aliasing is enabled by mainline gcc at -O2 and higher, but in Apple
gcc, it must be enabled explicitly. This results in a 1.5% improvement in V8
benchmark scores.
This also removes the -fno-exceptions and -fno-rtti settings from v8.gyp for
the Mac, and removes -fno-rtti from v8.gyp for Linux, because these settings
have become part of Chromium's common.gypi, included here, as of r23304 at the
latest. The settings in v8.gyp have become redundant.
Review URL: http://codereview.chromium.org/174154
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2734
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mark@chromium.org [Thu, 20 Aug 2009 14:48:52 +0000 (14:48 +0000)]
Don't use -fomit-frame-pointer to build Mac V8. The Chrome crash reporting
system can't currently process stacks produced by gcc -fomit-frame-pointer
properly. The drawback outweighs the 2% performance improvement. Once
the crash reporting system is able to handle this optimization, it should be
revisited.
Review URL: http://codereview.chromium.org/173123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2733
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 20 Aug 2009 11:45:18 +0000 (11:45 +0000)]
Fix mozilla test expectations. Generating a huge error message can
not time out of the 64-bit version because of the larger heap.
Review URL: http://codereview.chromium.org/173118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2732
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 20 Aug 2009 11:37:56 +0000 (11:37 +0000)]
Experimental change to omit frame pointers from V8 on Mac
built through the v8.gyp file. The optimization flags for
Mac and Linux (both gcc-based) builds are now much closer.
Review URL: http://codereview.chromium.org/173117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2731
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 20 Aug 2009 11:13:51 +0000 (11:13 +0000)]
Try compiling V8 for Mac with -O3 when using the v8.gyp file.
Review URL: http://codereview.chromium.org/174138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2730
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 20 Aug 2009 10:32:11 +0000 (10:32 +0000)]
Fix a test that test out of memory situations. On the 64-bit port the
test did not actually run out of memory which the test treats as an
error.
Review URL: http://codereview.chromium.org/174136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2729
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 20 Aug 2009 08:12:30 +0000 (08:12 +0000)]
Go back to doubling the size when growing new space.
Our memory tests show little improvement by only growing by 50%.
Review URL: http://codereview.chromium.org/174133
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2728
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 20 Aug 2009 08:08:18 +0000 (08:08 +0000)]
Fix build error
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2727
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 20 Aug 2009 07:41:46 +0000 (07:41 +0000)]
Land patch by agl@chromium.org to hopefully fix build failure on
Ubuntu with GCC 4.4.
Review URL: http://codereview.chromium.org/174005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2726
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Thu, 20 Aug 2009 00:07:19 +0000 (00:07 +0000)]
Add LowMemoryNotification to the API on Android platform.
Android system provides a unique feature that it sends a notification to the
browser in low memory condition, and the browser cleans up cache and frees
resources. Forcing a GC in low memory condition can free DOM objects and also
can shrink the old spaces.
This patch addresses the last comment in
http://codereview.chromium.org/173016/show
Mads Ager 2009/08/19 17:24:23
I would prefer to not use the flags to signal that a compacting collection is
requested.
TBR = ager
Review URL: http://codereview.chromium.org/173102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2725
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 19 Aug 2009 20:32:51 +0000 (20:32 +0000)]
Do not allow GlobalHandles::Create to reuse destoryed nodes (ones from free list)
while performing GlobalHandles::PostGarbageCollectionProcessing as those might be already deleted (in C++ sense).
Review URL: http://codereview.chromium.org/173060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2724
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 19 Aug 2009 15:14:11 +0000 (15:14 +0000)]
Add support for forceful termination of JavaScript execution.
The termination is achieved by throwing an exception that is uncatchable by JavaScript exception handlers.
Review URL: http://codereview.chromium.org/174056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2723
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 19 Aug 2009 12:46:48 +0000 (12:46 +0000)]
Prepare to push to trunk. We are now working on version 1.3.6.
Review URL: http://codereview.chromium.org/173054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2721
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 19 Aug 2009 12:44:45 +0000 (12:44 +0000)]
Fix lint error.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/173056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2720
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 19 Aug 2009 12:06:16 +0000 (12:06 +0000)]
Fix uninitialized members.
Make sure that the DummyScope top level scope used for pre-parsing have all members initialized. The type of this scope is set to global scope as it is a top level scope. Also ensure that the "naked" Scope constructor can only be used by sub-classes of Scope.
The bug of missing initiaalization of members in the DummyScope was found by Valgrind.
Review URL: http://codereview.chromium.org/173052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2719
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 19 Aug 2009 11:34:06 +0000 (11:34 +0000)]
Speed up mjsunit/div-mod.js test, to avoid timeouts.
Review URL: http://codereview.chromium.org/171108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2718
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 19 Aug 2009 10:36:19 +0000 (10:36 +0000)]
Reapply the semispace growth policy change in isolation.
Additionally fix NewSpace capacity bug by removing the duplicated
capacity and maximum capacity book keeping. The capacity and maximum
capacity of NewSpace is the capacity and maximum capacity of one of
it's semispaces.
Review URL: http://codereview.chromium.org/174052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2717
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 19 Aug 2009 10:18:30 +0000 (10:18 +0000)]
X64: Implement debugger hooks.
Debugger is now fully functional.
Fix difference in emitting statement positions to match ia32.
Review URL: http://codereview.chromium.org/171107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2716
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 19 Aug 2009 08:48:17 +0000 (08:48 +0000)]
Put back the reduction of semispace sizes as an isolated change.
The growth policy change is next.
Review URL: http://codereview.chromium.org/173050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2713
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 19 Aug 2009 08:12:12 +0000 (08:12 +0000)]
Temporarily revert the reduction of semispace sizes and the growth
policy change.
I will put the changes back one at a time so we can see the effect of
them in isolation. Also, there is a bug in the growth policy change
that I will fix before putting it back again.
Review URL: http://codereview.chromium.org/174050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2712
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 19 Aug 2009 07:32:48 +0000 (07:32 +0000)]
Create a set of x64 Visual studio project files and corresponding solution.
These files will make it possible to start working with the 64-bit version on Windows.
The GUID's of the x64 project files are the same as their ia32 counterparts, but that does not matter as they will never be used in the same solution.
Added a temporary #error when building 64-bit version on Windows.
Review URL: http://codereview.chromium.org/171111
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2711
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 19 Aug 2009 07:30:20 +0000 (07:30 +0000)]
Analyze functions for assignment to this properties.
During parsing functions are analyzed for statements of the form this.x = ...;. These assignments are categorized in two types: simple and non simple. The simple ones are where the right hand side is known to be either a constant or an argument to the function. If a function only contains statements of this type the property names are collected and for the simple assignments the index of the argument or the constant value assigned are stored as well.
When the initial map for a function is created and the function consists of only this type of assignemnts the initial map is created with a descriptor array describing these properties which will be known to always exist in an object created from the function.
The information on this property assignments is not collected during pre-parsing so if compiling using pre-parse data these optimization hints are not available.
Next step will be to use the information collected for the simple assignments to generate constructor code which will create and initialize the object from this information without calling the code for the function.
Review URL: http://codereview.chromium.org/172088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2710
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Tue, 18 Aug 2009 17:26:51 +0000 (17:26 +0000)]
Fix IA32 build when not using native regexp compiler.
Review URL: http://codereview.chromium.org/173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2709
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 18 Aug 2009 12:43:36 +0000 (12:43 +0000)]
Fix errors in test-heap.cc and test-decls.cc. Adjust cctest.status.
Review URL: http://codereview.chromium.org/172089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2708
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 18 Aug 2009 11:26:14 +0000 (11:26 +0000)]
Increase new space size and limits on 64-bit platforms.
Review URL: http://codereview.chromium.org/171105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2707
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 18 Aug 2009 10:52:14 +0000 (10:52 +0000)]
Remove one of the GCs performed by the --gc-greedy flag. The GC performed by CEntryStub before the first call to C, when --gc-greedy is set, caused a bug in calling API callbacks.
Review URL: http://codereview.chromium.org/171104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2706
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 18 Aug 2009 09:47:45 +0000 (09:47 +0000)]
Fix regression caused by the generation of a shift stub during
snapshot creation in a better way.
Encode whether or not the stub should use sse3 instructions in the
minor key of the stub. The stubs generated during snapshot creation
will have sse3 disabled, but they will not be found when sse3 is
enabled. Therefore they will only affect the code generated as part
of the snapshot.
Review URL: http://codereview.chromium.org/172086
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2705
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 18 Aug 2009 09:14:19 +0000 (09:14 +0000)]
Fix regression caused by context creation optimization r2681.
The issue is that a shift operation is used when creating the
snapshot. This means that the shift binary operation stub is
generated at snapshot time without sse3 instructions.
The fix is to use division instead.
TBR=erik.corry@gmail.com
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2704
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Tue, 18 Aug 2009 07:14:02 +0000 (07:14 +0000)]
Streamline the scanner for external two byte string input.
Review URL: http://codereview.chromium.org/165403
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2703
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Tue, 18 Aug 2009 00:12:26 +0000 (00:12 +0000)]
Revert commit 2701 per Erik Corry's request.
Original CL:
http://codereview.chromium.org/171041
Review URL: http://codereview.chromium.org/171089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2702
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 17 Aug 2009 14:31:49 +0000 (14:31 +0000)]
Use root array to load roots in generated ARM code.
This cuts down on code size and reloc work.
Review URL: http://codereview.chromium.org/171041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2701
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Mon, 17 Aug 2009 14:26:48 +0000 (14:26 +0000)]
Added API for getting object mirrors
Added Debug::GetMirror call to get a mirror for a given object.
Review URL: http://codereview.chromium.org/172045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2700
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 17 Aug 2009 13:45:03 +0000 (13:45 +0000)]
Fix issue 427: JS tick processor now works out-of-the-box for Chromium on Windows.
MSVS names '.map' file using only module's name, so both 'a.exe' and 'a.dll' will have 'a.map' file. To distinguish an originating module, we're now checking for image base which is always
00400000 for .exe files, and not
00400000 for .dlls.
Verified that windows-tick-processor can now process logs from Chromium using .map file generated for 'chrome.dll', an that it still works for V8's 'shell.exe'.
Review URL: http://codereview.chromium.org/172044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2699
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Mon, 17 Aug 2009 13:34:41 +0000 (13:34 +0000)]
Added API call to get the stack trace for an exception
Added TryCatch::StackTrace that gets the stack trace for the thrown
exception.
Review URL: http://codereview.chromium.org/171042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2698
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Mon, 17 Aug 2009 11:41:00 +0000 (11:41 +0000)]
Context-independent script compilation.
Added Script::New calls that create a new context-independent
(boilerplate) script which can be executed in any context, unlike the
current scripts which bind the context in which they're compiled.
Review URL: http://codereview.chromium.org/172043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2697
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Mon, 17 Aug 2009 10:19:00 +0000 (10:19 +0000)]
RegExp tweaks
Fixed bug where regexps were not callable across contexts since the
callable test used object identity on the regexp constructor. Changed
typeof RegExp from 'object' to 'function' for compatibility.
Review URL: http://codereview.chromium.org/171039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2696
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 17 Aug 2009 09:31:58 +0000 (09:31 +0000)]
Fix issue 420: accept truncated log files.
http://code.google.com/p/v8/issues/detail?id=420
Review URL: http://codereview.chromium.org/171038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2695
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 17 Aug 2009 09:07:40 +0000 (09:07 +0000)]
X64: Remove compound smi+overflow test using cmov.
Review URL: http://codereview.chromium.org/165525
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2694
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 17 Aug 2009 08:02:07 +0000 (08:02 +0000)]
X64: Do not use an AllocateWithoutSpill register if it is invalid. Abandoned in favor of approach in codereview.chromium.org/165525/show (Issue 165526)
Review URL: http://codereview.chromium.org/164480
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2693
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Fri, 14 Aug 2009 17:19:51 +0000 (17:19 +0000)]
Fix strict aliasing crash on x64.
Review URL: http://codereview.chromium.org/164498
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2692
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 14 Aug 2009 12:39:48 +0000 (12:39 +0000)]
Fix typo in v8.gyp
Review URL: http://codereview.chromium.org/164555
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2691
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 14 Aug 2009 12:20:33 +0000 (12:20 +0000)]
Fix unsafe cast in RegExpStack
Review URL: http://codereview.chromium.org/164552
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2690
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 14 Aug 2009 11:35:10 +0000 (11:35 +0000)]
Refactor SetFunctionInfo to reduce long argument list take 2.
It now includes the change to ARM and x64 architectures as well.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/165528
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2689
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 14 Aug 2009 11:24:32 +0000 (11:24 +0000)]
X64: Implement RegExp natively.
Review URL: http://codereview.chromium.org/165443
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2688
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 14 Aug 2009 11:05:42 +0000 (11:05 +0000)]
Refactor SetFunctionInfo to reduce long argument list.
Review URL: http://codereview.chromium.org/165527
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2687
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Thu, 13 Aug 2009 22:13:45 +0000 (22:13 +0000)]
Revert code.google.com/p/v8/source/detail?r=2670
Now we can pass '--expose_gc' to V8 in the layout test controller. This is probably a better option.
Review URL: http://codereview.chromium.org/164520
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2686
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Thu, 13 Aug 2009 14:58:35 +0000 (14:58 +0000)]
Changed Heap::Shrink to free as many pages as possible.
As a benefit, this eliminates an ifdef ARDROID.
Review URL: http://codereview.chromium.org/165453
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2685
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 13 Aug 2009 14:04:49 +0000 (14:04 +0000)]
erikcorry: Remember to put objects back in fast case after adding functions.
P.S. for reasons unknown the original change (2681), also by erikcorry,
was attributed to Bill.
Review URL: http://codereview.chromium.org/164479
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2684
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 13 Aug 2009 14:03:12 +0000 (14:03 +0000)]
Fix mac-nm script to support filenames w/spaces
Review URL: http://codereview.chromium.org/164476
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2683
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 13 Aug 2009 12:35:59 +0000 (12:35 +0000)]
Avoid map transitions and multiple backing arrays for builtin prototypes
while adding functions and other properties. This gives around 2% on
context-create, more if we don't GC on every new context. Also fix
accounting bug in cell space.
Review URL: http://codereview.chromium.org/165449
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2681
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 13 Aug 2009 12:35:09 +0000 (12:35 +0000)]
X64: Change testl to testb if mask fits in 1 byte. Shortens smi test.
Review URL: http://codereview.chromium.org/164472
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2680
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 13 Aug 2009 12:21:11 +0000 (12:21 +0000)]
Prepare push to trunk to get JSON parser fix into Chromium.
Now working on version 1.3.5.
Review URL: http://codereview.chromium.org/164474
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2679
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Thu, 13 Aug 2009 12:13:50 +0000 (12:13 +0000)]
Changed semi space Grow to be rounded to OS page size.
Review URL: http://codereview.chromium.org/164469
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2678
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Thu, 13 Aug 2009 12:03:42 +0000 (12:03 +0000)]
- Added simple memory reduction behavior for IdleNotification.
- This also include a one line change approved by lrh.
http://codereview.chromium.org/164469
Review URL: http://codereview.chromium.org/165448
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2677
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Thu, 13 Aug 2009 10:25:35 +0000 (10:25 +0000)]
Fixed issue 19212
Fixed a bug in json parsing. Refactored compilation code a bit to
make it more obvious what's going on.
Review URL: http://codereview.chromium.org/165446
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2675
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Thu, 13 Aug 2009 09:35:51 +0000 (09:35 +0000)]
Added idle notification to the API.
The implementation is still empty.
Review URL: http://codereview.chromium.org/165445
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2674
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 13 Aug 2009 08:00:04 +0000 (08:00 +0000)]
X64: Add an SHL optimization, fix a floating-point bug, fix xchg rax,r8 and printing of test ?ax, imm in disassembler.
Review URL: http://codereview.chromium.org/164399
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2673
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 13 Aug 2009 07:36:28 +0000 (07:36 +0000)]
Move some arrays into functions so they don't get cloned on each new context.
Review URL: http://codereview.chromium.org/164396
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2672
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Thu, 13 Aug 2009 07:07:41 +0000 (07:07 +0000)]
Add a readline() command to d8. This reads a single line, stripping
the new-line at the end. This is the other half of what is required to
make the Debian Language Shootout code work correctly:
http://code.google.com/p/v8/issues/detail?id=353
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2671
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Wed, 12 Aug 2009 21:30:13 +0000 (21:30 +0000)]
Revert my previous change r2654.
It has a similar impact on page cycler performance because now GC is randomly counted in page load time.
http://code.google.com/p/v8/source/detail?r=2654
Review URL: http://codereview.chromium.org/164407
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2670
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 12 Aug 2009 14:02:09 +0000 (14:02 +0000)]
Prepare to push to trunk. We are now working on version 1.3.4.
Review URL: http://codereview.chromium.org/165383
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2668
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Wed, 12 Aug 2009 13:54:43 +0000 (13:54 +0000)]
- Reduced the maximum capacity of a semi space from 8MB to 4MB.
- Changed the semi space growth policy from doubling to increasing by 50%.
This slows down V8BenchmarkSuite with 1.32% but reduces the memory footprint with 8MB per V8 instance.
Review URL: http://codereview.chromium.org/164397
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2667
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 12 Aug 2009 11:52:22 +0000 (11:52 +0000)]
Add a write() command to d8. This is the same as the print() command, with the
exception that it does not add a new-line to the end. This half of what is
required to make the Debian Language Shootout code work correctly:
http://code.google.com/p/v8/issues/detail?id=354
BUG=354
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2666
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 12 Aug 2009 11:08:10 +0000 (11:08 +0000)]
Fixed broken build.
Review URL: http://codereview.chromium.org/164395
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2665
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 12 Aug 2009 10:27:35 +0000 (10:27 +0000)]
Add api call to determine whether a string can be externalized.
Review URL: http://codereview.chromium.org/164393
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2664
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 11 Aug 2009 15:30:09 +0000 (15:30 +0000)]
X64: Remove optimization of SHR by constant, due to unfixed bug.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2663
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 11 Aug 2009 15:23:06 +0000 (15:23 +0000)]
Land change to notify valgrind when we modify code on x86. This does
not seem to impact performance and makes it a lot easier for people
embedding V8 to run their application under valgrind.
If we observe a negative performance impact, we will need to revise
this again.
Review URL: http://codereview.chromium.org/13612.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2662
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 11 Aug 2009 12:49:27 +0000 (12:49 +0000)]
X64: Implement remaining constant smi optimizations. Enable mozilla tests that now pass.
Review URL: http://codereview.chromium.org/164317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2661
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 11 Aug 2009 11:47:41 +0000 (11:47 +0000)]
Change the location set size from kPointerSize to kBitsPerPointer.
This was leftover from an old code review and not yet submitted.
Review URL: http://codereview.chromium.org/164315
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2660
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 11 Aug 2009 11:46:27 +0000 (11:46 +0000)]
Remove much of the register allocation overhead from ARM. When
registers are required for calls, explicitly construct a Result with
the needed register rather than allocating it. For returns from
calls, let the return value in r0 be implicit rather than explicitly
allocated.
Review URL: http://codereview.chromium.org/164316
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2659
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 10 Aug 2009 14:35:20 +0000 (14:35 +0000)]
X64: Add special inlining for subtracting a constant smi.
Review URL: http://codereview.chromium.org/164252
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2658
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 10 Aug 2009 13:00:05 +0000 (13:00 +0000)]
Factored out common Instruction code in the CFG builder that depends only
on the number of operands.
Tinkered with instruction printing to align operands and not include
so many parentheses.
Review URL: http://codereview.chromium.org/165237
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2657
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 10 Aug 2009 11:54:25 +0000 (11:54 +0000)]
"Port" (count >= 0) assertion in VirtualFrame::Drop to ia32 and x64.
Review URL: http://codereview.chromium.org/164251
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2656
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 10 Aug 2009 11:13:34 +0000 (11:13 +0000)]
Eliminate most of the jump target jumping, branching, and binding
overhead on the ARM platform.
Because virtual frames are always in memory, there is no work to be
done for control flow except in the case of breaking or continuing
when there is extra statement state on the stack.
Review URL: http://codereview.chromium.org/165230
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2655
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Fri, 7 Aug 2009 18:17:01 +0000 (18:17 +0000)]
Avoid calling GC in Context::New on Android devices.
Review URL: http://codereview.chromium.org/164153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2654
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 7 Aug 2009 13:32:39 +0000 (13:32 +0000)]
Added support for property loads to the CFG builder and fast-mode
compiler.
Review URL: http://codereview.chromium.org/165129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2653
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 7 Aug 2009 12:52:32 +0000 (12:52 +0000)]
Implement inline constructors for X64. Fix ia32 inline constructors a little. Fix a bug of a non-constant length between a call and its fixup.
Review URL: http://codereview.chromium.org/164144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2652
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00