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
sgjesse@chromium.org
5a82d8e3d4
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
2009-05-18 13:16:48 +00:00
kmillikin@chromium.org
a77d81c59b
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
2009-05-18 13:16:35 +00:00
sgjesse@chromium.org
94879a93b0
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
2009-05-18 13:14:37 +00:00
ager@chromium.org
ef85ba46b0
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
2009-05-18 12:26:59 +00:00
lrn@chromium.org
13a96b3aa0
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
2009-05-18 12:13:20 +00:00
bak@chromium.org
81af5beefa
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
2009-05-18 09:41:16 +00:00
kmillikin@chromium.org
20b3a4deaa
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
2009-05-18 07:57:29 +00:00
kasperl@chromium.org
e67eaac206
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
2009-05-18 05:50:26 +00:00
iposva@chromium.org
5b72959f3e
Remove space at end of line.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-15 23:05:21 +00:00
iposva@chromium.org
b5c6dc35f9
- 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
2009-05-15 22:36:26 +00:00
yurys@chromium.org
6a350c86bf
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
2009-05-15 15:52:37 +00:00
kmillikin@chromium.org
e097183f22
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
2009-05-15 15:02:03 +00:00
bak@chromium.org
cadd98f860
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
2009-05-15 14:58:02 +00:00
kmillikin@chromium.org
566d088ee3
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
2009-05-15 14:46:59 +00:00
kasperl@chromium.org
d34f51df8d
Revert r1969 because of test failures.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-15 14:40:50 +00:00
kasperl@chromium.org
f9790085ed
Revert r1971. Doesn't compile.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-15 14:39:34 +00:00
kmillikin@chromium.org
3c73ec8ac9
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
2009-05-15 13:52:14 +00:00
sgjesse@chromium.org
44bdc2c9a8
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
2009-05-15 13:49:00 +00:00
bak@chromium.org
3cded9c31f
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
2009-05-15 13:47:35 +00:00
kmillikin@chromium.org
dc9473d817
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
2009-05-15 12:43:00 +00:00
ager@chromium.org
33debd1460
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
2009-05-15 11:32:03 +00:00
kmillikin@chromium.org
f579685469
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
2009-05-15 11:17:29 +00:00
ager@chromium.org
a3f30f5a3a
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
2009-05-15 11:09:51 +00:00
mikhail.naganov@gmail.com
ed72ecb02e
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
2009-05-15 09:58:40 +00:00
whesse@chromium.org
0eb8d35a6d
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
2009-05-15 09:38:11 +00:00
sgjesse@chromium.org
5c4118e2a2
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
2009-05-15 09:18:13 +00:00
kasperl@chromium.org
3e0f2a1532
Fix lint errors in test-hashmap.cc
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-15 08:33:38 +00:00
kmillikin@chromium.org
6e5de93ad3
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
2009-05-15 08:08:52 +00:00
sgjesse@chromium.org
c32884d371
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
2009-05-15 07:54:33 +00:00
erik.corry@gmail.com
b66c1bbbf8
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
2009-05-15 07:41:32 +00:00
yurys@chromium.org
acfc50ac12
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
2009-05-15 07:35:11 +00:00
sgjesse@chromium.org
77b9c60169
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
2009-05-15 07:09:17 +00:00
kasperl@chromium.org
2d50e31438
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
2009-05-15 06:45:50 +00:00
whesse@chromium.org
4a12504f89
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
2009-05-14 16:06:04 +00:00
ager@chromium.org
57da353113
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
2009-05-14 13:17:28 +00:00
ager@chromium.org
2a96ec599b
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
2009-05-14 12:26:59 +00:00
ager@chromium.org
af59c3d68f
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
2009-05-14 12:18:25 +00:00
ager@chromium.org
c9eda02def
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
2009-05-14 11:55:18 +00:00
ager@chromium.org
f4778b007f
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
2009-05-14 11:43:09 +00:00
bak@chromium.org
9e02f380f0
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
2009-05-14 11:36:10 +00:00
bak@chromium.org
c70ec7a3d2
- 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
2009-05-14 11:03:55 +00:00
kmillikin@chromium.org
f48a6bf30f
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
2009-05-14 10:29:48 +00:00