feng@chromium.org
1706231d78
Fast check undefined in EQUALS.
...
Review URL: http://codereview.chromium.org/7979
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 03:39:17 +00:00
ager@chromium.org
721b7298e2
Allow inline caching for getting the length of string wrapper objects.
...
Review URL: http://codereview.chromium.org/8620
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 14:36:08 +00:00
kasperl@chromium.org
2dcb4d2c59
Fix issue 120 by patching the on-stack receiver in the
...
IC stubs for calls just before invoking the target
function instead of doing it before resolving the
function.
Review URL: http://codereview.chromium.org/8192
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 14:12:02 +00:00
erik.corry@gmail.com
3cd77583e1
Fix mistake in ARM version of string length stub.
...
Review URL: http://codereview.chromium.org/8193
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 14:01:04 +00:00
whesse@chromium.org
d08b095bce
Revert changes 601 and 602. TBR
...
Review URL: http://codereview.chromium.org/8190
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 12:45:24 +00:00
erik.corry@gmail.com
1158879625
Add missing ARM files from last change!
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 12:44:11 +00:00
erik.corry@gmail.com
0fc72f2b4e
Serendipitously arrange the tags so that String.length() becomes a branch-free
...
operation. I have another version of this change that does not remove the
special inline caches for difference sized strings. The other version is ever
so slightly faster, but the nice thing about this version is that it removes
253 lines of code.
Review URL: http://codereview.chromium.org/8187
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 12:39:34 +00:00
whesse@chromium.org
724f5648b9
Rewrites a ternary choice operator to fix a compiler
...
linkage bug.
Review URL: http://codereview.chromium.org/8189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 12:24:22 +00:00
whesse@chromium.org
6941a4f389
Collects unused maps that are only kept alive by map transitions.
...
If a map has descendents in the map transition tree that are alive,
it is kept. Only maps such that they and all their descendants
have no live objects are collected. This happens in mark-sweep and
mark-compact garbage collections.
Review URL: http://codereview.chromium.org/8099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 11:55:31 +00:00
kasperl@chromium.org
a510287b66
Fix issue 128.
...
Review URL: http://codereview.chromium.org/8617
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 09:48:47 +00:00
erik.corry@gmail.com
6e00a80354
You can't use BinarySearch on an unsorted array and other
...
sillinesses found while trying to get rid of medium-sized strings.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-26 20:50:05 +00:00
feng@chromium.org
f26baa4a4c
remove unused strcasecmp on windows, it conflicts with the one from webkit, check in on behave of dglazkov@chromium.org
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 23:20:25 +00:00
sgjesse@chromium.org
c204f48529
Revorked version of http://codereview.chromium.org/8101 . The only change is
...
that the exception stored in the TryCatch is not cleared as that was the
cause of the regression.
So the actual difference to http://codereview.chromium.org/8101 is:
Index: src/top.h
===================================================================
--- src/top.h (revision 576)
+++ src/top.h (working copy)
@@ -154,10 +154,6 @@
if (has_pending_exception()) {
thread_local_.external_caught_exception_ =
thread_local_.pending_external_caught_exception_;
- } else {
- if (thread_local_.try_catch_handler_ != NULL) {
- thread_local_.try_catch_handler_->Reset();
- }
}
thread_local_.pending_external_caught_exception_ = false;
}
@@ -312,14 +308,14 @@
};
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 20:50:26 +00:00
kasperl@chromium.org
4e4fc50842
Get ready for fixing issue 120: Pin point the places
...
where the receiver needs to be patched with the proxy
and get ready of unnecessary function patching on ARM.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 12:58:17 +00:00
kasperl@chromium.org
c128b8d9de
Improve code for looking up in context slots in runtime.cc and
...
use safe casting operations to slot access on contexts when
possible.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 10:59:40 +00:00
kmillikin@chromium.org
681ae19bd4
Change a few runtime functions that took and returned a dummy argument
...
to instead take no arguments and return the undefined value.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 10:13:22 +00:00
sgjesse@chromium.org
5ffd290217
Changed the workarround for a GCC compiler bug to be only active for the GCC
...
version range for which the bug is known to exist.
Added include to compile with GCC 4.3.1.
BUG=122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 09:35:27 +00:00
christian.plesner.hansen@gmail.com
9d9f608a38
- Added caching of regexp data in the compilation cache.
...
- Changed the structure of regexp objects from having two internal
fields to having a single field containing a fixed array, since it's
easier to store the whole fixed array in the cache.
- Move printing of the command to after printing std{err,out} in the
compact progress indicators in the test framework.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 08:40:02 +00:00
sgjesse@chromium.org
5d36cc8061
Fix build.
...
Review URL: http://codereview.chromium.org/8144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 07:19:00 +00:00
sgjesse@chromium.org
27154148cf
Reverted r576 as it caused a regression.
...
TBR=kasperl
Review URL: http://codereview.chromium.org/7970
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 06:40:43 +00:00
sgjesse@chromium.org
39a5ffbd85
Cleanup of http://codereview.chromium.org/8101 .
...
Changed the catcher_ field to a boolean value and renamed it. Modified the
propagation of the external caught exception to also clear the current
TryCatch if there is no exception as it might hold an exception which has
been bypassed by code in a finally block.
Minor formatting changes to a test.
Review URL: http://codereview.chromium.org/8102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 06:22:47 +00:00
feng@chromium.org
a5ead4a421
Addressing Ivan's comments of using INVALID_TYPE in Factory::CreateApiFunction.
...
Review URL: http://codereview.chromium.org/7925
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 22:27:16 +00:00
bak@chromium.org
69686b1435
Fixed usage of NewArgumentsObject for accessor.
...
Review URL: http://codereview.chromium.org/7917
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 15:06:31 +00:00
bak@chromium.org
d296a22917
- Fixed performance regression caused by ComputeContextSlotReceiver.
...
- Eliminated a few write barriers.
Review URL: http://codereview.chromium.org/8103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 14:55:45 +00:00
kasperl@chromium.org
e1c2887a64
Get ready for pushing 0.4.0 to trunk. We're now working
...
towards version 0.4.1.
Review URL: http://codereview.chromium.org/8100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 13:33:11 +00:00
sgjesse@chromium.org
f7367a9fe6
Posponed the setting of "external_caught_exception" to when leaving JavaScript
...
execution. This is achieved by storing a pointer to the C++ TryCatch when the
exception is thrown and checking that this is the handler active when leaving
JavaScript.
Review URL: http://codereview.chromium.org/8101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 12:54:13 +00:00
christian.plesner.hansen@gmail.com
e08ce319ca
Added v8::Object::GetProperties method that returns an array of all
...
the enumerable properties of an object.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 10:31:49 +00:00
bak@chromium.org
187879a25a
- Added conditional write barrier to object accessors.
...
- Sped up allocation of Arguments object.
Review URL: http://codereview.chromium.org/8098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:46:32 +00:00
kasperl@chromium.org
b727198587
Fix issue 124 by computing the receiver correctly when
...
the property is found in a context slot.
Review URL: http://codereview.chromium.org/8097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:42:22 +00:00
sgjesse@chromium.org
63afc7bad3
Changed the message reporting for try { ... } finally { ... } statements to
...
report the exception when they happen in the try block and not as previously
when re-thrown after execution of the finally block. There is no longer any
message generated by re-throw.
Added test cases for various combinations of try/catch/finally with throw in
different places.
Added a regression directory to the messages tests which is processed by the
test runner.
Added regression tests for the specific bugs fixed.
Runs all the test suites.
BUG=73
BUG=75
Review URL: http://codereview.chromium.org/8050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:40:19 +00:00
christian.plesner.hansen@gmail.com
c7ed0707a3
- Added const in a few places.
...
- Changed WeakReferenceCallback to take a Persistent<Value> instead of
a Persistent<Object>.
- Removed Message::GetUnderline and Message::GetScriptData.
- Added Value::IsDate, Date::Cast and Date::Value.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:25:23 +00:00
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