erik.corry@gmail.com
dbc6dd66e4
Fix some style issues.
...
Review URL: http://codereview.chromium.org/8055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 07:28:21 +00:00
erik.corry@gmail.com
631519c3df
Copy strings 1 word at a time when flattening etc.
...
Review URL: http://codereview.chromium.org/7885
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 07:20:28 +00:00
ager@chromium.org
8e0979e2ff
Introduce a lookup cache class in the runtime system and use it for
...
keyed loads that enter the runtime.
Review URL: http://codereview.chromium.org/7879
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 07:04:56 +00:00
kasperl@chromium.org
b75da76a2b
Apply Daniel's patch for array index strings.
...
Review URL: http://codereview.chromium.org/7869
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 06:20:57 +00:00
sgjesse@chromium.org
03e44f3f75
Add a workaround for a compiler gug in GCC 4.2.3. See issue 122 for details.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 15:04:40 +00:00
kmillikin@chromium.org
65821f321c
Rename member variables and functions and clarify comments to try to
...
make the operation of LabelShadows more understandable.
Review URL: http://codereview.chromium.org/7868
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 12:45:33 +00:00
christian.plesner.hansen@gmail.com
b338967098
Replaced the implementation of %StringEquals, which was a poorly
...
optimized duplicate of String::Equals, with a simple call to
String::Equals.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 12:33:20 +00:00
christian.plesner.hansen@gmail.com
85251f756c
- Changed regexp logging to include the string being matched and to
...
escape commas.
- Fixed issue with block-comparing unaligned strings on arm.
- Added short documentation to one of the Persistent constructors.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 12:00:19 +00:00
erik.corry@gmail.com
8e9bdd7b69
Fix warning from Windows about loss of data in cast-less assignment.
...
Review URL: http://codereview.chromium.org/7865
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 11:13:48 +00:00
bak@chromium.org
b26322d4c1
- Applied FixedArray::WriteBarrierMode to NewArgumentsFast.
...
Review URL: http://codereview.chromium.org/8052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 09:47:20 +00:00
kasperl@chromium.org
50d9f5e256
Incorporate patches by Paolo Giarrusso to allow profiling
...
C++ functions in shared libraries, building in directories
containing spaces, and using named constants better.
Review URL: http://codereview.chromium.org/7864
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 09:46:09 +00:00
erik.corry@gmail.com
1aae797ddd
Use direct copy and templates to speed up flattening of strings.
...
Review URL: http://codereview.chromium.org/8011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 09:09:07 +00:00
bak@chromium.org
bf948c8313
- Optimized CopyFixedArray and CopyJSObject.
...
- Refactored block copying.
Review URL: http://codereview.chromium.org/7863
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 08:21:18 +00:00
kasperl@chromium.org
034b89cc05
Refactor the smi case inlining for binary operations, so
...
it's easier to inline the code on demand. Right now, we still
only inline the smi case code for bitwise operations.
Review URL: http://codereview.chromium.org/7669
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 07:47:02 +00:00
sgjesse@chromium.org
ca37dab981
Added handling of empty handles to String::AsciiValue and String::Value.
...
Review URL: http://codereview.chromium.org/7832
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 06:30:29 +00:00
iposva@chromium.org
ba6502bd64
- ip register cannot be used when accessing large constants in the instruction
...
stream. Enhance the debug code to save and restore the unused holder_reg
at these points.
- Fix lint issues.
Review URL: http://codereview.chromium.org/8039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 22:40:14 +00:00
feng@chromium.org
202dedbdb3
No more failures than before. It is ready to be reviewed.
...
Review URL: http://codereview.chromium.org/7420
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 20:11:50 +00:00
feng@chromium.org
648f6d21c6
Fix style issues.
...
TBR=iposva
Review URL: http://codereview.chromium.org/7830
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 20:08:49 +00:00
feng@chromium.org
4bb03e97a6
Fixed the build error in debug mode.
...
TBR = iposva
Review URL: http://codereview.chromium.org/7828
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 19:52:07 +00:00
feng@chromium.org
df3aea2cc0
Initialize the variable to a valid value.
...
Review URL: http://codereview.chromium.org/7826
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 19:14:22 +00:00
feng@chromium.org
42ef2c3d77
Split window support from V8.
...
Here is a description of the background and design of split window in Chrome and V8:
https://docs.google.com/a/google.com/Doc?id=chhjkpg_47fwddxbfr
This change list splits the window object into two parts: 1) an inner window object used as the global object of contexts; 2) an outer window object exposed to JavaScript and accessible by the name 'window'. Firefox did it awhile ago, here are some discussions: https://wiki.mozilla.org/Gecko:SplitWindow . One additional benefit of splitting window in Chrome is that accessing global variables don't need security checks anymore, it can improve applications that use many global variables.
V8 support of split window:
There are a small number of changes on V8 api to support split window:
Security context is removed from V8, so does related API functions;
A global object can be detached from its context and reused by a new context;
Access checks on an object template can be turned on/off by default;
An object can turn on its access checks later;
V8 has a new object type, ApiGlobalObject, which is the outer window object type. The existing JSGlobalObject becomes the inner window object type. Security checks are moved from JSGlobalObject to ApiGlobalObject. ApiGlobalObject is the one exposed to JavaScript, it is accessible through Context::Global(). ApiGlobalObject's prototype is set to JSGlobalObject so that property lookups are forwarded to JSGlobalObject. ApiGlobalObject forwards all other property access requests to JSGlobalObject, such as SetProperty, DeleteProperty, etc.
Security token is moved to a global context, and ApiGlobalObject has a reference to its global context. JSGlobalObject has a reference to its global context as well. When accessing properties on a global object in JavaScript, the domain security check is performed by comparing the security token of the lexical context (Top::global_context()) to the token of global object's context. The check is only needed when the receiver is a window object, such as 'window.document'. Accessing global variables, such as 'var foo = 3; foo' does not need checks because the receiver is the inner window object.
When an outer window is detached from its global context (when a frame navigates away from a page), it is completely detached from the inner window. A new context is created for the new page, and the outer global object is reused. At this point, the access check on the DOMWindow wrapper of the old context is turned on. The code in old context is still able to access DOMWindow properties, but it has to go through domain security checks.
It is debatable on how to implement the outer window object. Currently each property access function has to check if the receiver is ApiGlobalObject type. This approach might be error-prone that one may forget to check the receiver when adding new functions. It is unlikely a performance issue because accessing global variables are more common than 'window.foo' style coding.
I am still working on the ARM port, and I'd like to hear comments and suggestions on the best way to support it in V8.
Review URL: http://codereview.chromium.org/7366
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 19:07:58 +00:00
feng@chromium.org
00c0784acc
Make one-ascii-character-string a symbol in its cache.
...
Review URL: http://codereview.chromium.org/7521
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 16:28:44 +00:00
sgjesse@chromium.org
711ada81d1
Minor fixes
...
- support changes to js2c in Visual Studio build
- handle empty handles in Utf8Value
- add /nologo to sample link in SCons build
TBR=plesner
Review URL: http://codereview.chromium.org/7816
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 15:24:58 +00:00
kasperl@chromium.org
ed08619bec
Minor cleanups.
...
Review URL: http://codereview.chromium.org/8008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 14:11:22 +00:00
christian.plesner.hansen@gmail.com
1e52e36a8c
Added development shell (d8) including readline support, counters and
...
completion.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 09:12:27 +00:00
bak@chromium.org
000825645c
- Cleaned up Heap::CopyObject. Inlined fast case.
...
Review URL: http://codereview.chromium.org/8004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 08:48:11 +00:00
erik.corry@gmail.com
99f5ae88a3
Fix bug 1439135 (slicedstring on constring not flat)
...
Review URL: http://codereview.chromium.org/7809
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 08:08:17 +00:00
christian.plesner.hansen@gmail.com
2b7c9edbb1
Added string equality by reading int-sized blocks of characters for
...
flat strings with the same representation.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-20 11:38:32 +00:00
bak@chromium.org
d73595a2a4
-Fixed non debug build with an ifdef.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-20 07:37:51 +00:00
bak@chromium.org
63670beae0
- Changed gc-greedy to ignore boostrapping.
...
This change reduces the running time of tests without snapshotting.
Review URL: http://codereview.chromium.org/7663
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-20 07:31:33 +00:00
bak@chromium.org
9276b48a5b
- Optimized copying of FixedArray.
...
Review URL: http://codereview.chromium.org/7516
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-20 06:35:28 +00:00
bak@chromium.org
5bf3e4f527
- Eliminated superfluous type tests in IsMatch.
...
Review URL: http://codereview.chromium.org/7622
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 12:36:23 +00:00
bak@chromium.org
33b050dd85
- Missing files
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 11:36:42 +00:00
ager@chromium.org
fc6ff0fa20
Allow larger semispaces.
...
Review URL: http://codereview.chromium.org/7476
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 11:33:13 +00:00
bak@chromium.org
617bdc34a4
- Specialized IsClassOf for Number, Boolean, Arguments, and Function.
...
Review URL: http://codereview.chromium.org/7475
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 11:33:04 +00:00
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
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
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
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
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
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
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
kasperl@chromium.org
d0b27552dc
Fix broken build.
...
Review URL: http://codereview.chromium.org/6305
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 14:00:28 +00:00
bak@chromium.org
f9ec0d2589
- Changed the stack size in PreallocatedMemoryThread from 16K to 32K
...
to make flexo happy.
Review URL: http://codereview.chromium.org/6537
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 13:26:24 +00:00
lrn@chromium.org
5aac3a5b9c
KMP algorithm is still left in the source. If this change checks out to be faster, it should be removed.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 13:25:49 +00:00
christian.plesner.hansen@gmail.com
097d35065a
Rolled back eager hash calculation during flattening. Introduced
...
eager flattening of really short strings and lookup of one-character
strings in the one-character symbol cache.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 13:04:56 +00:00
bak@chromium.org
6a76d3c448
-Fixed regression in S15.5.5.1_A5.js.
...
I eliminated the fast case check in ToPrimitive.
Review URL: http://codereview.chromium.org/6534
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 12:06:48 +00:00
kmillikin@chromium.org
6afa5c64b7
Move code generation for storing to a reference out of the AST nodes, and
...
onto the platform-specific Reference class defined in codegen-*.cc. This
removes all of the static code generator functions.
Review URL: http://codereview.chromium.org/6527
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 11:19:44 +00:00
bak@chromium.org
5058924d85
- Added %IsArrayClass, %IsDateClass, and %IsStringClass.
...
- Added the FLOOR macro that only works on Number objects.
- Added LocalTimeNoCheck in the date code to eliminate some isNaN checks.
- Change computation of four_year_cycle_table to load time.
- Added fast case check to EQUALS and STRICT_EQUALS.
Review URL: http://codereview.chromium.org/6531
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 10:54:50 +00:00
bak@chromium.org
734328bdd9
- Fixed the parameter pasing to SharedStoreIC_ExtendStorage
...
for keyed store ic.
Review URL: http://codereview.chromium.org/6303
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 10:32:39 +00:00
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
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
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
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
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
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
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
olehougaard
e61b803414
Various minor improvements of sort.
...
Review URL: http://codereview.chromium.org/6035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 08:15:20 +00:00
iposva@chromium.org
fdb34fb4f0
Follow up to change 402:
...
- Remove unused symbol finally_state_symbol.
Review URL: http://codereview.chromium.org/5640
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-01 20:21:34 +00:00
kasperl@chromium.org
68103cee8e
Get rid of the local variable we use to keep the state
...
during the execution of a finally block by just pushing
the state on the execution stack instead.
Review URL: http://codereview.chromium.org/5626
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-01 10:57:37 +00:00
kasperl@chromium.org
016fcd4aff
Fix issue 86 by keeping track of the fact that finally blocks
...
are evaluated with an extra element on the stack, which needs
to be taken into account when breaking and continuing.
I'll clean up the code and add an abstraction for manipulating
the break stack height in a future CL -- I want to try to get
rid of the separate local variable we keep around for the "state"
when running in a finally block.
Review URL: http://codereview.chromium.org/5625
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-01 07:43:00 +00:00
deanm@chromium.org
891ae83e18
Remove some craaaazy trailing whitespace.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-30 11:41:58 +00:00
olehougaard
b4a40eb22f
Faster sort.
...
Using insertion sort below a certain threshold to give faster sorting of arrays (esp. short ones).
Review URL: http://codereview.chromium.org/6006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-30 09:58:22 +00:00
deanm@chromium.org
61f3a82506
Remove the ARM jump elimination. This completely removes jump elimination.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-30 09:42:08 +00:00
deanm@chromium.org
0ddacf3966
Remove x86 jump elimination. This was just complicated enough to make it annoying to support short jump encoding. I measured a code size increase of 5 bytes on the V8 benchmark, from missing one jump to next elimination possibility.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-29 07:33:58 +00:00
deanm@chromium.org
c522c96691
Clean up some naming to be consistent between runtime and JS code.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-28 13:21:41 +00:00
deanm@chromium.org
946c2e5027
Remove two cases of needlessly jumping to the next instruction. The jump eliminator will remove these cases, but it's easy enough to just do statically in the code, and not require the eliminator to do it at runtime.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-28 12:21:12 +00:00
deanm@chromium.org
5aa049e98d
Remove ComparisonDeferred and inline the non-smi case. ARM is doing it's own thing here. This should cut down on code size, and open up two possiblities for short jump encoding.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-28 09:38:09 +00:00
erik.corry@gmail.com
062ef05ba6
Fix failing test caused by extra precision in register allocated fp values.
...
Review URL: http://codereview.chromium.org/5019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 23:14:43 +00:00
erik.corry@gmail.com
aabe3ed736
Use -O9, tune for nocoma, assume at least a Pentium when generating code.
...
Review URL: http://codereview.chromium.org/4298
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 15:53:42 +00:00
erik.corry@gmail.com
0995097997
Fix stack check wraparound problem for ARM simulator.
...
Review URL: http://codereview.chromium.org/2926
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 12:11:35 +00:00
sgjesse@chromium.org
1a4da9714a
Stack checks in generated code for function apply is now controlled
...
by the check-stack flag. Changed the condition code from greater to
above_equal as the SP should be unsigned (this matches the stack
check in function entry).
Review URL: http://codereview.chromium.org/4296
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 10:27:39 +00:00
olehougaard
0b02000de4
Adding comment to the fix of issue 95.
...
Review URL: http://codereview.chromium.org/5003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 10:25:14 +00:00
olehougaard
acffb377a8
Fix for issue 95.
...
Fixed QuickSort so it doesn't overflow the stack with non-reflexsive comparison functions.
Review URL: http://codereview.chromium.org/4297
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 09:15:02 +00:00
olehougaard
83da47e0d8
Tuning quick sort.
...
Tuning the quick sort algorithm to avoid degenerating to an n^2 algorithm when all elements are the same.
Review URL: http://codereview.chromium.org/4083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 13:21:56 +00:00
olehougaard
69156911be
Using quick sort for arrays.
...
Using quick sort in ArraySort instead of heap sort for better performance.
Review URL: http://codereview.chromium.org/4065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 11:28:02 +00:00
ager@chromium.org
7f6e4473ca
Update version string and ChangeLog. We are now working on version
...
0.3.4.
Review URL: http://codereview.chromium.org/4272
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 08:45:38 +00:00
bak@chromium.org
e05eba857e
- Added a map cache for literal objects. This will
...
canonicalize maps for object literals. JSON objects
with the same set of properties names will then
share the same map.
This reduces the amount of generated code associated
with object literals.
- Added a flag canonicalize_object_literal_maps.
(default true)
- Changed the format of a function's literal array.
Only the global context is now stored in the literal prefix.
Review URL: http://codereview.chromium.org/4078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 07:46:07 +00:00
ager@chromium.org
ff4e9ea134
Make sure that the body of the function created by calling Function is
...
on a line of its own. This allows the body to be terminated by a
single-line comment.
Also, make sure to set the name of the function to anonymous after the
fact so that recursion through the name anonymous is not allowed and
so that global variables called anonymous are not shadowed.
This is a fix for http://code.google.com/p/v8/issues/detail?id=85
Review URL: http://codereview.chromium.org/4248
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 07:35:45 +00:00
deanm@chromium.org
222c7cd957
Don't defer the stack check failure code. It is a CallStub, which will be a single 5 byte call instruction. This should cause equivalent code size now, but opens up the opportunity to make one of the most common jcc's to use short encoding in the future.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-24 16:34:00 +00:00
feng@chromium.org
e048ec8c44
This is a fix of issue http://b/issue?id=1381845 .
...
Check domain security on prototypes in for-in loop.
Review URL: http://codereview.chromium.org/4236
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-24 15:47:34 +00:00
sgjesse@chromium.org
b0a79ce164
Added some peephole optimizaitions regarding push of immediate followed
...
by pop eax.
Review URL: http://codereview.chromium.org/4212
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 13:31:14 +00:00
christian.plesner.hansen@gmail.com
16bfefe012
Fixed lint error.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 12:23:20 +00:00
kasperl@chromium.org
e4a82f2440
Move more functionality from CEntryStub to the helper
...
functions in the macro assembler.
Review URL: http://codereview.chromium.org/4402
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 12:21:54 +00:00
christian.plesner.hansen@gmail.com
6d47b29765
- Added new object type, RegExp, for regular expressions.
...
- Renamed some ::kSizes to ::kHeaderSizes to avoid confusion.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 11:45:43 +00:00
kasperl@chromium.org
88c9fa5d42
Allow platforms (linux and win32) to not force 16-byte alignment
...
of activation frames (needed on Mac OS X).
Review URL: http://codereview.chromium.org/4211
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 10:06:58 +00:00
erik.corry@gmail.com
a9e4a68ef2
Parse /proc/self/maps lines better to handle variations between Linux kernels.
...
It seems noone has had time to file a bug on this.
Review URL: http://codereview.chromium.org/4210
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 08:56:12 +00:00
kasperl@chromium.org
9d30045d06
Refactored the code for entering and leaving exit frames (calls
...
from JavaScript to C++). Includes a few slight optimizations
like keeping argv in a callee-saved register.
Review URL: http://codereview.chromium.org/4035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 08:19:26 +00:00
kasperl@chromium.org
ee7e7be35f
Change the logging information for generated stubs to be
...
consistent with the other log events for generated code.
Review URL: http://codereview.chromium.org/4033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 07:33:08 +00:00
iposva@chromium.org
c2ffa52f09
Remove debugging code that snuck in with the ARM calling convention changes.
...
Thanks to Erik Corry for spotting this.
Review URL: http://codereview.chromium.org/4015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-22 16:00:56 +00:00
sgjesse@chromium.org
8391b19b07
Refactor the enum RelocMode changing the naming scheme from lower case to
...
upper case. Moved it into the RelocInfo class together with the associated
is_xxx functions. Renamed is_xxx to IsXxx in the process.
Removed the exit_js_frame mode as it was no longer used.
Patch Set 2 renames RELOC_MODE_COUNT to NUMBER_OF_MODES and fixes a couple of lint errors.
Review URL: http://codereview.chromium.org/3186
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-22 13:57:03 +00:00
deanm@chromium.org
924f7b8491
In release, disable UNREACHABLE and make UNIMPLEMENTED and FATAL simpler, removing the file name and line numbers, so we carry around less data and can share more code.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-22 09:22:18 +00:00
sgjesse@chromium.org
354deb6fa1
Made the ARM port with simulator build and run on Windows.
...
The reason for the "ugly" definition of SScanF is that the Windows CRT does not have a vsscanf function making it difficult to add OS::SSprintF to platform.h.
Review URL: http://codereview.chromium.org/2988
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-19 12:35:15 +00:00
deanm@chromium.org
dc91b5f368
Avoid the KMP overhead for simple indexOf() operations. Will look into evaluating the best cutoff between a simple search and KMP in the future. This improves some simple operations ~1.5x.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-19 12:30:14 +00:00
deanm@chromium.org
6f5368146b
Don't try an indexOf() when the search string is bigger than the string. The current code will spend a bunch of time trying to match, even though we should know a match is impossible.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-19 11:31:02 +00:00
deanm@chromium.org
ab377a3f42
TryFlatten is inlined, while Flatten is not. Make an optimization to avoid the call to Flatten when we're already flat. This gives me 5% on some simple indexOf experiments.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-19 11:06:35 +00:00
kasperl@chromium.org
914611056a
Fix lint issues.
...
Review URL: http://codereview.chromium.org/3144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 13:42:39 +00:00
lrn@chromium.org
2816e8a899
Added fast-case for switch statement where all lables are constant Smi's in a limited range (IA32 only so far).
...
Implemented using a jump-table, for constant time lookup.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 11:59:55 +00:00
ager@chromium.org
57e2aa1b26
Use null instead of undefined for deleted elements in code caches.
...
Update the lookup and update code for code caches to deal with deleted
elements.
Do not clear the code cache for the builtins object. If there was a
matching element in the code cache, we would have hit the monomorphic
prototype failure case and removed it.
Review URL: http://codereview.chromium.org/3140
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 11:18:27 +00:00
kasperl@chromium.org
cb4ea56368
Fix ARM build by adding a dummy last_statement_position() accessor
...
to the assembler.
Review URL: http://codereview.chromium.org/2961
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 10:40:25 +00:00
ager@chromium.org
6a3d1868e4
Revert revision 331. The propagation of monomorphic prototype failure
...
information does not work. In certains situations, it will keep
alternating between unrelated monomorphic states instead of going
megamorphic.
Review URL: http://codereview.chromium.org/2959
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 10:22:46 +00:00
sgjesse@chromium.org
d6ae7d4d04
Revert changes to src\assembler-arm.h which slipped into a previous checkin breaking the ARM build.
...
Review URL: http://codereview.chromium.org/2958
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 10:15:17 +00:00
sgjesse@chromium.org
b568d7a17b
Defer the writing of the source position data to the relocation information
...
until a possible debug break location is reached. Currently this is call sites
with calls to code objects and JS return. Source position information in the
code therefore no longer refers to the "first" instruction generated for a
given source position (which was not the case defered code anyway) but to the
first break location after that source position was passed (again defered code
always start with source position information). This doesn't make a difference
for the debugger as it will always be stopped only at debug break locations.
However, this makes the life of the peep-hole optimizer much easier as many
oportunities for posh/pop eliminations where previosly blocked by relocation
information already written to the code object.
Two types of source positions are still collected. Statement positions indicate
the position of the start of the statement leading to this code and (plain)
positions indicate other places typically call sites to help indicate current
position in backtraces. The two different types of positions are also used to
distinguish between step next and step in.
Runs all the tests (including debugger tests) as before.
Moved the checking for the FLAG_debug_info to one place.
I will do the same changes to the ARM codegenerator in a seperate changelist.
Review URL: http://codereview.chromium.org/2957
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 08:51:43 +00:00
whessev8
0d05c71db4
Flush the runtime %DebugPrint output. Should have no performance impact,
...
since %DebugPrint is not often used. Needed for some performance testing
statistics outputting.
Fix the declaration of descriptor enumerated constants to be more readable.
Review URL: http://codereview.chromium.org/3100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 07:31:37 +00:00
ager@chromium.org
950ad34a94
Propagate the information that a monomorphic prototype failure has
...
occured. After a monomorphic prototype failure has been detected,
other monomorphic inline caches for the same type will have a code
object in the map's code cache which is not the current target. We
recognize this case and use the code object that is in the cache
instead of going megamorphic.
Review URL: http://codereview.chromium.org/2928
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 06:55:14 +00:00
kasperl@chromium.org
08e6b7c31f
Update version string and ChangeLog; we're now working on
...
version 0.3.3.
Review URL: http://codereview.chromium.org/3101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-17 13:56:12 +00:00
sgjesse@chromium.org
390b5cb185
Changed the disassembler formatting
...
Changed the formatting of the comment in the disassembler output to contain
more information on code targets.
Review URL: http://codereview.chromium.org/3099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-17 12:38:50 +00:00
erik.corry@gmail.com
cd50f9f865
Move the initial code space to be before the young space instead of after it.
...
The old arrangement meant that the alignment requirements of young space were
likely to nullify ASLR.
Review URL: http://codereview.chromium.org/2925
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-17 10:59:19 +00:00
sgjesse@chromium.org
abeb614287
Added missing static to returned buffer.
...
Review URL: http://codereview.chromium.org/3096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-17 09:05:36 +00:00
iposva@chromium.org
45847bd125
- Rename flags.defs to flag-definitions.h.
...
- Add better support for ignoring files in the presubmit tool.
Review URL: http://codereview.chromium.org/3082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-17 08:47:50 +00:00
ager@chromium.org
a0257ca1a0
Only remove the code object that caused the monomorphic prototype
...
failure instead of clearing the cache. Clearing the cache makes us
miss subsequent monomorphic prototype failures.
Review URL: http://codereview.chromium.org/2889
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-16 12:41:36 +00:00
kasperl@chromium.org
6b4f5aba96
Fix issue 67 by copying the receiver function one slot
...
down too. Also fix lint issue in codegen-arm.cc.
Reviewed offline by Ivan (iposva@chromium.org ).
Review URL: http://codereview.chromium.org/3080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-16 11:40:21 +00:00
iposva@chromium.org
88192fc01c
Fix http://code.google.com/p/v8/issues/detail?id=69 :
...
- Simplify the switch statement code generation.
- Ensure that the switch value is always popped from the stack.
Credit goes to Feng for isolating the issue and proposing a fix.
Review URL: http://codereview.chromium.org/2888
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-16 11:23:02 +00:00
kasperl@chromium.org
725dcfb503
Remove the old builtins framework with the huge, nasty
...
macro.
Review URL: http://codereview.chromium.org/3079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-16 10:12:32 +00:00
ager@chromium.org
ec5a24dd64
Keep the inline caches for the builtins object monomorphic when
...
libraries are loaded lazily.
Review URL: http://codereview.chromium.org/2885
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-16 09:21:22 +00:00
kasperl@chromium.org
3f67d5b90f
Stop adapting the arguments passed to the builtin implementations
...
of Array.prototype.push and Array.prototype.pop. Avoid going
through the arguments adaptor trampoline for call ICs that end
up calling a builtin that does not need arguments adaption.
Review URL: http://codereview.chromium.org/2884
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-16 07:24:46 +00:00
kasperl@chromium.org
64923a6a83
Generalize the Function.prototype.call hooks in the
...
arguments adaptor code to allow builtins to work without
argument adaptor frames. Get rid of unused JavaScript
implementation of call and apply and the associated
code generation hooks.
Review URL: http://codereview.chromium.org/2850
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-15 15:02:38 +00:00
ager@chromium.org
cf1a6a0bbc
Simplify logic in string-to-double conversion code.
...
Fast case for strings that are definitely not numbers.
Review URL: http://codereview.chromium.org/2847
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-15 12:17:36 +00:00
sgjesse@chromium.org
1132d818c6
Fixed broken build of mksnapshot on Windows as there was warnings against
...
the use of fopen. Change use of fopen to OS::FOpen to get rid of warning.
Review URL: http://codereview.chromium.org/2846
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-15 10:57:53 +00:00
deanm@chromium.org
57d29fa44f
Remove EOL trailing whitespace.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-15 09:24:59 +00:00
deanm@chromium.org
1a0ccbd927
Move the Counters to structures that can be POD initialized, avoiding the need for static constructors on program startup. They were only default initializing and doing some unneeded string operations.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-15 08:59:31 +00:00
iposva@chromium.org
27e8ffe324
- Add support for building the ARM simulator version of V8 to the Xcode project.
...
- Added new compilation-cache.[cc|h] files.
- Fixed log.cc to be able to build without ENABLE_LOGGING_AND_PROFILING defined.
The next step is to mirror the xcconfigs in a separate change.
Review URL: http://codereview.chromium.org/1948
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 17:25:38 +00:00
deanm@chromium.org
b602106195
The serialization system handles some flag parsing itself, which is a bad idea. For now, update the internal strings, since they will be underbar versions in the new flag system.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 12:17:33 +00:00
deanm@chromium.org
c178664049
Fix some arm related flags with the new flag system.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 11:00:36 +00:00
deanm@chromium.org
f119eb772e
Move a few bits of mksnapshot over to the new flag system.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 10:31:37 +00:00
deanm@chromium.org
77196c5771
This is a new static flag system, designed to have all flags in a central place, and compiled into the binary without requiring static constructors for registration. All flags are moved out of the specific modules and into flags.defs, with different sections for debug, release, etc. The flag variables are always defined. For example, a debug flag in release mode still exists, but is read only and set to the default value.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 10:19:33 +00:00
kmillikin@chromium.org
b5d8866ced
Flexo is tired, but this should perk him up. Single-argument constructors
...
should be marked explicit.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 08:52:22 +00:00
kmillikin@chromium.org
0c4fd55c57
Change the code generator state constructor to implicitly push the state on
...
stack, rather than explicitly saving and restoring it.
Review URL: http://codereview.chromium.org/3002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 08:24:57 +00:00
iposva@chromium.org
0c936baaab
Satisfy lint!
...
TBR=nobody
Review URL: http://codereview.chromium.org/3001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 04:59:41 +00:00
iposva@chromium.org
ffa7f7bd5b
- Update test status file with fixed tests for ARM and add failing test tracked by issue 67.
...
- Remove debugging aid stop("Generate_ArgumentsAdaptorTrampoline - non-function call")
- Cleanup comment
Review URL: http://codereview.chromium.org/2801
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 04:31:34 +00:00
iposva@chromium.org
c5ee961882
Adapt to new calling convention on ARM:
...
- Simplified frame entry and frame exit code.
- Added ArgumentsAdaptorTrampoline and check for matching argument counts in the InvokePrologue.
- Removed definition and uses of USE_OLD_CALLING_CONVENTIONS.
- Changed MacroAssembler::InvokeBuiltin to match ia32 version.
- Start introducing convenience instructions in the ARM assembler as needed. These instructions take all Register parameters to avoid extra typing of "Operand(reg)".
To keep the architectures in sync these changes have been made to the ia32 files:
- Changed MacroAssembler::EnterFrame(StackFrame::Type type) to MacroAssembler::EnterInternalFrame().
These parts are still missing:
- unimplemented: Builtins::Generate_FunctionApply - large limit
- unimplemented: Builtins::Generate_ArgumentsAdaptorTrampoline - non-function call
- The files have not been lint'd yet.
Review URL: http://codereview.chromium.org/1930
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 03:29:06 +00:00
christian.plesner.hansen@gmail.com
66b18b9975
Fixed arm disassembler build problems.
...
Fixed lint issue in platform-macos.
Review URL: http://codereview.chromium.org/1941
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 16:41:19 +00:00
kmillikin@chromium.org
4afbecf50e
Fix performace regression due to missed peephole optimization
...
opportunity.
Review URL: http://codereview.chromium.org/2002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 15:16:08 +00:00
christian.plesner.hansen@gmail.com
3764f52a4e
Fixed build problem on mac, lint issues and a test failure on win32.
...
Review URL: http://codereview.chromium.org/2601
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 15:03:22 +00:00
christian.plesner.hansen@gmail.com
32cf7fd9a1
Replaced calls to functions that msvc consider deprecated. Used
...
Vector<...> in more places to be sure that buffers have a length
associated with them.
Review URL: http://codereview.chromium.org/1940
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 14:34:48 +00:00
kasperl@chromium.org
1daa61fe2d
Fix issue 65 by making sure not to leak any of the cache
...
tables when doing compilation cache operations.
Review URL: http://codereview.chromium.org/1939
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 13:39:48 +00:00
ager@chromium.org
888abb1bfd
Fix bug in function context slot lookup. There were two problems: we
...
read at the wrong index in the scope information and we forgot to add
Context::MIN_CONTEXT_SLOTS to the index.
This fixes issue 24.
Review URL: http://codereview.chromium.org/1938
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 13:00:30 +00:00
lrn@chromium.org
9d3557ef99
Formatting fixes (e.g., whitespace at end of line)
...
Added in-file documentation for --log-regexp switch.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 12:57:27 +00:00
lrn@chromium.org
7c638ec3e6
Fixed build error on Linux.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 11:59:00 +00:00
lrn@chromium.org
c5d98b775d
Added -log-regexp option to log all compilations and executions of regular expressions.
...
Slightly modified SmartPointer.
Made String.ToWideCString return a SmartPointer instead of a plain pointer.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 11:24:45 +00:00
kasperl@chromium.org
b5a72a1645
Generalized the EvalCache into a CompilationCache and enabled
...
it for scripts too. In the context of Chromium, this should
have a very positive impact on memory consumption for web apps
that run multiple tabs from the same domain with a lot of the
same JavaScript code.
For now, the cache retirement policy is really simple:
Whenever a mark-sweep collection is started we clear the
cache. This guarantees that this change will not have a
huge negative impact on memory consumption, but it may
not be ideal. We should consider a more sophisticated LRU
scheme.
Review URL: http://codereview.chromium.org/1933
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 10:51:52 +00:00
christian.plesner.hansen@gmail.com
6063e76cec
Quick lint fix
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 10:37:57 +00:00
kmillikin@chromium.org
c2022ec76e
Remove some of the state-dependent behavior from the code generator.
...
Simplify the code generator by eliminating the access types STORE and
INIT_CONST and delegating code generation for stores to the appropriate AST
nodes.
Review URL: http://codereview.chromium.org/1889
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 08:44:32 +00:00
ager@chromium.org
4ae7f24a3f
Update version string and ChangeLog, we are now working on version
...
0.3.2.
Review URL: http://codereview.chromium.org/2417
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 08:42:29 +00:00
christian.plesner.hansen@gmail.com
6bb7f43fa3
Removed Message::GetStackTrace.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 07:29:25 +00:00
christian.plesner.hansen@gmail.com
4d95ac7339
Added option for TryCatches to not capture the message object on
...
exceptions.
It turned out that the stack overflow fix from before had disabled
message storing in another test. Previously, stack overflows would
actually cause a message object to start being created but cause
another exception which would not be reported and that's what stopped
the infinite regress. This change resores that behavior.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 14:54:15 +00:00
christian.plesner.hansen@gmail.com
dfe2720903
Fixed stack overflow crash.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 14:03:45 +00:00
christian.plesner.hansen@gmail.com
6974e4b2c7
Fixed bug #57 . Introduced String::Utf8Value and replaced a bunch of
...
uses of String::AsciiValue with String::Utf8Value. Fixed shell sample
'load' so it doesn't print error messages.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 11:41:48 +00:00
ager@chromium.org
255b63ef50
Do not shortcut cons string symbols during garbage collection.
...
Attempt to flatten cons strings when converting them to symbols so
that symbols will most often be flat strings.
Review URL: http://codereview.chromium.org/1700
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 11:35:05 +00:00
whessev8
195a57b59b
This change makes the runtime function %DebugPrint()
...
print the content of strings in release build, rather
than just a pointer. This lets test_shell print to stdout.
Review URL: http://codereview.chromium.org/1697
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 10:32:33 +00:00
ager@chromium.org
1aa48bb98f
Avoid the creation of a string builder for joining one-element arrays.
...
Review URL: http://codereview.chromium.org/1888
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 09:37:34 +00:00
iposva@chromium.org
0157bcd8f8
Fix issue http://code.google.com/p/v8/issues/detail?id=58 :
...
- Prevent a clipping of values when converting a double to an unsigned int
for use as the random generator's seed value.
Review URL: http://codereview.chromium.org/1887
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 06:59:41 +00:00
christian.plesner.hansen@gmail.com
9bed566bdb
Changed copyright header from google inc. to v8 project authors.
...
Added presubmit step to check copyright.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 20:08:45 +00:00
christian.plesner.hansen@gmail.com
de607bd33e
Added source info to TryCatches. Reorganized exception messaging
...
somewhat and folded stack traces into message. Use of this in the
shell will follow in a separate changelist.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 18:55:41 +00:00
ager@chromium.org
fff120dbaa
Use RUNTIME_ASSERT instead of CHECK in runtime.cc.
...
Remove unused function from array.js.
Review URL: http://codereview.chromium.org/1659
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 08:40:25 +00:00
ager@chromium.org
4316e6c2d3
Fix the debug build.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 08:06:27 +00:00
christian.plesner.hansen@gmail.com
cdae1c1af5
Fixed issue 54, under some circumstances internal field count set on
...
object templates did not take effect.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 07:57:43 +00:00
ager@chromium.org
b3401cecc3
Move the contains check in array join from javascript to C++.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 07:38:00 +00:00
feng@chromium.org
5d0d354e09
Fix issue http://code.google.com/p/v8/issues/detail?id=32
...
Allows numberical strings as array index and make a call. e.g.,
callbacks['0']();
Added more test case for regexp (disabled by default, requires --call_regexp)
and call_as_function object created by API.
Review URL: http://codereview.chromium.org/1604
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 16:47:23 +00:00
christian.plesner.hansen@gmail.com
3351499cb5
Fixed problem where asian characters were not categorized as letters
...
because they were defined using different syntax in the unicode
database.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 10:45:01 +00:00
kasperl@chromium.org
c60fef3013
Fix issues with running some of our tests with an embedded
...
snapshot. Changed the debug-script.js test to ignore the
exact number of extension scripts.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 09:26:02 +00:00
kasperl@chromium.org
2f0c910731
Fix issue 35 by applying patch by Daniel James.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 07:58:54 +00:00
kasperl@chromium.org
cd3bf78bca
Fix broken build. Sorry about that.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 07:24:10 +00:00
kasperl@chromium.org
6b7e71a22f
Fix issues 28 and 30 by changed the header guard to V8_H_ and
...
including HandleScope::ZapRange in release mode.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 07:01:12 +00:00
ager@chromium.org
e0b50dde0e
Avoid string conversion when comparing Smis during sorting.
...
Avoid runtime calls for trivial object equality checks.
Minor style cleanups.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 06:17:38 +00:00
feng@chromium.org
a2c12046ca
fix lint errors
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 16:58:18 +00:00
feng@chromium.org
ecbfddf052
Honor the declaration order of getter/setter in object literals
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 16:47:42 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
sgjesse@gmail.com
6d4d692ec7
Removed the implicit call to DebugBreak when receiving debugger commands
...
while V8 is running.
A debugger using the V8 message based interface now needs to control the
call to DebugBreak in order for the messages send to be processed. Commands can
still be send when V8 is not in a break, but they will not be processed until
there is a break. The response "request queued" when queuing up messages have
been removed. This gets rid of a non JSON message being used.
Modified the threaded debugger tests to call DebugBreak instead of relying
on it occouring automatically.
This change will not be committed until the outstanding Chrome change
http://chrome-reviews.prom.corp.google.com/2072 (which updates Chrome to control
the DebugBreak call) have been reviewed and committed.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@47 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-29 12:04:25 +00:00
mads.s.ager@gmail.com
9ef7673d82
Clean up a couple of runtime functions that mixed handles and raw
...
pointers.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@36 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-29 08:48:06 +00:00
whessev8
0a7584af2c
Always check the prototype chain for a setter, when setting a property
...
that does not exist locally. Previously, map transitions broke this
check.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@25 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-28 10:23:27 +00:00
mads.s.ager@gmail.com
dceb5f6a8f
Improved test support.
...
Fixed issue with building samples and cctests on 64-bit machines.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@23 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-28 09:55:41 +00:00
christian.plesner.hansen
968facb9ff
- Fixed issue when building samples and cctests on 64-bit machines.
...
- Fixed mozilla test breakage caused by python's obscure module
loading rules.
- Made sure test.py propagates test failures out as the exit code of
the script.
- Remove runtime calls to get number constants. Remove Heap roots for
some special numbers.
- Fix typo in accessors.h.
- Changes CopyMap to not copy descriptors. Adds
CopyMapRemoveTransitions that copies non-transition descriptors.
Changes interface of DescriptorArray::Copy operations to simplify
them.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-27 13:47:52 +00:00
christian.plesner.hansen
05bbf90b3a
Changed shell sample to take flags directly from the command-line. Added api call that implements this.
...
Added better test support.
Added load, quit and version functions to the shell sample so it's easier to run benchmarks and tests.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-27 10:11:39 +00:00
christian.plesner.hansen
c42f5829a1
Included mjsunit JavaScript test suite and C++ unit tests.
...
In the shell sample don't print the result of executing a script, only
evaluating expressions.
Fixed issue when building samples on Windows using a shared V8
library. Added visibility option on Linux build which makes the
generated library 18% smaller.
Changed build system to accept multiple build modes in one build and
generate seperate objects, libraries and executables for each mode.
Removed deferred negation optimization (a * -b => -(a * b)) since this
visibly changes operand conversion order.
Improved parsing performance by introducing stack guard in preparsing.
Without a stack guard preparsing always bails out with stack overflow.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-22 13:33:59 +00:00
mads.s.ager
cbaa060d28
Improved performance of garbage collection by moving the function that updates pointers during compacting collection into the updating visitor. This gives the compiler a better chance to inline and avoid a function call per (potential) pointer.
...
Extended the shell sample with a --runtime-flags option.
Added Visual Studio project files for the shell.cc and process.cc samples.
git-svn-id: http://v8.googlecode.com/svn/trunk@14 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-14 13:41:48 +00:00
mads.s.ager
31e7138e1a
Improved performance of garbage collection by changing the way we use the marking stack in the event of stack overflow during full garbage collection and by changing the way we mark roots.
...
Cleaned up ARM version by removing top of stack caching and by introducing push/pop elimination.
Cleaned up the way runtime functions are called to allow runtime calls with no arguments.
Changed Windows build options to make sure that exceptions are disabled and that optimization flags are enabled.
Added first version of Visual Studio project files.
git-svn-id: http://v8.googlecode.com/svn/trunk@13 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-13 09:32:07 +00:00
mads.s.ager@gmail.com
769cc962a0
Improved performance of unary addition by avoiding runtime calls.
...
Fixed the handling of '>' and '<=' to use right-to-left conversion and left-to-right evaluation as specified by ECMA-262.
Fixed a branch elimination bug on the ARM platform where incorrect code was generated because of overly aggressive branch elimination.
Improved performance of code that repeatedly assigns the same function to the same property of different objects with the same map.
Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler no longer expects DEBUG to be defined.
Added platform-nullos.cc to serve as the basis for new platform implementations.
git-svn-id: http://v8.googlecode.com/svn/trunk@9 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-06 10:02:49 +00:00
kasper.lund
7276f14ca7
Changed all text files to have native svn:eol-style.
...
Added a few samples and support for building them. The samples include a simple shell that can be used to benchmark and test V8.
Changed V8::GetVersion to return the version as a string.
Added source for lazily loaded scripts to snapshots and made serialization non-destructive.
Improved ARM support by fixing the write barrier code to use aligned loads and stores and by removing premature locals optimization that relied on broken support for callee-saved registers (removed).
Refactored the code for marking live objects during garbage collection and the code for allocating objects in paged spaces. Introduced an abstraction for the map word of a heap-allocated object and changed the memory allocator to allocate executable memory only for spaces that may contain code objects.
Moved StringBuilder to utils.h and ScopedLock to platform.h, where they can be used by debugging and logging modules. Added thread-safe message queues for dealing with debugger events.
Fixed the source code reported by toString for certain builtin empty functions and made sure that the prototype property of a function is enumerable.
Improved performance of converting values to condition flags in generated code.
Merged disassembler-{arch} files.
git-svn-id: http://v8.googlecode.com/svn/trunk@8 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-07-30 08:49:36 +00:00
kasper.lund
af4734f10f
Added support for storing JavaScript stack traces in a stack allocated buffer to make it visible in shallow core dumps. Controlled by the --preallocate-message-memory flag which is disabled by default.
...
git-svn-id: http://v8.googlecode.com/svn/trunk@7 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-07-28 12:50:18 +00:00
kasper.lund
44510671e9
Fixed bug in JSObject::GetPropertyAttributePostInterceptor where map transitions would count as properties.
...
Allowed aliased eval invocations by treating them as evals in the global context. This may change in the future.
Added support for accessing the last entered context through the API and renamed Context::Current to Context::GetCurrent and Context::GetSecurityContext to Context::GetCurrentSecurityContext.
Fixed bug in the debugger that would cause the debugger scripts to be recursively loaded and changed all disabling of interrupts to be block-structured.
Made snapshot data read-only to allow it to be more easily shared across multiple users of V8 when linked as a shared library.
git-svn-id: http://v8.googlecode.com/svn/trunk@6 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-07-25 07:37:58 +00:00
kasper.lund
212ac23f82
Fixed building on Mac OS X by recognizing i386 and friends as IA-32 platforms.
...
Added propagation of stack overflow exceptions that occur while compiling nested functions.
Improved debugger with support for recursive break points and handling of exceptions that occur in the debugger JavaScript code.
Renamed GetInternal to GetInternalField and SetInternal to SetInternalField in the API and moved InternalFieldCount and SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
git-svn-id: http://v8.googlecode.com/svn/trunk@5 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-07-16 07:07:30 +00:00
kasper.lund
bd3ec4e503
Fixed bug in stack overflow check code for IA-32 targets where a
...
non-tagged value in register eax was pushed to the stack.
Fixed potential quadratic behavior when converting strings to numbers.
Fixed bug where the return value from Object::SetProperty could end up
being the property holder instead of the written value.
Improved debugger support by allowing nested break points and by
dealing with stack-overflows when compiling functions before setting
break points in them.
git-svn-id: http://v8.googlecode.com/svn/trunk@4 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-07-09 11:06:54 +00:00
christian.plesner.hansen
10ac170be0
Added dtoa license file which had been left out of the initial commit.
...
git-svn-id: http://v8.googlecode.com/svn/trunk@3 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-07-03 15:30:14 +00:00
christian.plesner.hansen
43d26ecc35
Initial export.
...
git-svn-id: http://v8.googlecode.com/svn/trunk@2 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-07-03 15:10:15 +00:00