sgjesse@chromium.org [Thu, 11 Mar 2010 10:56:49 +0000 (10:56 +0000)]
Fix compile of MIPS port
TBR=alexandre.rames@gmail.com
Review URL: http://codereview.chromium.org/870002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4103
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 11 Mar 2010 10:37:29 +0000 (10:37 +0000)]
Fix a bug in smi loop analysis.
Add a missing null check that can hit when the for-loop index is
not a variable.
Review URL: http://codereview.chromium.org/840002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4101
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 11 Mar 2010 10:34:29 +0000 (10:34 +0000)]
Do not waste space for the fast-case elements backing storage for
object-literals with few elements but large element indices.
We can decide at parse time whether the created object literal should
have fast-case of slow-case elements.
Remove unused runtime function.
Review URL: http://codereview.chromium.org/805004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4100
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 11 Mar 2010 10:28:40 +0000 (10:28 +0000)]
Fix assigned variables analysis.
This change fixes a bug with the arguments object that occurred with
r4087 and r4088. The fix is not marking the arguments variable as trivial
since it can have side effects.
Review URL: http://codereview.chromium.org/851002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 11 Mar 2010 09:49:47 +0000 (09:49 +0000)]
Fix presubmit error
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/867002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 11 Mar 2010 09:48:01 +0000 (09:48 +0000)]
Make the assumption on the minimum buffer size for GetLogLines explicit.
Review URL: http://codereview.chromium.org/799008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 11 Mar 2010 09:27:12 +0000 (09:27 +0000)]
Add fuzzing support for inline runtime functions
The inline runtime functions are now included in the fuzzing of the natives. The chack for the expected number of arguments passed have been moved to the parser which will generate a syntax error if a runtime function (either C++ or inline) is called with a different number of arguments than expected.
Review URL: http://codereview.chromium.org/573056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 11 Mar 2010 08:52:31 +0000 (08:52 +0000)]
Fix code cache lookup for keyed IC's
For keyed IC's the name is not necessarily a string.
BUG=http://crbug.com/37853
TEST=test/mjsunit/regress/regress-crbug-37853.js
Review URL: http://codereview.chromium.org/872001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
serya@chromium.org [Thu, 11 Mar 2010 08:31:15 +0000 (08:31 +0000)]
Math.abs rewrited to not use Runtime.
Review URL: http://codereview.chromium.org/799006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Wed, 10 Mar 2010 21:26:32 +0000 (21:26 +0000)]
Revert grisu commits.
Review URL: http://codereview.chromium.org/804005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Wed, 10 Mar 2010 21:08:39 +0000 (21:08 +0000)]
Adding missing file.
Review URL: http://codereview.chromium.org/825004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Wed, 10 Mar 2010 20:49:14 +0000 (20:49 +0000)]
Fast algorithm for double->string conversion.
Review URL: http://codereview.chromium.org/619005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 10 Mar 2010 20:41:11 +0000 (20:41 +0000)]
Revert changes 4088 and 4087 to fix build.
Review URL: http://codereview.chromium.org/805005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 10 Mar 2010 17:30:35 +0000 (17:30 +0000)]
Fix x64 and arm build.
Review URL: http://codereview.chromium.org/816003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 10 Mar 2010 17:19:22 +0000 (17:19 +0000)]
Add an assigned variables analysis.
This change adds a pass over the AST that computes the
set of assigned variables for locals and parameters for each expression.
The result of this analysis is used to for two purposes:
1. Recognize variables that are trivial subexpressions. A left sub-expression
of a binary operation is trivial if it is a local variable or a parameter
and it is not assigned in the right sub-expression. In the case of a
trivial left sub-expression we evaluate the right first.
Currently only binary operations and compare operations are considered
when finding trivial left sub-expressions.
2. Recogize certain simple for-loops with a constant trip count where the loop
variable is always within smi range. If the loop count variable is not
assigned in the body of the loop (except in the update expression the
for-loop). This allows omitting smi checks on operation using the loop
count variable.
Review URL: http://codereview.chromium.org/669155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 10 Mar 2010 17:02:25 +0000 (17:02 +0000)]
Add defensive checks to the flow graph builder.
Visitor stack overflow is used to signal an unsupported construct in
the flow graph. Check for it in more places. Make the utility
functions for appending to graphs handle more cases if they can be
handled correctly.
Remove the entry node in favor of a block with a NULL predecessor as
single entry. Represent the empty flow graph as a single empty block.
Add empty blocks lazily where needed to preserve edge-split form.
Review URL: http://codereview.chromium.org/804003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 10 Mar 2010 14:43:43 +0000 (14:43 +0000)]
Fix presubmit failure.
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/802003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 10 Mar 2010 14:40:31 +0000 (14:40 +0000)]
Cut back the syntactic constructs handled by the flow graph builder.
While the flow graph is experimental, it's easier to be able to ignore
some problematic syntactic constructs. Reduce the ones that can occur
in constructed flow graphs.
Review URL: http://codereview.chromium.org/790004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 10 Mar 2010 12:21:00 +0000 (12:21 +0000)]
Add 1-element caches to RegExp.exec and String.replace. We
probably want to remove this again if and when Dromaeo is
fixed so this strategy doesn't pay off.
Review URL: http://codereview.chromium.org/817001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Wed, 10 Mar 2010 12:00:22 +0000 (12:00 +0000)]
Moved one check outside of the loop and moved another one under an if statement
Review URL: http://codereview.chromium.org/821001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 10 Mar 2010 11:13:02 +0000 (11:13 +0000)]
Optimize fromCharCode for smi argument(s) case.
Review URL: http://codereview.chromium.org/778005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 10 Mar 2010 09:40:18 +0000 (09:40 +0000)]
Prepare push of version 2.1.3 to trunk.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/802002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 10 Mar 2010 08:45:00 +0000 (08:45 +0000)]
Revert change to always call builtins for Array functions.
It causes regressions on test shell tests.
TBR=antonm@chromium.org
Review URL: http://codereview.chromium.org/819001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 10 Mar 2010 08:31:25 +0000 (08:31 +0000)]
Fix BitVector test failure.
r4071 made BitVector zone-allocated, but the BitVector tests were not
changed to allocate a Zone.
Review URL: http://codereview.chromium.org/818001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 10 Mar 2010 08:08:32 +0000 (08:08 +0000)]
Change BitVector class to be a zone object.
Change the BitVector utility class to allow allocation via 'new' in the
Zone. Change the backing store to be always zone-allocated.
Review URL: http://codereview.chromium.org/730001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Tue, 9 Mar 2010 22:24:46 +0000 (22:24 +0000)]
Remove tabs
Review URL: http://codereview.chromium.org/747002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Tue, 9 Mar 2010 21:45:24 +0000 (21:45 +0000)]
Check that function being patched has no activations on any thread stack
Review URL: http://codereview.chromium.org/668246
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 9 Mar 2010 15:43:04 +0000 (15:43 +0000)]
Always invoke C++ ArrayPush builtin.
Now this builtin checks if it should go into fast case or resort to JS ArrayPush builtin.
Review URL: http://codereview.chromium.org/660298
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 9 Mar 2010 14:43:01 +0000 (14:43 +0000)]
Add a bit more room for type string when reporting heap
stats to make sure PRIVATE_EXTERNAL_ASCII_STRING_TYPE fits.
Review URL: http://codereview.chromium.org/726002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 9 Mar 2010 10:49:41 +0000 (10:49 +0000)]
Refactor the code cache to handle large number of properties on the global object (take 2).
A separate object type for the code cache have been added. This object has two different code caches. The first one (default_cache) is a fixed array organized in the same way as the as the code cache was before. The second cache (global_access_cache) is for code stubs to access the global object. This cache is organized as a hash table taking the property name and code flags as the key.
The reason for separating the global access stubs into a hash table representation is that the number of these is not bounded in the same was as the other types.
This is a remake of r3952 (http://codereview.chromium.org/652119) which have the additional ability to look for the index of code stubs for access to the global object.
BUG=http://code.google.com/p/v8/issues/detail?id=613
Review URL: http://codereview.chromium.org/717001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 9 Mar 2010 10:39:18 +0000 (10:39 +0000)]
Add IsStackAllocated helper for variables.
Add a simple boolean helper function for Variables and Slots.
Review URL: http://codereview.chromium.org/722001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 9 Mar 2010 09:56:19 +0000 (09:56 +0000)]
Have the flow graph builder collect definitions.
Before computing reaching definitions, the set of all definitions in a
function must be collected and they must be numbered. Have the flow
graph builder collect definitions for stack-allocated variables into a
list, and implicitly number them with their list index.
Review URL: http://codereview.chromium.org/668257
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 9 Mar 2010 09:51:37 +0000 (09:51 +0000)]
Add copy constructor and assignment operator to the BitVector class.
Review URL: http://codereview.chromium.org/668259
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 9 Mar 2010 09:41:58 +0000 (09:41 +0000)]
Experimental change to idle notifications: Try to limit the
interactions between idle notifications for background tabs
and the context disposal GCs even further.
Review URL: http://codereview.chromium.org/698003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 9 Mar 2010 09:40:35 +0000 (09:40 +0000)]
Correct handling of adding a string and a smal integer
The fast case of looking up the string convertion of the smi did not handle the case where left/reghe operands could be in eax/edx instead of edx/eax which is the default.
Also got rid of creating an internal frame for calling string and instead patched the argument on the stack and performed a tail call.
BUG=http://code.google.com/p/v8/issues/detail?id=636
TEST=test/mjsunit/regress/regress-636.js
Review URL: http://codereview.chromium.org/720001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 9 Mar 2010 09:15:28 +0000 (09:15 +0000)]
Added zone-inl.h to jsregexp.h since it relies on calling new ZoneList which again relies on calling the static new method on Zone (defined in zone-inl.h but declared in zone.h).
Review URL: http://codereview.chromium.org/719001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 9 Mar 2010 08:25:22 +0000 (08:25 +0000)]
Added zone-inl.h to test-heap-profiler to fix test build failure after header file refactoring in revision 4058.
Review URL: http://codereview.chromium.org/698002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 9 Mar 2010 06:38:33 +0000 (06:38 +0000)]
Small simplification of #include dependencies.
Remove messages.h from v8.h and include it explicitly in only the few places
it is needed. Many files relied on getting handles-inl.h implicitly from
messages.h through v8.h, so include handles-inl.h explicitly in v8.h
instead.
Remove zone-inl.h from header files where it is not needed, can be replaced
by a forward declaration, or can be replaced by zone.h (specifically,
factory.h and heap.h). Include zone.h or zone-inl.h in header files where
it was implicitly included via heap.h or factory.h. Prefer zone.h over
zone-inl.h in header files where possible by including zone-inl.h in .cc
files.
Review URL: http://codereview.chromium.org/668248
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 8 Mar 2010 16:01:40 +0000 (16:01 +0000)]
Fix typographical error in comment in r4056
Review URL: http://codereview.chromium.org/668258
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 8 Mar 2010 15:28:57 +0000 (15:28 +0000)]
Add AST analysis that flags expressions that will have ToInt32 applied to them.
Simplify AST analysis of side-effect-free int32 expressions.
Review URL: http://codereview.chromium.org/668256
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 8 Mar 2010 13:49:23 +0000 (13:49 +0000)]
Added sqrt and pow for arm and x64 - to fix build failures.
Review URL: http://codereview.chromium.org/669272
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 8 Mar 2010 13:23:54 +0000 (13:23 +0000)]
Inline Math.sqrt().
Also changed name of GeneratePow and the %_ call name to follow convention based on MathSin and MathCos. Moved GeneratePow down to the other methods.
Review URL: http://codereview.chromium.org/661179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 8 Mar 2010 13:04:09 +0000 (13:04 +0000)]
Fix presubmit failure (line longer than 80 characters).
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/669271
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 8 Mar 2010 13:01:24 +0000 (13:01 +0000)]
Remove unneeded variable usage analysis.
A variable usage analysis pass was run on toplevel and lazily-compiled
code but never used. Remove this pass and the data structures it
builds.
The representation of variable usage for Variables has been changed
from a struct containing a (weighted) count of reads and writes to a
simple flag. VariableProxies are always used, as before. The unused
"object uses" is removed.
Review URL: http://codereview.chromium.org/669270
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 8 Mar 2010 12:53:11 +0000 (12:53 +0000)]
Initial implementation of an edge-labeled instruction flow graph.
The flow graph is built by walking the AST. Edges are labeled with
instructions (AST nodes). Normal nodes have a single predecessor edge and a
single (labeled) successor edge. Branch nodes are explicit, they have a
single predecessor edge and a pair of (unlabeled) successor edges. Merge
nodes are explicit, they have a pair of predecessor edges and a single
(unlabeled) successor edge.
There is a distinguished (normal) entry node and a distinguished (special)
exit node with arbitrarily many predecessor edges and no successor edges.
The graph is intended to support graph-based analysis and transformation.
Review URL: http://codereview.chromium.org/660449
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 8 Mar 2010 11:58:33 +0000 (11:58 +0000)]
Port of changes from r3842 (symbol table probing for two character strings) to x64 and arm
Review URL: http://codereview.chromium.org/661469
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Mon, 8 Mar 2010 11:19:20 +0000 (11:19 +0000)]
Let the callers of V8::ContextDisposedNoticication() know
how many pending context disposals there are.
Review URL: http://codereview.chromium.org/669266
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 8 Mar 2010 08:49:14 +0000 (08:49 +0000)]
Speed up no-capture case for RegExp.exec().
Review URL: http://codereview.chromium.org/669161
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Sat, 6 Mar 2010 01:21:34 +0000 (01:21 +0000)]
Quick fix for r4045
Review URL: http://codereview.chromium.org/668203
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 5 Mar 2010 23:54:13 +0000 (23:54 +0000)]
Make more use of the NumberInfo data.
Makes NumberInfo into a real class.
Fix bug where NumberInfo was lost in ToRegister.
Allow 17 bits in safe Smis instead of 16.
Review URL: http://codereview.chromium.org/668151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Fri, 5 Mar 2010 22:08:58 +0000 (22:08 +0000)]
Basic implementation of liveedit feature
Review URL: http://codereview.chromium.org/652027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 5 Mar 2010 16:46:39 +0000 (16:46 +0000)]
Explicitly release allocated memory as Vector doesn't do that in dtor.
Review URL: http://codereview.chromium.org/669164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 5 Mar 2010 15:23:30 +0000 (15:23 +0000)]
Try to help the builder with the conflict.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/668160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 5 Mar 2010 15:07:53 +0000 (15:07 +0000)]
An attempt to fix the tests.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/669162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 5 Mar 2010 14:51:24 +0000 (14:51 +0000)]
Better diagnostic of tests.
Review URL: http://codereview.chromium.org/669160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 5 Mar 2010 13:43:53 +0000 (13:43 +0000)]
Fix stack tweaking in array allocation
When Array(0) or new Array(0) is handled by the generated code it is handled
by the same code as Array() and new Array(). For this to work the stack is
tweaked to remove the argument of value 0. However the argc was still passed
as 1 if a call to the runtime system was made.
When the stack is tweaked argc is also changed to 0.
BUG=634
TEST=test/mjsunittest/mjsunit/regress/regress-634.js
Review URL: http://codereview.chromium.org/668155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 5 Mar 2010 13:35:59 +0000 (13:35 +0000)]
Revert r4029.
Review URL: http://codereview.chromium.org/668153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 5 Mar 2010 13:33:33 +0000 (13:33 +0000)]
Fixed filling of char array in StringToArray.
Review URL: http://codereview.chromium.org/669159
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 5 Mar 2010 12:30:59 +0000 (12:30 +0000)]
Removed dangerous Factory::NewUninitializedFixedArray.
This was used in runtime StringToArray function which I simplified
keeping its performance for ascii strings.
Review URL: http://codereview.chromium.org/669156
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4035
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 5 Mar 2010 11:19:37 +0000 (11:19 +0000)]
Fixing style of variable names.
Review URL: http://codereview.chromium.org/668149
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 5 Mar 2010 09:51:10 +0000 (09:51 +0000)]
Change allocations in test-heap to use handles. This makes the test
work when garbage collections are forced in random places.
Review URL: http://codereview.chromium.org/669153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 5 Mar 2010 08:58:59 +0000 (08:58 +0000)]
Try to let the context disposal GC at idle time have less
impact on the normal idle notification scheme by making sure
we do not restart the idle GC sequence just because of a
forced GC due to context disposal.
Review URL: http://codereview.chromium.org/669150
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 5 Mar 2010 07:35:06 +0000 (07:35 +0000)]
Try to allow the new context disposal GC heuristic to kick
in even when running with --expose-gc.
Review URL: http://codereview.chromium.org/668143
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 5 Mar 2010 07:05:26 +0000 (07:05 +0000)]
Fix weird issue with test case where certain global function
names were being reused.
Review URL: http://codereview.chromium.org/669148
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 4 Mar 2010 22:16:58 +0000 (22:16 +0000)]
Fix invalid fast return in splice when returned array is empty.
TBR=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/669101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 4 Mar 2010 21:29:33 +0000 (21:29 +0000)]
Fix a special case (zero length result array).
Review URL: http://codereview.chromium.org/669075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 4 Mar 2010 15:04:04 +0000 (15:04 +0000)]
Added tests for issue 618
Review URL: http://codereview.chromium.org/668055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 4 Mar 2010 15:03:36 +0000 (15:03 +0000)]
Remove the unlocker from the JS thread in ProfMultipleThreads to
avoid getting a profiling sample while not holding the locker,
because we will not get a stack sample in that case.
Review URL: http://codereview.chromium.org/668063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 4 Mar 2010 14:45:36 +0000 (14:45 +0000)]
Disable two problematic tests that only test functionality
used on the partial_snapshots branch.
BUG=http://code.google.com/p/v8/issues/detail?id=632
Review URL: http://codereview.chromium.org/669062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 4 Mar 2010 14:03:08 +0000 (14:03 +0000)]
Add runtime function for string to array conversion.
Review URL: http://codereview.chromium.org/669060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 4 Mar 2010 13:25:23 +0000 (13:25 +0000)]
Try to fix issue 632 by being more careful in the locking/unlocking
in the test-log/ProfMultipleThreads.
Review URL: http://codereview.chromium.org/669058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 4 Mar 2010 12:51:49 +0000 (12:51 +0000)]
Added new ia32 assembler instructions to the diassembler from Math.pow inline implementation.
Review URL: http://codereview.chromium.org/668056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 4 Mar 2010 12:35:39 +0000 (12:35 +0000)]
Don't use strcmp to test heap object pointer equality.
Review URL: http://codereview.chromium.org/668060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 4 Mar 2010 12:32:47 +0000 (12:32 +0000)]
[Linux] Patch LogSharedLibraryAddresses to work correctly on Android.
On 'usual' Linux systems in '/proc/self/maps' we encounter two entries
per library: one has 'rw-p' attrs and the other has 'r-xp'. While on
Android, I see 'rwxp' and 'r-xp' (both entries are marked executable.)
So I've added an explicit check for non-writability to leave only a
single record in the log file.
Review URL: http://codereview.chromium.org/661467
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 4 Mar 2010 12:32:03 +0000 (12:32 +0000)]
Assign to "sample.state" before reading it.
I noticed a funny thing: in StackTracer::Trace "sample.state" is
checked, but it is only assigned after the check. I've put assignment
before the check.
Review URL: http://codereview.chromium.org/660452
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 4 Mar 2010 12:13:04 +0000 (12:13 +0000)]
Add IsExecutionTerminating api method.
IsExecutionTerminating returns true if a termination exception is
currently being propagated. C++ code should not reenter V8 when
IsExecutionTerminating returns true.
Review URL: http://codereview.chromium.org/668052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Thu, 4 Mar 2010 11:27:28 +0000 (11:27 +0000)]
- Fixed the compilation cache so Put works.
- Cleaned up the calls to HashTable::Allocate.
Review URL: http://codereview.chromium.org/669057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Thu, 4 Mar 2010 09:55:04 +0000 (09:55 +0000)]
- Rearrange fields in SharedFunctionInfo.
Review URL: http://codereview.chromium.org/669051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 4 Mar 2010 09:27:45 +0000 (09:27 +0000)]
Change heap sort of descriptor array to bottom-up.
Review URL: http://codereview.chromium.org/661470
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Thu, 4 Mar 2010 07:43:05 +0000 (07:43 +0000)]
Nasty workaround for bug 632.
Review URL: http://codereview.chromium.org/669045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4012
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 3 Mar 2010 16:40:29 +0000 (16:40 +0000)]
Fast case conversion for ascii strings.
Review URL: http://codereview.chromium.org/660455
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4011
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Wed, 3 Mar 2010 16:22:17 +0000 (16:22 +0000)]
- Changed the initial size for HashTable.
- Pretenured large expanding hash tables.
Review URL: http://codereview.chromium.org/661468
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Wed, 3 Mar 2010 14:19:04 +0000 (14:19 +0000)]
Fix broken test in WebKit test suite and add the test in question to V8 tests.
Review URL: http://codereview.chromium.org/661466
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 3 Mar 2010 13:44:20 +0000 (13:44 +0000)]
Added implementation if Uint32::Value.
Review URL: http://codereview.chromium.org/661275
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 3 Mar 2010 13:16:10 +0000 (13:16 +0000)]
Refactor the scanner interface
No need to create sub strings for lazy compiles. The scanner will start from the start position provided.
Moved the creating of character streams into the scanner where possible. This uses a input buffer in the scanner class instead of a stack allocated one.
Added a UTF16 buffer for reading external ascii strings (by templating the external two byte string one) as all the source for the builtins are exposed as external ascii strings.
Review URL: http://codereview.chromium.org/661367
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 3 Mar 2010 12:22:01 +0000 (12:22 +0000)]
Try to fix the broken build by making a single problematic
test non-threaded.
Review URL: http://codereview.chromium.org/661462
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 3 Mar 2010 11:43:45 +0000 (11:43 +0000)]
Remove a duplicated move instruction for store IC calls on ia32.
Review URL: http://codereview.chromium.org/661461
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 3 Mar 2010 11:41:22 +0000 (11:41 +0000)]
Remove the deprecated context disposal GC heuristic.
Review URL: http://codereview.chromium.org/661458
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 2 Mar 2010 18:47:03 +0000 (18:47 +0000)]
Small API improvements:
* Added Get and Set taking uint32_t for faster and more convenient
access to elements.
* Added less verbose casting for handles. Now instead of
v8::Local<v8::String>::Cast(args[0])
one can write
args[0].As<v8::String>().
Review URL: http://codereview.chromium.org/660243
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Tue, 2 Mar 2010 14:44:01 +0000 (14:44 +0000)]
Prevent "control reaches end of non-void function" warning from gcc on Mac.
Review URL: http://codereview.chromium.org/660379
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Tue, 2 Mar 2010 14:32:31 +0000 (14:32 +0000)]
Fix minor syntax error which broke the compilation.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/660377
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Tue, 2 Mar 2010 14:19:34 +0000 (14:19 +0000)]
Revert change to EquivalentTime in date.js. The checks that I've removed in the last changed were essential after all.
Review URL: http://codereview.chromium.org/660375
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 2 Mar 2010 14:00:59 +0000 (14:00 +0000)]
Add syntax checker for side-effect-free expressions to AstOptimizer in rewriter.cc. Add bit fields for syntax checker results to Expression in ast.h.
Review URL: http://codereview.chromium.org/660372
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Tue, 2 Mar 2010 13:29:26 +0000 (13:29 +0000)]
Rewrite MakeDay function from JS to C++.
Review URL: http://codereview.chromium.org/661366
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 2 Mar 2010 13:22:04 +0000 (13:22 +0000)]
Add cld before doing rep movs.
Review URL: http://codereview.chromium.org/661368
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 2 Mar 2010 12:42:15 +0000 (12:42 +0000)]
Faster filling newly allocated arrays with the holes from the Array construction stub.
Review URL: http://codereview.chromium.org/661245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Tue, 2 Mar 2010 12:27:11 +0000 (12:27 +0000)]
- Changed the growth policy for hash tables to reduce the wasted memory.
Now we fill hashtables 75% before expanding.
Review URL: http://codereview.chromium.org/660373
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 2 Mar 2010 11:58:10 +0000 (11:58 +0000)]
Re-introduce this as a trivial expression
The reverts r3939 as it turned out not be the root cause for the regression http://crbug.com/36604.
Review URL: http://codereview.chromium.org/661365
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 2 Mar 2010 11:54:11 +0000 (11:54 +0000)]
Allow snapshots built without -DANDROID to work on Android.
Fix bug in fast code generator on ARM (can't use ip as scratch
in RecordWrite).
Activate normal-sized compilation cache on Android.
This is a port of 3938 from the partial snapshots branch.
Review URL: http://codereview.chromium.org/652227
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 2 Mar 2010 10:43:46 +0000 (10:43 +0000)]
Implementation of a fixed-size bit vector.
This is a basic implementation bit vector containing an fixed
arbitrary number of bits.
Review URL: http://codereview.chromium.org/660321
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3991
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00