lrn@chromium.org
dc87d51f70
Changed Boyer-Moore's bad-char table code:
...
- Reduce it to half size if the pattern is ASCII, saving on initialization
- If pattern is ASCII and subject is not, any non-ASCII char can cause a
full pattern-length shift, even if we haven't indexed the entire pattern.
- Use memset to initialize buffer in the common case where the pattern is
shorter than the max significant suffix limit.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 11:15:54 +00:00
kmillikin@chromium.org
ebd11b7382
Code formatting changes.
...
Review URL: http://codereview.chromium.org/7346
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 09:54:34 +00:00
bak@chromium.org
7cd44cea9b
- Removed a few indirections by making the two SemiSpaces
...
part of NewSpace and made NewSpace statically allocated.
- Eliminated indirection in MigrateObject.
Review URL: http://codereview.chromium.org/7619
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 09:13:27 +00:00
kasperl@chromium.org
c63477df3d
Fix issue 116 by returning the value from SetFastElement.
...
Review URL: http://codereview.chromium.org/7615
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 06:36:35 +00:00
lrn@chromium.org
c04546333a
* Special case for last char in BM-match
...
* Patch from Erik Corry to separate BM-algoritm into special case
functions. Also changes condition for bailing out of simple search.
* Added simple search with no bailout for very short patterns.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-16 11:33:19 +00:00
ager@chromium.org
d335ce6926
Update ChangeLog and version number to prepare for new trunk version.
...
We are now working on version 0.4.0.
Review URL: http://codereview.chromium.org/7433
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-16 08:02:51 +00:00
bak@chromium.org
884345a789
-Eliminated a excessive memory traffic in CopyObject.
...
Review URL: http://codereview.chromium.org/7432
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-16 07:17:26 +00:00
iposva@chromium.org
d4320b1053
Addressed review comment by Kasper:
...
- Factor out property load from CALL_IC and LOAD_IC.
Review URL: http://codereview.chromium.org/7431
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-16 05:58:09 +00:00
iposva@chromium.org
6d97b325db
- Fix instance size calculation to ensure that the object cannot
...
overflow the maximum object size.
- Added a test that will crash previous revisions.
Review URL: http://codereview.chromium.org/7427
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-16 05:45:33 +00:00
whesse@chromium.org
f12e120463
Fixes bug 1426704.
...
Constructors no longer print out their source code. They print [native code]
instead. Some web applications don't like constructors with complex ToString
results.
Review URL: http://codereview.chromium.org/7345
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-15 10:22:26 +00:00
christian.plesner.hansen@gmail.com
5d4c72efb4
Review-related changes
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-15 08:50:34 +00:00
christian.plesner.hansen@gmail.com
a213e39c77
Added a way to add timestamps to the log file name
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-15 08:50:22 +00:00
iposva@chromium.org
f1f096249c
Fix CALL_IC to read properties out of the object in the presence
...
of in-object properties instead of always going to read out of
the properties array.
TBR=ager
Review URL: http://codereview.chromium.org/6607
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-15 07:48:45 +00:00
iposva@chromium.org
d67fa3c308
Fix lint problem.
...
TBR=kasperl
Review URL: http://codereview.chromium.org/7401
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-15 06:14:39 +00:00
iposva@chromium.org
d09fcf70b7
Allocate room for expected number of properties based on the
...
constructor in the JSObject. This removes the need to allocate
a properties array if the object is never assigned any extra
properties.
Review URL: http://codereview.chromium.org/7341
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-15 06:03:26 +00:00
kmillikin@chromium.org
09abba56ff
Move code (already reviewed) around in the source file and change a
...
few pop instructions that were missed before.
Review URL: http://codereview.chromium.org/7296
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 14:41:47 +00:00
lrn@chromium.org
be10124ab5
Test for non-ASCII character in a needle used on an ASCII string is now handled first
...
instead of only in the unrelated table-construction of Boyer-Moore.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 14:25:37 +00:00
lrn@chromium.org
c54b5e5d9b
Selecting between simple text search and Boyer-Moore now happens by trying
...
the simple search and bailing out and continuing with Boyer-Moore if the simple
version seems too expensive.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 14:02:48 +00:00
lrn@chromium.org
19fceabff0
The BoyerMooreStringSearch now uses separate functions to build its tables.
...
This hightens readability.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 13:25:54 +00:00
lrn@chromium.org
51c7fa95ce
Boyer-Moore delayes computation of Good-Suffix table until bad-char has shown itself
...
to be insufficient.x
Changed order of tests in loop in simple text search.
Changed limit on pattern length for when we pick simple search.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 12:45:06 +00:00
lrn@chromium.org
c46b0e84d4
Reduced the string length and rounds in the extensive indexOf-test in string-indexof.js.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 10:56:40 +00:00
olehougaard
cee2947da0
Testing that sorting behaves reasonably with a bad comparison function.
...
Review URL: http://codereview.chromium.org/7137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 10:50:44 +00:00
christian.plesner.hansen@gmail.com
a601594796
Fixed bug 114
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 09:13:23 +00:00
lrn@chromium.org
9e0609db8e
Most operations are faster than before.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 08:57:31 +00:00
iposva@chromium.org
49c5ed0029
Fix a missing peephole optimization in ia32 code exposed with Kevin's
...
change.
Review URL: http://codereview.chromium.org/7117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-13 20:15:17 +00:00
whesse@chromium.org
dcf8ef2842
Fix lint error in codegen-ia32.cc.
...
Review URL: http://codereview.chromium.org/7264
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-13 10:46:11 +00:00
kmillikin@chromium.org
b2d18f3321
Add a VirtualFrame class to the IA32 code generator. All frame
...
accesses (eg, parameters, locals, and the expression stack elements)
and mutation (pushes and pops) go through the virtual frame.
The frame initially contains no state, and directly emits instructions
in the obvious way. It is not currently used for deferred code.
Review URL: http://codereview.chromium.org/7076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-13 07:56:13 +00:00
bak@chromium.org
dc892fa748
- Omit frame pointers when using GCC.
...
Review URL: http://codereview.chromium.org/7078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 13:15:59 +00:00
bak@chromium.org
80098968d8
- Inlined JSArray::SetContent.
...
- Implemented Runtime_KeyedGetProperty to make slow case faster.
Review URL: http://codereview.chromium.org/7226
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 10:27:44 +00:00
kasperl@chromium.org
8df739da6d
Improve profiler output to make it easier to see the
...
anonymous functions.
Review URL: http://codereview.chromium.org/7075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 09:26:40 +00:00
kasperl@chromium.org
be8762564e
Introduce a special kind of frames for construct frames, e.g.
...
the trampoline frames introduced for invoking functions through
the new keyword.
Review URL: http://codereview.chromium.org/7223
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 09:09:38 +00:00
erik.corry@gmail.com
8bfbe2c0aa
Move const qualifies around to avoid GCC warnings. (GCC 4.3.2)
...
Patch by Seo Sanghyeon sanxiyn@gmail.com , reviewed by Erik Corry.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 08:33:06 +00:00
kasperl@chromium.org
9a63d930e3
Add codegen-arm.h and codegen-ia32.h to VS project file.
...
Review URL: http://codereview.chromium.org/7063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 06:40:11 +00:00
kasperl@chromium.org
f6f72f83e6
Fix typo.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 06:37:49 +00:00
kasperl@chromium.org
1c89cef32d
Make strict equality checks faster on IA32 by doing
...
more work in the CompareStub. I'll port this to ARM
once I'm satisfied with the performance improvements.
Review URL: http://codereview.chromium.org/7014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 06:26:35 +00:00
iposva@chromium.org
89c762edf4
Simplify CodeGenerator hierarchy by not using a base class.
...
There is nothing virtual about a CodeGenerator since we
either generate code for one platform or for the other.
Review URL: http://codereview.chromium.org/6334
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 00:00:52 +00:00
bak@chromium.org
015af31d5f
- Optimized JSArray allocation in runtime system by using NewJSArrayWithElements.
...
Review URL: http://codereview.chromium.org/7013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 13:34:17 +00:00
christian.plesner.hansen@gmail.com
dc32c82ce9
Reverted the changes to jscre because the arm cross-compiler dies with
...
an internal error when compiling templateified jscre. We really need
to update that damn arm compiler.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 12:18:48 +00:00
erik.corry@gmail.com
89ac41aff9
If an allocation is so huge that we cannot code the size needed in the failure
...
object then we just return an out of memory failure object (instead of a retry
after GC failure object). Not all places that checked for retry-after-GC were
able to handle an immediate out of memory failure.
This fixes http://code.google.com/p/v8/issues/detail?id=70
Review URL: http://codereview.chromium.org/6340
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 11:26:37 +00:00
christian.plesner.hansen@gmail.com
a7230abb92
- Specialized jscre on the type of the string involved.
...
- Specialized jscre on the type of the string involved.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 10:30:33 +00:00
whesse@chromium.org
4f7b6654d4
This change rewrites some of the code to add properties to an object.
...
It removes the ReplaceConstantFunction code, and replaces it with
new ConvertDescriptorToField code, that is also used in other places.
Functions CopyRemove and CopyReplace on DescriptorArray are removed.
Function AddFastProperty is simplified by removing the
CONSTANT_TRANSITION case.
Review URL: http://codereview.chromium.org/6528
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 08:57:32 +00:00
christian.plesner.hansen@gmail.com
76b1efea2d
- Specialized slow-case string equality nine ways based on the
...
underlying string representation of the two strings involved.
- Renamed ascii and two byte string classes to sequential ascii and
sequential two byte, and renamed IsAscii and friends to
IsAsciiRepresentation. This is to make a clear distinction between
strings with an ascii/two-byte representation, of which there is
four, and flat sequential ascii/two-byte string.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 08:08:04 +00:00
kasperl@chromium.org
f6a2696483
Fix typo in comment (issue 108).
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 06:55:08 +00:00
kasperl@chromium.org
1aee7c79aa
Fix typo in include/v8.h (issue 108) and mark test-spaces/LargeObjectSpace as flaky on ARM (issue 113). TBR=ager@chromium.org
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 05:39:00 +00:00
kasperl@chromium.org
b314b46b09
Make sure to check that the function prototype is a
...
real JavaScript object before looking for it in the
prototype chain during instanceof checks.
Review URL: http://codereview.chromium.org/6579
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 14:03:53 +00:00
kasperl@chromium.org
77643dbef6
Improve the generated code for the instanceof operator,
...
and extended the instanceof test case.
Review URL: http://codereview.chromium.org/6341
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 13:33:16 +00:00
kasperl@chromium.org
614d78367f
Minor adjustments to the object migration code: When copying
...
large objects we use memcpy. If this turns out to be a wash
on the benchmarks, I'd be happy to rip it out again.
Review URL: http://codereview.chromium.org/6576
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 09:01:10 +00:00
erik.corry@gmail.com
079a607442
Fix incorrect short cut test that assumed ASCII strings could be Latin1.
...
Review URL: http://codereview.chromium.org/6542
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 08:05:14 +00:00
sgjesse@chromium.org
a834f77210
Fixed wrong filename in Visual Studio project file.
...
Review URL: http://codereview.chromium.org/6336
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 07:36:44 +00:00
kmillikin@chromium.org
5d7f354384
Moved the function GetValue from the code generator to the Reference
...
helper class.
As a consequence, also removed the optional Reference from the code
generator state and got rid of some state-dependent behavior in the
code generator.
Review URL: http://codereview.chromium.org/6538
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 07:24:06 +00:00