Commit Graph

19682 Commits

Author SHA1 Message Date
feng@chromium.org
ebfa9d37b6 Added a EvalCache that caches eval'ed scripts and compiled function boilerplate.
The cache is a hashtable that takes String as key and JSFunction as the value.

Caches are cleared before mark-compact GC's.

Currently I don't put caps on cache size, string size, etc.

This cuts date-parse-totfe.js runtime by half.


Review URL: http://codereview.chromium.org/457

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 16:27:56 +00:00
christian.plesner.hansen@gmail.com
bce5ba577b Fixed test failure.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 15:01:10 +00:00
christian.plesner.hansen@gmail.com
0a10e1560d Fixed windows test build.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 14:10:27 +00:00
christian.plesner.hansen@gmail.com
1d8c4a9d94 A new instance of the utf-8 conversion changelist, this time against
bleeding_edge.



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 13:39:14 +00:00
erik.corry@gmail.com
388c1094b7 * Split up code_space into old_data_space and code_space.
* Make old_data_space non-executable on OSs and hardware that support it.
* Rename old_space to old_pointer_space (can contain pointers, esp. to new space).
* Ensure that individual pages allocated for old_space are only executable when
they are for code objects.
* Ensure Space::Setup can cope with non-aligned memory.
* Make some methods on Spaces virtual.  Make a way to iterate over all spaces.
* Replace executability flag with Executability enum in order to make intent at
call site clearer.
* Fix serialization/deserialization to allocate write barrier memory for large
arrays.



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 12:34:09 +00:00
kmillikin@chromium.org
1472ee5970 Added an option to enable the disassembler in both debug and release
mode builds.  It is off by default (but the disassembler is already
enabled for debug builds).


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 12:21:04 +00:00
kasperl@chromium.org
57fcbc370c Add I-cache flushing to Code::Relocate. No need to call it
from Heap::CopyCode anymore.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 11:23:00 +00:00
ager@chromium.org
85a8532af2 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 2008-09-05 10:20:14 +00:00
sgjesse@gmail.com
4144ac3adc Refactored the evn override handling to a single method and fixed the handling
of the case where ENV is not a dictionary which could happen when the
environment variable ENV was set when invoking SCons.

Fixed building dynamic library on Windows in the case where env overrides was
specified as before these was not passed to the linking of the DLL.

There is still a SCons issue when the environment variable ENV is set when
invoking SCons, however this looks like a SCons issue.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 10:00:50 +00:00
sgjesse
bdb91eb794 Removed spaces to fix lint.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 09:41:30 +00:00
sgjesse
c613745328 Changed the check for debug event messages in the debug tests
to be independent of the order of the properties in the JSON
string.

Reenabled the disabled debug tests.

http://code.google.com/p/v8/issues/detail?id=21


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 09:01:12 +00:00
ager@chromium.org
1dba6feed0 Applied Rafal Krypa's patch to fix gcc 4.3.2 build problems.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 07:46:32 +00:00
feng@chromium.org
766523b710 Disable three debug tests that failed because they rely on wrong for-in order.
Added a DISABLED_TEST macro to cctest.h, and cleanup cctest.cc a bit.

Review URL: http://codereview.chromium.org/456

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 00:04:37 +00:00
feng@chromium.org
93a5d0b959 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 2008-09-04 20:49:18 +00:00
ager@chromium.org
68834a4352 If CCFLAGS contains '-m32', LINKFLAGS needs also needs '-m32'.
Otherwise, ld complains and refuses to work.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 20:40:40 +00:00
ager@chromium.org
3e9d63e16e Update version tag in bleeding_edge branch. Now working on 0.3.1.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 13:58:16 +00:00
ager@chromium.org
f700c7e14c Minor cleanup: the smartpointer class should use DeleteArray to
deallocate.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 13:09:12 +00:00
ager@chromium.org
f67fd01cc0 Update the test expectation for a flaky test.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 12:53:41 +00:00
sgjesse
fd6a5b3f8e Renamed the include file debug.h to v8-debug.h to avoid possible
name conflicts.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 10:03:17 +00:00
ager@chromium.org
552e5f831f Make Date.prototype.toTimeString and Date.prototype.toLocaleTimeString
only return the time portion of the date.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 07:13:21 +00:00
erik.corry@gmail.com
1827c2b16b Update mozilla test results.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-03 20:05:12 +00:00
ager@chromium.org
0b9c43b37b Add the profiler tick processors to the tools directory.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-03 19:15:48 +00:00
christian.plesner.hansen@gmail.com
0b0c2f2979 Applied Rene Rebe's patch to fix compilation with gcc-4.3 (identical
to Seo Sanghyeon and Koda's).  Yay, our first patch!



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-03 08:19:44 +00:00
ager@chromium.org
d295ddd922 Fix the 'in' operator so it works correctly for negative indices.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-03 07:34:21 +00:00
christian.plesner.hansen@gmail.com
472ae34f9d - Added some "special" tests that were left out before.
- Added option to test runner that allows us to run the tests under
  valgrind.
- Added test status for the failing arm simulator tests.



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-03 07:31:19 +00:00
feng.qian.v8
194baea8ca Move JS_VALUE_TYPE ahead of JS_OBJECT_TYPE to save one comparison in
KeyedLoadIC::GenerateGeneric (on IA32), and the same on ARM.
Re-assignmed FIRST_JS_OBJECT_TYPE to JS_VALUE_TYPE.

Also changed JS_OBJECT_TYPE to FIRST_JS_OBJECT_TYPE in several places where
FIRST_JS_OBJECT_TYPE is intended.



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 23:52:50 +00:00
feng.qian.v8
6287c675d8 Change __ mov(eax, TOS) to
__ pop(eax);
...
__ push(eax);
to enable push/pop eliminations.

__ push(eax) must happen before RecordWrite because RecordWrite may destroy 
eax value. To be safe, also moved __ push(r0) on ARM to above RecordWrite.

This only affects the case where a context variable is used in a inner scope.

Create a tests for it. It fails if __ push(eax) is after RecordWrite.



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 21:47:45 +00:00
christian.plesner.hansen@gmail.com
786760039e - Added test status spec to cctests to make arm simulator tests run.
- Added test script option to override platform guess (again, to be
  able to run arm sim tests on intel).



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 15:20:38 +00:00
v8.team.kasperl@gmail.com
08bfd16e70 Update version tag in bleeding_edge branch. We're now working
towards version 0.3.0.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 15:02:43 +00:00
sgjesse@gmail.com
6b569a5bb6 Handle spaces in the working directory when running tests on Windows.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 14:47:10 +00:00
mads.s.ager@gmail.com
30e44ee4fd Allow a test that relies on non-standard timer resolution on Windows
to fail on Windows.

Updated mozilla.status to use correct syntax for tests that are
allowed to fail in debug mode.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@97 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 12:42:10 +00:00
sgjesse@gmail.com
c2c5482c9b Add the SCons environment override to the building of the samples and
the tests.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@95 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 12:20:15 +00:00
v8.team.kasperl@gmail.com
ce7210ece0 Ignore missing copyright notices for EarleyBoyer and RayTrace
benchmarks.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@93 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 11:40:18 +00:00
v8.team.kasperl@gmail.com
f472c46a08 Added version 1 of the V8 benchmark suite to the repository.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@91 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 11:06:49 +00:00
sgjesse@gmail.com
1461117cd4 Add option 'env' to the SCons build scripts to support overriding the
ENV part of the build environment. This is mostly to support Windows
builds in cases where SCons cannot find the correct paths to the
Windows SDK, as these paths cannot be passed through shell envrionment
variables.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@87 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 09:05:53 +00:00
mads.s.ager@gmail.com
546b52c323 More updates to the API documentation.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@85 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 20:37:06 +00:00
mads.s.ager
b35e30e727 Comment formatting change.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@83 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 18:48:24 +00:00
mads.s.ager@gmail.com
96ae958eb1 Updated V8 API documentation.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@82 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 18:22:49 +00:00
lesleyb555
9195764ad7 Corrected a few typos, other minor edits to comments
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@80 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 17:31:57 +00:00
mads.s.ager@gmail.com
f6126b9129 Revert unsafe change to code generator which is causing regressions.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@79 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 15:10:20 +00:00
christian.plesner.hansen@gmail.com
2dcb27a705 Hack to avoid bug in scons 0.ninety-something which doesn't allow
warning options to be set.  I'm loving scons right now.



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@75 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 12:00:32 +00:00
sgjesse@gmail.com
5a57a29dbe Renamed the top level directory 'public' to 'include'.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@74 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 11:48:50 +00:00
sgjesse@gmail.com
ed90d8aba8 Switched back on the "Buffer Security Check" on Windows SCons build.
Added the Windows linker option /OPT:ICF in the SCons build file.



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@71 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 10:16:00 +00:00
sgjesse@gmail.com
9cd4196c55 Created a factory method for allocating the debug info object. The new
method ensures that there are no allocations during the setup.

This fixes test breakage on Linux in debug mode where allocation
happened while the debug info object was not fully set up making
verify heap unhappy.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@70 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 10:15:45 +00:00
christian.plesner.hansen@gmail.com
e5e85a88cd Shut up env.Copy warning. This breaks the build with scons 0.97
because of a bug in that version but it's easy to solve by upgrading
to 1.0.



git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@69 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 09:34:14 +00:00
kodandersson@gmail.com
e54463c83b Test that I can submit to new repository and fix lots of typos in comments.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@65 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 09:16:49 +00:00
mads.s.ager@gmail.com
371ddc7103 Update version number. Now working on 0.2.5.
Fixed typo in v8.h.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@62 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 09:02:51 +00:00
mads.s.ager@gmail.com
74352a14b7 Fix typo in test.py.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@57 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 07:01:02 +00:00
sgjesse@gmail.com
6ca0d05f64 Changed two IA-32 assembler tests to use the stack below the return address as
temporary storage for moving data from register xmm0 to st(0) instead of overwriting
the parameters. This fixes a test that crashed on Windows in release build due to
stack corruption.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@55 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 06:41:12 +00:00
mads.s.ager@gmail.com
36a4d039b1 Introduce ZoneScope class to keep track of zone deletion. Remove
unsafe calls to Zone::DeleteAll() from parser and use ZoneScopes
instead.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@54 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 06:06:52 +00:00