sgjesse@chromium.org [Tue, 23 Mar 2010 14:59:36 +0000 (14:59 +0000)]
Fix GetName and Print for CompareStub
Review URL: http://codereview.chromium.org/
1108006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Tue, 23 Mar 2010 14:47:02 +0000 (14:47 +0000)]
Fix bug code.google.com/p/v8/issues/detail?id=659. Move the limits check for date before the time zone offset is applied.
Review URL: http://codereview.chromium.org/
1075016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 23 Mar 2010 14:33:42 +0000 (14:33 +0000)]
Fix pop push optimization to work with partial snapshots (correct
registration of external references in Proxy objects).
I moved the declaration of the two functions to stub-cache.h
because with all the types they use it's hard to declare them
anywhere else. But the actual definition is still in runtime.cc
near to the place where they are used.
Review URL: http://codereview.chromium.org/
1079012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 23 Mar 2010 14:24:41 +0000 (14:24 +0000)]
Add binary operations with constants to the safe-int32 expression compiler.
Review URL: http://codereview.chromium.org/
1089004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 23 Mar 2010 14:05:16 +0000 (14:05 +0000)]
Trim underlying fixed array by one element from the left when doing shift.
For now this trick is only done to objects in new space, see comments
for reasons.
Review URL: http://codereview.chromium.org/
1076010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 23 Mar 2010 13:38:04 +0000 (13:38 +0000)]
Port of optimized ICs for external and pixel arrays from ia32 to ARM.
Review URL: http://codereview.chromium.org/993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 23 Mar 2010 13:36:38 +0000 (13:36 +0000)]
Mark all loop conditions.
Previously we marked compare operations that occurred as for loop
conditions so as to avoid inlining the floating-point code for them.
Begin marking all expressions that occur as any loop condition
(because they are never dead code).
Review URL: http://codereview.chromium.org/
1074009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 23 Mar 2010 13:11:44 +0000 (13:11 +0000)]
New GCCallbacks with additional parameters.
Author: Ilya Tikhonovsky <loislo@chromium.org>
Original issue: http://codereview.chromium.org/
1094002
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/
1165004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 23 Mar 2010 13:09:33 +0000 (13:09 +0000)]
Update Visual Studio project files.
Review URL: http://codereview.chromium.org/
1111011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 23 Mar 2010 13:01:37 +0000 (13:01 +0000)]
Add iterative primitive type analysis.
This change adds a data-flow pass to statically determine
if a variable contains a primitive type.
It requires building the flow graph and computing reaching
definitions as pre-requisites. The analysis annotates all
VariableProxy nodes with the result.
Review URL: http://codereview.chromium.org/
1132005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Tue, 23 Mar 2010 12:48:42 +0000 (12:48 +0000)]
Modify FastD2I to use static_cast instead of lrint(). Benchmarks show that it's much faster this way.
Review URL: http://codereview.chromium.org/
1128010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 23 Mar 2010 12:42:47 +0000 (12:42 +0000)]
Fix issue 658: update test-log-stack-tracer after r4211.
It appears that semi-automatic changes made to test's code were
incorrect. v8::Script::Compile returns wrapped JSFunction,
not SharedFunctionInfo.
Review URL: http://codereview.chromium.org/
1169002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 23 Mar 2010 12:36:41 +0000 (12:36 +0000)]
Remove the last of the obsolete *-delay.js files. This one
is replaced by src/liveedit-debugger.js.
Review URL: http://codereview.chromium.org/
1158005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 23 Mar 2010 12:36:31 +0000 (12:36 +0000)]
Inline floating point compare
Inline floating point compare instead of calling the stub when the following conditions are met:
* Code is in a loop
* Compare is not a for loop condition
* Compare is not an equal comparison
This inlined code handles heap number to heap number and heap number to smi compare. It can also handle smi to smi compare, but whenever there is a chance of comparing two smis the smi compare is inlined before the inlined floating point compare. Support for non SSE2 hardware is included.
A new set of variants of the compare stub without the floating point comparison code is called if the inline comapre fails due to the operands not beeing heap numbers or smis.
The virtual frame has been extended with a branch taking two live results to be carried through to the destination. This makes this change much simpler as the inlined code have two live results in registers and a number of bailouts.
CompareStub::GetName needs to be updated as well. I will do that as a separate change.
Also inlined equality check if both operands can't be NaN. This can only provide positive equals if it is the same object.
Review URL: http://codereview.chromium.org/
1117011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 23 Mar 2010 12:31:52 +0000 (12:31 +0000)]
Bring back source line accidentally removed in r4217.
Review URL: http://codereview.chromium.org/
1153008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 23 Mar 2010 12:23:15 +0000 (12:23 +0000)]
Fix issue 658 by adapting the d8.cc code to the new types of
scripts (either a JSFunction or a SharedFunctionInfo).
Review URL: http://codereview.chromium.org/
1077010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4218
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 23 Mar 2010 11:40:38 +0000 (11:40 +0000)]
Merge the partial_snapshots branch back into bleeding_edge. For
now, the custom call generator stuff is disabled.
Review URL: http://codereview.chromium.org/
1094014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 23 Mar 2010 07:14:25 +0000 (07:14 +0000)]
Fix issue 656 on ARM.
TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/
1117010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 23 Mar 2010 06:58:48 +0000 (06:58 +0000)]
Fix issue 656 on x64.
TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/
1081014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 23 Mar 2010 06:40:29 +0000 (06:40 +0000)]
Fix issue 656 on x86.
TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/
1159004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Tue, 23 Mar 2010 06:04:44 +0000 (06:04 +0000)]
- Remove function boilerplate objects and use SharedFunctionInfos in
their place.
- Add one field to the SharedFunctionInfo to remember the number of
literals used in this function.
Review URL: http://codereview.chromium.org/669240
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 22 Mar 2010 14:31:28 +0000 (14:31 +0000)]
Use bit fields to calculate compare stub minor key
Review URL: http://codereview.chromium.org/
1081010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 22 Mar 2010 14:23:45 +0000 (14:23 +0000)]
Add multithreading test for SamplingCircularQueue, fix implementation.
This is for the case of Linux, where sampling is done using SIGPROF
signal handler which is executed in the context of an interrupted
thread. In this case, my previous implementation with TLS doesn't
work.
Review URL: http://codereview.chromium.org/
1138004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4207
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 22 Mar 2010 14:07:18 +0000 (14:07 +0000)]
Include initial definitions in reaching definitions analysis.
Include the initial definitions for parameters on input to the
function, and the initial definition of stack-allocated locals as
undefined.
Review URL: http://codereview.chromium.org/
1155006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4206
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 22 Mar 2010 13:21:32 +0000 (13:21 +0000)]
Loop peeling for inner loops.
This change adds the option to peel off the first iteration of inner loops.
Loop peeling is off by default and can enabled by a flag. It also requires building a flow graph.
As part of this I added the possibility to clone AST nodes.
Review URL: http://codereview.chromium.org/998001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 22 Mar 2010 12:19:18 +0000 (12:19 +0000)]
Prepare push to trunk. Now working on version 2.1.8.
Review URL: http://codereview.chromium.org/
1164001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 22 Mar 2010 12:16:11 +0000 (12:16 +0000)]
Revert change 4201.
Review URL: http://codereview.chromium.org/
1113007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 22 Mar 2010 11:55:12 +0000 (11:55 +0000)]
Fix code generation for fast smi loops to support parameters as well.
This change fixes an assert we hit when we recognized a fast smi loop
with a parameter as the loop variable.
BUG=650
Review URL: http://codereview.chromium.org/
1138003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kaznacheev@chromium.org [Mon, 22 Mar 2010 11:07:22 +0000 (11:07 +0000)]
Porting binary op ICs to arm
Review URL: http://codereview.chromium.org/883001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4201
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Sun, 21 Mar 2010 00:23:03 +0000 (00:23 +0000)]
Fix broken build: disable stale assert
Review URL: http://codereview.chromium.org/
1094008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Sat, 20 Mar 2010 22:37:15 +0000 (22:37 +0000)]
Explicitly declare temporary cooked frames state
Review URL: http://codereview.chromium.org/995006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4199
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 19 Mar 2010 14:05:11 +0000 (14:05 +0000)]
Implement function calls on ARM using the blx instruction when
available. Using blx will allow the CPU to predict the return address
fo the function, resulting in better overall performamce.
This is a copy of http://codereview.chromium.org/
1113002 by
rodolph.perfetta@googlemail.com
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 19 Mar 2010 13:51:01 +0000 (13:51 +0000)]
Add a few tests to ProfilerEventsProcessor.
Review URL: http://codereview.chromium.org/
1084009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 19 Mar 2010 13:49:28 +0000 (13:49 +0000)]
Really fix ARM build (this time verified locally.)
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/
1154001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4196
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 19 Mar 2010 13:07:43 +0000 (13:07 +0000)]
Fix ARM build (GCC 3 'all member functions in class are private' warning.)
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/
1084010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4195
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 19 Mar 2010 12:54:35 +0000 (12:54 +0000)]
Remove unused LivenessAnalyzer class.
Also remove unused attributes related to it from the ast.
Review URL: http://codereview.chromium.org/
1117003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 19 Mar 2010 12:53:55 +0000 (12:53 +0000)]
Fix presubmit errors.
I will lint my code, I will lint my code, I will lint my code. :)
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/
1115007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4193
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 19 Mar 2010 12:26:45 +0000 (12:26 +0000)]
Port number-dictionary probing in generated code to x64.
BUG=640
Review URL: http://codereview.chromium.org/
1113001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4192
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Fri, 19 Mar 2010 12:15:24 +0000 (12:15 +0000)]
Rename files containing underscores.
Review URL: http://codereview.chromium.org/
1102002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4191
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 19 Mar 2010 12:01:17 +0000 (12:01 +0000)]
Refactoring of RegExp interface to better support calling several times in a row.
Review URL: http://codereview.chromium.org/
1114001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 19 Mar 2010 09:46:53 +0000 (09:46 +0000)]
Add basic C++ implementation of CPU profiler.
Review URL: http://codereview.chromium.org/
1079006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 19 Mar 2010 08:00:52 +0000 (08:00 +0000)]
Add parens to DateYMDFromTimeSlow to clearify.
BUG=649
Review URL: http://codereview.chromium.org/
1132002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 19 Mar 2010 07:43:03 +0000 (07:43 +0000)]
Add debug code assertions where we expect smi inputs.
Review URL: http://codereview.chromium.org/998007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Thu, 18 Mar 2010 22:15:54 +0000 (22:15 +0000)]
Show file name/line number in stack trace
Review URL: http://codereview.chromium.org/
1002010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4186
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 18 Mar 2010 14:32:02 +0000 (14:32 +0000)]
Fix bug when generating a fast smi loop.
We may encounter an invalid frame after generating code
for the loop body in case the loop body ends in an unconditional
return. Before setting the type information for the loop variable
we need to check for a valid frame.
Review URL: http://codereview.chromium.org/
1106002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4182
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Thu, 18 Mar 2010 13:19:59 +0000 (13:19 +0000)]
Rename grisu to fast-dtoa. Get rid of template.
Review URL: http://codereview.chromium.org/
1032007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Thu, 18 Mar 2010 13:00:57 +0000 (13:00 +0000)]
Improve Math.round(). Fix the bug in r4146. Further improve performance by checking the exponent instead of comparing doubles. Add several tests for numbers near the limits of SMI and several tests from WebKit.
Review URL: http://codereview.chromium.org/
1008004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kaznacheev@chromium.org [Thu, 18 Mar 2010 11:54:53 +0000 (11:54 +0000)]
Porting binary op ICs to x64.
Review URL: http://codereview.chromium.org/845002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 18 Mar 2010 10:01:53 +0000 (10:01 +0000)]
Update number info for count operations.
If the input of a ++ or -- operation is a smi, the
result is an Integer32. Otherwise it is a number.
Review URL: http://codereview.chromium.org/
1075004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 18 Mar 2010 09:38:30 +0000 (09:38 +0000)]
Fix windows build again: one more memchr call.
Review URL: http://codereview.chromium.org/
1109001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 18 Mar 2010 09:27:15 +0000 (09:27 +0000)]
Fix windows build.
On windows memchr returns const void* instead of void*.
Review URL: http://codereview.chromium.org/
1074003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4175
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 18 Mar 2010 09:08:24 +0000 (09:08 +0000)]
Add test cases for fast smi loops.
Review URL: http://codereview.chromium.org/
1014007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 18 Mar 2010 09:01:08 +0000 (09:01 +0000)]
String search performance improvements:
* Using memchr for first/only char lookup is faster than hand-coded
loop. It processes one machine word per iteration so it helps even
more on x64.
* Tweaked badness computation in simple search. We pay only for the
first char memchr scans, not for all of them.
Review URL: http://codereview.chromium.org/
1100002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4173
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 17 Mar 2010 16:39:29 +0000 (16:39 +0000)]
Fix type propagation rules for count operation.
Also treat const-variables as not side-effect free.
Review URL: http://codereview.chromium.org/982009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
floitschV8@gmail.com [Wed, 17 Mar 2010 15:57:26 +0000 (15:57 +0000)]
Fix arm compilation. DiyFp multiplications are now in a separate procedure.
Review URL: http://codereview.chromium.org/971006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 17 Mar 2010 15:15:45 +0000 (15:15 +0000)]
Reenable ability to Dispose already Disposed Vector.
Review URL: http://codereview.chromium.org/
1016006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4170
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 17 Mar 2010 14:53:16 +0000 (14:53 +0000)]
Fix formatting around * and &.
Review URL: http://codereview.chromium.org/
1000007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4169
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 17 Mar 2010 14:42:01 +0000 (14:42 +0000)]
Properly release zero-length Vectors.
Review URL: http://codereview.chromium.org/987004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4168
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 17 Mar 2010 13:23:53 +0000 (13:23 +0000)]
Don't generate inline constructors if this.__proto__ is assigned.
BUG=http://code.google.com/p/v8/issues/detail?id=646
TEST=test/mjsunit/regress/regress-646.js
Review URL: http://codereview.chromium.org/
1023008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 17 Mar 2010 13:15:42 +0000 (13:15 +0000)]
Re-apply r4159 now with working test on x64
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/979005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 17 Mar 2010 13:08:58 +0000 (13:08 +0000)]
Prepare push to trunk. Now working on version 2.1.7.
Review URL: http://codereview.chromium.org/974005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4163
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 17 Mar 2010 13:04:07 +0000 (13:04 +0000)]
Revert r4159 because of x64 test failures.
Review URL: http://codereview.chromium.org/
1049003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 17 Mar 2010 12:46:17 +0000 (12:46 +0000)]
Prepare push to trunk. Now working on version 2.1.6.
Review URL: http://codereview.chromium.org/
1050002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 17 Mar 2010 12:27:32 +0000 (12:27 +0000)]
Fix excessive stack usage by compiler due to local in recursive scope.
Review URL: http://codereview.chromium.org/
1019006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 17 Mar 2010 12:25:10 +0000 (12:25 +0000)]
Implement circular queues for the C++ version of CPU profiler.
Circular queues serve as a transport for communicating between
VM, stack sampler and analyzer threads. Logging requirements
for VM and stack sampler are completely different, that's why
I introduced two different versions of CQs.
Review URL: http://codereview.chromium.org/
1047002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4159
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 17 Mar 2010 10:28:44 +0000 (10:28 +0000)]
Make the C++ tests run without SSE2 support.
Review URL: http://codereview.chromium.org/982007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4158
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 17 Mar 2010 10:23:06 +0000 (10:23 +0000)]
Fix a bug in the regexp caching. Also add a few more places to
cache. We now cache most of the places where Opera cache and
one or two where they do not cache for some reason. Since
these optimizations aren't necessarily useful on real code we
may remove them if and when the Dromaeo website makes the
benchmarks harder to game.
Review URL: http://codereview.chromium.org/995005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 17 Mar 2010 09:58:28 +0000 (09:58 +0000)]
Revert r4146. Add a special case in Math.round for a SMI result. Also change the imp...
TBR=ager@chromium.org,
Review URL: http://codereview.chromium.org/
1042006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 17 Mar 2010 09:49:03 +0000 (09:49 +0000)]
Fix bug in propagation of type information into registers.
The number type information of results has to be also copied when
calling ToRegister with a fixed register as destination.
Also fix an unbound label and a missing CpuFeatures scope.
Review URL: http://codereview.chromium.org/987003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 17 Mar 2010 09:40:54 +0000 (09:40 +0000)]
Restore code.google.com/p/v8/source/detail?r=4151 fixing a typo:
index
d545c34..
91cb151 100644
--- a/src/builtins.cc
+++ b/src/builtins.cc
@@ -738,7 +738,7 @@ BUILTIN(ArrayConcat) {
int result_len = 0;
for (int i = 0; i < n_arguments; i++) {
Object* arg = args[i];
- if (!arg->IsJSArray() || JSArray::cast(arg)->HasFastElements()) {
+ if (!arg->IsJSArray() || !JSArray::cast(arg)->HasFastElements()) {
return CallJsBuiltin("ArrayConcat", args);
}
This reverts 4153.
# Please enter the commit message for your changes. Lines starting
Review URL: http://codereview.chromium.org/
1055003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 17 Mar 2010 09:13:39 +0000 (09:13 +0000)]
Revert "More generic version of Array.concat builtin."
Review URL: http://codereview.chromium.org/
1058003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 17 Mar 2010 08:53:21 +0000 (08:53 +0000)]
Remove handle scope that caused debug mode assertion failures
because a handle was returned out of the destroyed scope.
Review URL: http://codereview.chromium.org/
1029003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 17 Mar 2010 08:30:07 +0000 (08:30 +0000)]
More generic version of Array.concat builtin.
Review URL: http://codereview.chromium.org/
1036002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 17 Mar 2010 08:14:59 +0000 (08:14 +0000)]
Keep more track of whether code is from the built
in .js files in V8. This change gets bleeding edge
a tiny bit closer to the partial snapshots branch.
Review URL: http://codereview.chromium.org/
1052003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Tue, 16 Mar 2010 23:15:10 +0000 (23:15 +0000)]
Non-ASCII sybmols made their way into JS comments
Review URL: http://codereview.chromium.org/984005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 16 Mar 2010 16:07:19 +0000 (16:07 +0000)]
Use untagged int32 values in evaluation of side-effect free expressions.
Review URL: http://codereview.chromium.org/975001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 16 Mar 2010 16:03:40 +0000 (16:03 +0000)]
Fix bug in the count operation where we statically know the input is a smi.
Even if we know that the input to a count operation is a smi we still need to check if the result overflowed (and becomes a heap number).
Also fix the smi loop analysis to take two border cases correctly into account.
Review URL: http://codereview.chromium.org/
1040002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Tue, 16 Mar 2010 13:23:41 +0000 (13:23 +0000)]
Add a special case in Math.round for a SMI result. Also change the implementation for non-SMI case.
Review URL: http://codereview.chromium.org/981002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 16 Mar 2010 12:30:04 +0000 (12:30 +0000)]
Add heuristic for flattening strings before comparing them.
Also switched to using CompareChars instead of memcmp since it's
faster than gcc's builtin and on par with msvc's builtin.
Review URL: http://codereview.chromium.org/991002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 16 Mar 2010 12:20:52 +0000 (12:20 +0000)]
Take ARM big-endian floating point numbers into account in FastD2UI.
Review URL: http://codereview.chromium.org/996004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 16 Mar 2010 10:54:02 +0000 (10:54 +0000)]
Propagate reaching definitions to the instuctions of a block.
After computing RD_in for all flow graph nodes, push the reaching
definitions through the basic blocks to annotate all variable
references in the AST.
Review URL: http://codereview.chromium.org/889003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 16 Mar 2010 10:38:17 +0000 (10:38 +0000)]
Fix, again, assertion so that it also compiles on Mac.
Review URL: http://codereview.chromium.org/993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 16 Mar 2010 09:56:06 +0000 (09:56 +0000)]
Fix bad use of OffsetFrom that fails on ARM (sizeof(Object) wasn't 1).
Review URL: http://codereview.chromium.org/
1043001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 16 Mar 2010 09:10:11 +0000 (09:10 +0000)]
Fix build problem on arm compiler.
Review URL: http://codereview.chromium.org/975005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Mon, 15 Mar 2010 21:06:51 +0000 (21:06 +0000)]
LiveEdit: patch positions in function
Review URL: http://codereview.chromium.org/914003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 15 Mar 2010 17:11:08 +0000 (17:11 +0000)]
Port of string plus smi optimization from ia32 to x64 and ARM.
Review URL: http://codereview.chromium.org/668254
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4138
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
oleg@chromium.org [Mon, 15 Mar 2010 17:04:07 +0000 (17:04 +0000)]
Review URL: http://codereview.chromium.org/968001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4137
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 15 Mar 2010 15:27:11 +0000 (15:27 +0000)]
Converted String.prototype.split with string to C++.
Review URL: http://codereview.chromium.org/875001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4134
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Mon, 15 Mar 2010 15:16:04 +0000 (15:16 +0000)]
Just grow elements if they happen to be at the edge of new space.
Review URL: http://codereview.chromium.org/945002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4133
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 15 Mar 2010 14:24:37 +0000 (14:24 +0000)]
Added fast case for shift operations when the left parameter is a double and we know that the right parameter is a smi.
Review URL: http://codereview.chromium.org/955001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4132
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 15 Mar 2010 14:11:19 +0000 (14:11 +0000)]
Start migrating profiles processing to C++.
Adding code for maintaining (address -> name) mapping and building
call trees.
Review URL: http://codereview.chromium.org/910002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4131
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 15 Mar 2010 14:03:36 +0000 (14:03 +0000)]
Add static analysis to AST expressions that records whether a negative zero will be treated identically to a positive zero in the expression's context. Use this flag to avoid some tests in inlined smi code.
Review URL: http://codereview.chromium.org/965001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4130
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Mon, 15 Mar 2010 10:52:38 +0000 (10:52 +0000)]
Add Array.concat builtin for the most common case.
Review URL: http://codereview.chromium.org/954001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4129
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 15 Mar 2010 10:14:59 +0000 (10:14 +0000)]
Optimized Array.prototype.{lastIndexOf,indexOf} by special casing comparison to undefined.
Review URL: http://codereview.chromium.org/851008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 15 Mar 2010 10:04:34 +0000 (10:04 +0000)]
Prepare push of version 2.1.4 to trunk.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/961001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 12 Mar 2010 18:27:31 +0000 (18:27 +0000)]
Some cosmetic issues.
Review URL: http://codereview.chromium.org/903004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4122
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 12 Mar 2010 16:54:35 +0000 (16:54 +0000)]
Remove now obsolete comment.
Now builtins only process fast case when there is no need to lift elements from
the prototypes.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/890004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 12 Mar 2010 15:01:05 +0000 (15:01 +0000)]
Only invoke reaching definitions if there are >0 variables and >0 definitions.
Review URL: http://codereview.chromium.org/885004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 12 Mar 2010 14:06:04 +0000 (14:06 +0000)]
Simple bugfix in reaching definitions.
We only track definitions of stack-allocated variables. Trying to
look up other variables in the environment is a bug.
Review URL: http://codereview.chromium.org/843006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 12 Mar 2010 13:45:31 +0000 (13:45 +0000)]
Implement a custom call compiler for Array.pop.
Review URL: http://codereview.chromium.org/870007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00