Commit Graph

8144 Commits

Author SHA1 Message Date
christian.plesner.hansen@gmail.com
17096cab78 Calculate string hash during flattening and convert flat strings to
symbols.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 10:10:03 +00:00
bak@chromium.org
9dadae1bfb - Fixed Issue 3201: Embedded Google Calendar crashes the renderer
ExtendStorage did not work with keyed store IC.
- Reduced instructions generated when performing a tail call to 
  kSharedStoreIC_ExtendStorage
- Moved test/mjsunit/bugs/bug-109.js
  to test/mjsunit/keyed-storage-extend.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 09:28:04 +00:00
lrn@chromium.org
ca7668ee32 Fixed typo
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 09:04:23 +00:00
kmillikin@chromium.org
5c80e6a83a Document (and assert) some of the safe-but-brittle implicit assumptions
about references in the code generators.
Review URL: http://codereview.chromium.org/6301

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 08:47:15 +00:00
lrn@chromium.org
c7c7b8b0e7 Fast direct-access version of KPM string match.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 08:11:44 +00:00
kasperl@chromium.org
f7174fd151 Add reproducible failing test case for bug 109.
Review URL: http://codereview.chromium.org/6300

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 08:11:38 +00:00
ager@chromium.org
c1ec605496 Adding Paolo Giarrusso to AUTHORS file for his hash code patch.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 07:26:06 +00:00
sgjesse@chromium.org
3a41911303 Removed some debug code related to issue 1308895 which was fixed in CL
http://codereview.chromium.org/6271.
Review URL: http://codereview.chromium.org/6299

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 07:23:24 +00:00
kmillikin@chromium.org
ca0924349d DeclareContextSlot took an extra completely random argument from the
stack which was returned and always pushed back.

Removed it.
Review URL: http://codereview.chromium.org/6802

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 16:57:38 +00:00
sgjesse@chromium.org
47439f3274 Skip the test debug-scripts-request on ARM in debug mode. It has consistently
been running for more than 3 minutes on Arm�g.g.
Review URL: http://codereview.chromium.org/6273

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 15:16:53 +00:00
sgjesse@chromium.org
167d7b4504 Marked a test parsing on ARM as parsing.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 14:30:24 +00:00
kasperl@chromium.org
35a7d677b0 Fix lint issue.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 13:37:27 +00:00
sgjesse@chromium.org
c0e04e1e86 Fixed unsafe code where a GC could occour after a Handle had been deferenced.
instances->set(i, *GetScriptWrapper(script));

GetScriptWrapper can call GC. The failure have only been seen on ARM, where
the g++ compiler pulls out the object from the instances handle to a register
before calling GetScriptWrapper causing set to be called on an object which
may have moved.

Marked a test on ARM as no longer flaky, whereas two other fails consistently
but that is no longer related to the problem fixed above.

BUG=1308895
Review URL: http://codereview.chromium.org/6271

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 13:20:27 +00:00
ager@chromium.org
3840bf2c08 The constructor properties on the prototypes of error objects should
not be enumerable.
Review URL: http://codereview.chromium.org/6270

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 12:53:02 +00:00
kasperl@chromium.org
892b0cac3c Refactor the arguments access code to make it easier to read.
Review URL: http://codereview.chromium.org/6491

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 11:04:03 +00:00
kasperl@chromium.org
bc66e45c53 Use String::kHashShift instead of kHashShift. TBR=ager@chromium.org.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 09:43:24 +00:00
ager@chromium.org
70dcba4024 Exclude the bit-field bits from string hash codes. String hash codes
are always odd if the bit-field bits are included.

Modified a couple of debugger tests that relied on the ordering of
elements in descriptor arrays.  Descriptor arrays are sorted by
hash-code values, so the order changes if we change the hash code.
Review URL: http://codereview.chromium.org/6489

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 09:35:52 +00:00
kasperl@chromium.org
64302ba2f7 Update version to 0.3.5 in preparation for pushing
0.3.4 to trunk.
Review URL: http://codereview.chromium.org/6265

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 08:07:59 +00:00
kasperl@chromium.org
15e7cd6e18 Let the current state of the benchmarks be known to the
world as version 2.
Review URL: http://codereview.chromium.org/6487

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 07:55:10 +00:00
kasperl@chromium.org
1f38bc429a Adapt the test expectations on ARM to make ARMu pass
in debug mode.
Review URL: http://codereview.chromium.org/6264

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 07:37:24 +00:00
kasperl@chromium.org
4fe70e49b6 Fix ARMu debug mode failure by handling runtime calls
with the wrong number of arguments on ARM in the same
way it's done on IA32. Make sure to remove arguments
on both platforms and return the illegal result in 
register eax or r0.
Review URL: http://codereview.chromium.org/6263

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 06:41:10 +00:00
kasperl@chromium.org
5458eac183 Improve performance of arguments object allocation by taking
care of arguments adaptor frames in the generated code.
Review URL: http://codereview.chromium.org/6262

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 06:08:15 +00:00
ager@chromium.org
192d439f45 Update v8natives to use InstallFunctions to get the correct function
names for library functions.
Review URL: http://codereview.chromium.org/6447

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 18:00:28 +00:00
erik.corry@gmail.com
4b063df8c8 Fix lint error.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 16:58:28 +00:00
erik.corry@gmail.com
b65c24f67e Recommit reverted change, now with fixes to make it work with gcc-4.2.
Allow gcc to use strict (type-based) aliasing when optimizing.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 15:53:44 +00:00
kasperl@chromium.org
6d8a21ee34 Revert 428. Breaks 64-bit compilation.
Review URL: http://codereview.chromium.org/6446

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 13:32:43 +00:00
kasperl@chromium.org
2b3b31cf1c Fix lint issues.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 13:26:00 +00:00
erik.corry@gmail.com
70fa44ecea Allow gcc to use strict-aliasing rules to control pointer aliasing when
optimizing.  Obfuscate a few casts with bit_cast to avoid warnings from
gcc.
Review URL: http://codereview.chromium.org/6236

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 13:11:19 +00:00
sgjesse@chromium.org
43783fa236 Mark a test as flaky on ARM. Fails on hardware but passes in simulator.Z
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 12:15:32 +00:00
whessev8
d2a8454d2f This change removes the %AddProperty native JavaScript function from V8.
All uses of %AddProperty are replaced by %SetProperty.  A few uses of
IgnoreAttributesAndSetLocalProperty are added, and the runtime version
of it adds a PropertyAttributes argument.  Only the JSObject class
in objects.cc now uses AddProperty, and it can become private.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 12:14:29 +00:00
lrn@chromium.org
fbd7acf57c Fixed whitespace. Remember to run presubmit before submitting.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 12:07:42 +00:00
lrn@chromium.org
17dc503149 Added fast-case switch to ARM.
Refactored to reuse code between ia32 and ARM.
Added tests for switch.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 12:04:59 +00:00
kasperl@chromium.org
4269973acd Log ticks when the prof flag is set. Avoid letting --prof
imply --log.
Review URL: http://codereview.chromium.org/6444

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 10:51:08 +00:00
christian.plesner.hansen@gmail.com
e060c52c1c Changed so that --log-code implies --log.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 10:42:53 +00:00
sgjesse@chromium.org
12bc4034e0 Refactored the logic for entering the debugger into one abstraction EnterDebugger.
Removed the static initializer for Top::break_access_.
Review URL: http://codereview.chromium.org/6234

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 09:57:18 +00:00
bak@chromium.org
f42636b26f - Added fast case for extending the JSObject properties storage.
- Changed date to compute local_time_offset at load time.
  
Review URL: http://codereview.chromium.org/6441

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 09:16:12 +00:00
sgjesse@chromium.org
28ab46c5cd Updated the snapshot builder to reflect the removed extensions in http://codereview.chromium.org/6233.
Review URL: http://codereview.chromium.org/6440

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 09:05:58 +00:00
sgjesse@chromium.org
b8a89fa3f2 Fixed the path for include files v8.h and v8-debug.h in Visual Studio project.
Review URL: http://codereview.chromium.org/6601

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 08:31:19 +00:00
sgjesse@chromium.org
6a5e5bc50a Removed the print, load, quit and version extensions from the VM. Moved the print extension to the compiler test as it was used there. Changed the serializer tests to only use the gc extension.
This also gets rid of 8 static initializers.
Review URL: http://codereview.chromium.org/6233

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 08:30:22 +00:00
ager@chromium.org
0d74c422a9 Cleanup string builtins.
Review URL: http://codereview.chromium.org/6602

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 07:58:18 +00:00
kasperl@chromium.org
8387c9b701 Minor cleanups to macros.py.
Review URL: http://codereview.chromium.org/6232

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 07:36:03 +00:00
ager@chromium.org
9da356eea6 Make sure that the name accessor on functions return the expected
names.

- Set the correct name of library functions.
- Set the name of C++ callback functions.
- Clean up a couple of out-dated comments related to literal creation.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 07:14:31 +00:00
christian.plesner.hansen@gmail.com
06fa6d1cde - Case-sensitive atomic regular expressions now use the same code as
String.indexOf to do matching.
- The --log option is no longer automatically enabled by the other log
  options.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 15:35:28 +00:00
kmillikin@chromium.org
eece48a79d Print one line when pushing an immediate followed by a pop is
eliminated.
Review URL: http://codereview.chromium.org/6078

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 14:23:20 +00:00
whessev8
c1ac963e53 Replaces two non-private uses of AddProperty with IgnoreAttributesAndSetLocalProperty. Adds attributes parameter to IgnoreAtt..Property(). Makes IgnoreAtt..Property() an exact clone of SetProperty(), with explicit changes.
Review URL: http://codereview.chromium.org/5665

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 13:45:21 +00:00
kmillikin@chromium.org
a30916cf27 In the code generator, avoid loading the arguments object to the
expression stack when it is already there.  Also, cleanup up the
(two!) extra copies of the arguments object left on the stack.
Review URL: http://codereview.chromium.org/5667

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 12:44:47 +00:00
kmillikin@chromium.org
eca6c6ae65 Move code for code generator static member functions, code generation
functions on AST nodes, and helper class member functions (eg, stub
classes) toward the bottom of the codegen*.cc files.  The macro __ is
now #define'd exactly twice and #undef'd twice.
Review URL: http://codereview.chromium.org/6075

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 11:54:32 +00:00
kmillikin@chromium.org
36e050fa6b Small cleanup of the code generator: make the static code gen
functions and the ones defined on the AST nodes take a code generator,
rather than a macro assembler and (sometimes) scope.

Uniformly use the __ macro for masm_/masm in the codegen*.cc files.
Review URL: http://codereview.chromium.org/5663

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 11:14:50 +00:00
sgjesse@chromium.org
d759938461 Changed optimization from /Ox to the (more) commonly used /O2 (which includes
/GF) in both SCons and Visual Studio build. There is not mesurable difference
neither in speed nor in code size.

Added whole program optimization to the SCons release build. This clutters the
linking of the samples a little with the option /LTCG. This option is not
strictly needed for linking, but if it is not specified the linker complaints
as it can see object files compiled with /GL and then restarts itself with
/LTCG which dosen't look very pretty.
Review URL: http://codereview.chromium.org/5664

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 09:41:01 +00:00
olehougaard
864ebf14ad Fixed use of undefined in ArraySort.
Changed 'undefined' in ArraySort to 'void 0'. Also added regression test to catch the error.
Review URL: http://codereview.chromium.org/6073

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 08:58:03 +00:00