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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
kmillikin@chromium.org [Mon, 11 May 2009 13:57:19 +0000 (13:57 +0000)]
Simplify JumpTarget::ComputeEntryFrame. Eliminate a separate pass
over the frame elements to find registers used (before allocating
undetermined elements) and another pass to set the frame's register
indices (after allocating all elements).
Review URL: http://codereview.chromium.org/114018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 8 May 2009 17:48:19 +0000 (17:48 +0000)]
A register allocation bugfix.
The function that prepares a virtual frame slot for writing (in order
to preserve the copy-on-write semantics of aliased frame elements) can
allocate registers, which may spill one from the frame. If we're
unlucky, the spilled register can be the source register for the frame
element write. In that case, ensure we do the write from memory.
Review URL: http://codereview.chromium.org/115125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1904
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 8 May 2009 12:39:37 +0000 (12:39 +0000)]
Fix intermittent crashes caused by unexpected GCs in
HasLocalProperty (bug introduced in r1882 et al.)
Review URL: http://codereview.chromium.org/115106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 8 May 2009 11:27:02 +0000 (11:27 +0000)]
Don't keep data about JS code that is never executed.
This reduces memory usage of tickprocessor. Thanks to William Hesse for pointing out this issue.
Also speed up static symbols loading.
Review URL: http://codereview.chromium.org/113101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 8 May 2009 10:06:38 +0000 (10:06 +0000)]
Return immediately from GetLogLines if logging to memory isn't enabled.
Review URL: http://codereview.chromium.org/115123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 7 May 2009 12:36:18 +0000 (12:36 +0000)]
Change the structure of the scavenge collector's loop. Move
scavenging of objects pointed to by weak handles earlier. Rename
"mark" => "front" and "top" => "rear" to make it clearer which end is
which.
Review URL: http://codereview.chromium.org/113097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 7 May 2009 12:25:46 +0000 (12:25 +0000)]
Allocate proxy before the script to allow heap verification
to check that all scripts have a proxy in the wrapper field.
Review URL: http://codereview.chromium.org/115081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 May 2009 11:50:09 +0000 (11:50 +0000)]
X64: Serialization fixed to use intptr_t/Address where needed.
Review URL: http://codereview.chromium.org/115080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1898
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 7 May 2009 10:43:33 +0000 (10:43 +0000)]
Before a scavenge collection in debug builds with ENABLE_SLOW_ASSERTS,
we verify that there are no pointers to new space from the code space.
Add the old data space to this verification.
Review URL: http://codereview.chromium.org/113095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1897
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 7 May 2009 10:31:14 +0000 (10:31 +0000)]
Fix lint
Review URL: http://codereview.chromium.org/115076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1896
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 7 May 2009 10:19:38 +0000 (10:19 +0000)]
Changed the PageIterator class so that it only returns pages existing
at construction time. If allocation during iteration causes a paged
space to expand, the iterator will not return the new pages.
This makes it more closely match the HeapObjectIterator behavior, and
it removes a possible source of bugs (if the allocation top was in the
last page in the space, the old iterator would stop only when it
reached the end of the space, potentially returning invalid pages from
a freshly expanded space).
Review URL: http://codereview.chromium.org/115074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1895
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 May 2009 09:34:16 +0000 (09:34 +0000)]
X64: Changed TickSample to hold pointer-sized values for registers.
Review URL: http://codereview.chromium.org/113094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 May 2009 09:27:42 +0000 (09:27 +0000)]
X64: Changed 0x%x formats in log.cc to 0x%p and omitted reinterpretting pointers.
Review URL: http://codereview.chromium.org/114010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 7 May 2009 09:24:43 +0000 (09:24 +0000)]
Restore stack backtrace tests removed in revision 1785.
To re-enable tests, instead of compiled code patching, inlined code is used.
Inlined code is only installed in test.
Review URL: http://codereview.chromium.org/108015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 May 2009 08:50:22 +0000 (08:50 +0000)]
Changed size of pointers stored as numbers to intptr_t in spaces.h.
Review URL: http://codereview.chromium.org/115073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1891
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 7 May 2009 07:18:33 +0000 (07:18 +0000)]
Port change (r1837) that allows call-as-function handlers to be called
through new to ARM.
Added simple test case of the current behavior.
For consistency, changed a number of occurences of explicit moves to
pc to use Jump instead.
Review URL: http://codereview.chromium.org/115014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1889
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 7 May 2009 00:10:01 +0000 (00:10 +0000)]
The ARM assembler tests don't install the standard JS natives. When
setting up push and pop we shouldn't make too many assumptions about
the structure of classes like 'Array'.
Review URL: http://codereview.chromium.org/113068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1888
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
davemoore@chromium.org [Wed, 6 May 2009 18:30:37 +0000 (18:30 +0000)]
Make check in GetExternalString a runtime check instead of ASSERT.
This will allow us to remove the separate call to IsExternal() from our
chrome client code, speeding up the combination.
Review URL: http://codereview.chromium.org/113035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 6 May 2009 13:34:06 +0000 (13:34 +0000)]
Fix debug mode :-/
Review URL: http://codereview.chromium.org/115025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1886
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 6 May 2009 13:27:35 +0000 (13:27 +0000)]
Add x64 header files to make the build compile
Review URL: http://codereview.chromium.org/115023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1885
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 6 May 2009 13:19:55 +0000 (13:19 +0000)]
Missing file from last change. TBR=kasperl
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 May 2009 13:11:56 +0000 (13:11 +0000)]
X64: Fixed conversion between tread_id (int) and void*.
Thread id's are always int size values (generated from an int counter).
Review URL: http://codereview.chromium.org/113030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00