christian.plesner.hansen@gmail.com [Fri, 24 Oct 2008 08:40:02 +0000 (08:40 +0000)]
- 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
sgjesse@chromium.org [Fri, 24 Oct 2008 07:19:00 +0000 (07:19 +0000)]
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
sgjesse@chromium.org [Fri, 24 Oct 2008 06:40:43 +0000 (06:40 +0000)]
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
sgjesse@chromium.org [Fri, 24 Oct 2008 06:22:47 +0000 (06:22 +0000)]
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
feng@chromium.org [Thu, 23 Oct 2008 22:27:16 +0000 (22:27 +0000)]
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
bak@chromium.org [Thu, 23 Oct 2008 15:06:31 +0000 (15:06 +0000)]
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
bak@chromium.org [Thu, 23 Oct 2008 14:55:45 +0000 (14:55 +0000)]
- 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
kasperl@chromium.org [Thu, 23 Oct 2008 13:33:11 +0000 (13:33 +0000)]
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
sgjesse@chromium.org [Thu, 23 Oct 2008 12:54:13 +0000 (12:54 +0000)]
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
kasperl@chromium.org [Thu, 23 Oct 2008 11:09:48 +0000 (11:09 +0000)]
Fix lint issue.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@569
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Thu, 23 Oct 2008 10:31:49 +0000 (10:31 +0000)]
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
bak@chromium.org [Thu, 23 Oct 2008 08:46:32 +0000 (08:46 +0000)]
- 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
kasperl@chromium.org [Thu, 23 Oct 2008 08:42:22 +0000 (08:42 +0000)]
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
sgjesse@chromium.org [Thu, 23 Oct 2008 08:40:19 +0000 (08:40 +0000)]
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
christian.plesner.hansen@gmail.com [Thu, 23 Oct 2008 08:25:23 +0000 (08:25 +0000)]
- 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
erik.corry@gmail.com [Thu, 23 Oct 2008 07:28:21 +0000 (07:28 +0000)]
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
erik.corry@gmail.com [Thu, 23 Oct 2008 07:20:28 +0000 (07:20 +0000)]
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
ager@chromium.org [Thu, 23 Oct 2008 07:04:56 +0000 (07:04 +0000)]
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
kasperl@chromium.org [Thu, 23 Oct 2008 06:20:57 +0000 (06:20 +0000)]
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
kasperl@chromium.org [Thu, 23 Oct 2008 06:11:39 +0000 (06:11 +0000)]
Update Mozilla test status to reflect that regress-363258
is flaky on Linux and Mac (as well as Windows) and remove
line that refers to non-existing mozilla/... test.
Review URL: http://codereview.chromium.org/7910
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@559
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 23 Oct 2008 05:49:05 +0000 (05:49 +0000)]
Added failing test case for bug 124.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@558
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Oct 2008 15:04:40 +0000 (15:04 +0000)]
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
kmillikin@chromium.org [Wed, 22 Oct 2008 12:45:33 +0000 (12:45 +0000)]
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
christian.plesner.hansen@gmail.com [Wed, 22 Oct 2008 12:33:20 +0000 (12:33 +0000)]
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
christian.plesner.hansen@gmail.com [Wed, 22 Oct 2008 12:00:19 +0000 (12:00 +0000)]
- 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
kasperl@chromium.org [Wed, 22 Oct 2008 11:55:08 +0000 (11:55 +0000)]
Improve error reporting in benchmarks.
Review URL: http://codereview.chromium.org/8053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@553
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 22 Oct 2008 11:13:48 +0000 (11:13 +0000)]
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
bak@chromium.org [Wed, 22 Oct 2008 09:47:20 +0000 (09:47 +0000)]
- 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
kasperl@chromium.org [Wed, 22 Oct 2008 09:46:09 +0000 (09:46 +0000)]
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
erik.corry@gmail.com [Wed, 22 Oct 2008 09:09:07 +0000 (09:09 +0000)]
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
bak@chromium.org [Wed, 22 Oct 2008 08:21:18 +0000 (08:21 +0000)]
- 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
kasperl@chromium.org [Wed, 22 Oct 2008 07:47:02 +0000 (07:47 +0000)]
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
sgjesse@chromium.org [Wed, 22 Oct 2008 06:30:29 +0000 (06:30 +0000)]
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
iposva@chromium.org [Tue, 21 Oct 2008 22:40:14 +0000 (22:40 +0000)]
- 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
feng@chromium.org [Tue, 21 Oct 2008 20:11:50 +0000 (20:11 +0000)]
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
feng@chromium.org [Tue, 21 Oct 2008 20:08:49 +0000 (20:08 +0000)]
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
feng@chromium.org [Tue, 21 Oct 2008 19:52:07 +0000 (19:52 +0000)]
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
feng@chromium.org [Tue, 21 Oct 2008 19:14:22 +0000 (19:14 +0000)]
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
feng@chromium.org [Tue, 21 Oct 2008 19:07:58 +0000 (19:07 +0000)]
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
feng@chromium.org [Tue, 21 Oct 2008 16:28:44 +0000 (16:28 +0000)]
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
sgjesse@chromium.org [Tue, 21 Oct 2008 15:24:58 +0000 (15:24 +0000)]
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
iposva@chromium.org [Tue, 21 Oct 2008 14:32:23 +0000 (14:32 +0000)]
- Update js2c.py to take a type parameter.
- Use the type parameter in the Xcode run script phases when building the
libraries.cc and libraries-empty.cc files.
Review URL: http://codereview.chromium.org/7814
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@537
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 21 Oct 2008 14:11:22 +0000 (14:11 +0000)]
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
christian.plesner.hansen@gmail.com [Tue, 21 Oct 2008 09:12:27 +0000 (09:12 +0000)]
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
bak@chromium.org [Tue, 21 Oct 2008 08:48:11 +0000 (08:48 +0000)]
- 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
erik.corry@gmail.com [Tue, 21 Oct 2008 08:08:17 +0000 (08:08 +0000)]
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
kasperl@chromium.org [Tue, 21 Oct 2008 07:39:53 +0000 (07:39 +0000)]
Added failing test case for bug
1439135.
Review URL: http://codereview.chromium.org/7808
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@529
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Mon, 20 Oct 2008 11:38:32 +0000 (11:38 +0000)]
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
christian.plesner.hansen [Mon, 20 Oct 2008 08:46:22 +0000 (08:46 +0000)]
Set the mime type of run.html.
Review URL: http://codereview.chromium.org/7664
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 20 Oct 2008 07:37:51 +0000 (07:37 +0000)]
-Fixed non debug build with an ifdef.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@526
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 20 Oct 2008 07:31:33 +0000 (07:31 +0000)]
- 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
bak@chromium.org [Mon, 20 Oct 2008 06:35:28 +0000 (06:35 +0000)]
- 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
bak@chromium.org [Fri, 17 Oct 2008 12:36:23 +0000 (12:36 +0000)]
- 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
bak@chromium.org [Fri, 17 Oct 2008 11:36:42 +0000 (11:36 +0000)]
- Missing files
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 17 Oct 2008 11:33:13 +0000 (11:33 +0000)]
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
bak@chromium.org [Fri, 17 Oct 2008 11:33:04 +0000 (11:33 +0000)]
- 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
lrn@chromium.org [Fri, 17 Oct 2008 11:15:54 +0000 (11:15 +0000)]
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
kmillikin@chromium.org [Fri, 17 Oct 2008 09:54:34 +0000 (09:54 +0000)]
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
bak@chromium.org [Fri, 17 Oct 2008 09:13:27 +0000 (09:13 +0000)]
- 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
kasperl@chromium.org [Fri, 17 Oct 2008 06:36:35 +0000 (06:36 +0000)]
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
lrn@chromium.org [Thu, 16 Oct 2008 11:33:19 +0000 (11:33 +0000)]
* 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
ager@chromium.org [Thu, 16 Oct 2008 08:02:51 +0000 (08:02 +0000)]
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
bak@chromium.org [Thu, 16 Oct 2008 07:17:26 +0000 (07:17 +0000)]
-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
iposva@chromium.org [Thu, 16 Oct 2008 05:58:09 +0000 (05:58 +0000)]
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
iposva@chromium.org [Thu, 16 Oct 2008 05:45:33 +0000 (05:45 +0000)]
- 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
whesse@chromium.org [Wed, 15 Oct 2008 10:22:26 +0000 (10:22 +0000)]
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
christian.plesner.hansen@gmail.com [Wed, 15 Oct 2008 08:50:34 +0000 (08:50 +0000)]
Review-related changes
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Wed, 15 Oct 2008 08:50:22 +0000 (08:50 +0000)]
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
iposva@chromium.org [Wed, 15 Oct 2008 07:48:45 +0000 (07:48 +0000)]
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
iposva@chromium.org [Wed, 15 Oct 2008 06:14:39 +0000 (06:14 +0000)]
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
iposva@chromium.org [Wed, 15 Oct 2008 06:03:26 +0000 (06:03 +0000)]
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
kmillikin@chromium.org [Tue, 14 Oct 2008 14:41:47 +0000 (14:41 +0000)]
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
lrn@chromium.org [Tue, 14 Oct 2008 14:25:37 +0000 (14:25 +0000)]
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
lrn@chromium.org [Tue, 14 Oct 2008 14:02:48 +0000 (14:02 +0000)]
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
lrn@chromium.org [Tue, 14 Oct 2008 13:25:54 +0000 (13:25 +0000)]
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
lrn@chromium.org [Tue, 14 Oct 2008 12:45:06 +0000 (12:45 +0000)]
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
lrn@chromium.org [Tue, 14 Oct 2008 10:56:40 +0000 (10:56 +0000)]
Reduced the string length and rounds in the extensive indexOf-test in string-indexof.js.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olehougaard [Tue, 14 Oct 2008 10:50:44 +0000 (10:50 +0000)]
Testing that sorting behaves reasonably with a bad comparison function.
Review URL: http://codereview.chromium.org/7137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 14 Oct 2008 09:13:23 +0000 (09:13 +0000)]
Fixed bug 114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 14 Oct 2008 08:57:31 +0000 (08:57 +0000)]
Most operations are faster than before.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Mon, 13 Oct 2008 20:15:17 +0000 (20:15 +0000)]
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
whesse@chromium.org [Mon, 13 Oct 2008 10:46:11 +0000 (10:46 +0000)]
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
kmillikin@chromium.org [Mon, 13 Oct 2008 07:56:13 +0000 (07:56 +0000)]
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
bak@chromium.org [Fri, 10 Oct 2008 13:15:59 +0000 (13:15 +0000)]
- Omit frame pointers when using GCC.
Review URL: http://codereview.chromium.org/7078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Fri, 10 Oct 2008 10:27:44 +0000 (10:27 +0000)]
- 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
kasperl@chromium.org [Fri, 10 Oct 2008 09:26:40 +0000 (09:26 +0000)]
Improve profiler output to make it easier to see the
anonymous functions.
Review URL: http://codereview.chromium.org/7075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 10 Oct 2008 09:09:38 +0000 (09:09 +0000)]
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
erik.corry@gmail.com [Fri, 10 Oct 2008 08:33:06 +0000 (08:33 +0000)]
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
kasperl@chromium.org [Fri, 10 Oct 2008 06:40:11 +0000 (06:40 +0000)]
Add codegen-arm.h and codegen-ia32.h to VS project file.
Review URL: http://codereview.chromium.org/7063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 10 Oct 2008 06:37:49 +0000 (06:37 +0000)]
Fix typo.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 10 Oct 2008 06:26:35 +0000 (06:26 +0000)]
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
iposva@chromium.org [Fri, 10 Oct 2008 00:00:52 +0000 (00:00 +0000)]
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
bak@chromium.org [Thu, 9 Oct 2008 13:34:17 +0000 (13:34 +0000)]
- 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
christian.plesner.hansen@gmail.com [Thu, 9 Oct 2008 12:18:48 +0000 (12:18 +0000)]
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
erik.corry@gmail.com [Thu, 9 Oct 2008 11:26:37 +0000 (11:26 +0000)]
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
christian.plesner.hansen@gmail.com [Thu, 9 Oct 2008 10:30:33 +0000 (10:30 +0000)]
- 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
whesse@chromium.org [Thu, 9 Oct 2008 08:57:32 +0000 (08:57 +0000)]
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
christian.plesner.hansen@gmail.com [Thu, 9 Oct 2008 08:08:04 +0000 (08:08 +0000)]
- 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
kasperl@chromium.org [Thu, 9 Oct 2008 06:55:08 +0000 (06:55 +0000)]
Fix typo in comment (issue 108).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 9 Oct 2008 05:39:00 +0000 (05:39 +0000)]
Fix typo in include/v8.h (issue 108) and mark test-spaces/LargeObjectSpace as flaky on ARM (issue 113). TBR=ager@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@472
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00