platform/upstream/v8.git
13 years agoMinor optimization in regexp parse.
sandholm@chromium.org [Mon, 20 Dec 2010 10:44:41 +0000 (10:44 +0000)]
Minor optimization in regexp parse.
Review URL: http://codereview.chromium.org/6014002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years ago1. Added support for object printing for release mode using the
sgjesse@chromium.org [Mon, 20 Dec 2010 10:38:19 +0000 (10:38 +0000)]
1. Added support for object printing for release mode using the
   objectprint=on (defaults to off) option (which defines OBJECT_PRINT).
2. Added the ability to print objects to a specified file instead of
   just stdout.
3. Added a use_verbose_printer flag (true by default) to allow some
   object printouts to be less verbose when the flag is false.
4. Fixed a bug in VSNPrintF() where it can potentially write into an
   empty char vector.

Patch by Mark Lam from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/5998001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix smi-comparison to use correct macros in X64-SwapElements.
lrn@chromium.org [Mon, 20 Dec 2010 09:38:56 +0000 (09:38 +0000)]
Fix smi-comparison to use correct macros in X64-SwapElements.

Review URL: http://codereview.chromium.org/5967002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove the atomic/thread safe stuff from the chunk table, since we don't
erik.corry@gmail.com [Fri, 17 Dec 2010 14:50:24 +0000 (14:50 +0000)]
Remove the atomic/thread safe stuff from the chunk table, since we don't
use cross thread synchronization in Crankshaft.
Review URL: http://codereview.chromium.org/5979001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoExtend code printing:
vitalyr@chromium.org [Fri, 17 Dec 2010 14:16:00 +0000 (14:16 +0000)]
Extend code printing:

o Add --print-unopt-code to print unoptimized code before printing
  optimized code based on it. This is useful to see the states of ICs
  and the effects of code patching.

o Use debug function names in disassembly output.

Review URL: http://codereview.chromium.org/5959003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMark map-transition stores as map-changing instructions.
fschneider@chromium.org [Fri, 17 Dec 2010 13:44:19 +0000 (13:44 +0000)]
Mark map-transition stores as map-changing instructions.

This prevents code motion from hoisting map-checks across such stores
which may result in unnecessary deoptimizations.

In the following example program we would move a map-check from the inner loop out before the outer loop which is not desirable:

function f() {
  var o = {};
  var j = 0;
  o.a = 1;
  do {
    o.b = 6;  // Map transition
    for (var i=0; i<10; i++) {
       o.a = o.b + i;
    }
  } while(++j < 1) {}
}

for (var i = 0; i < 1000000; i++) f();

Review URL: http://codereview.chromium.org/5991001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoWhen setting property on a context extension object do not inherit the
ager@chromium.org [Fri, 17 Dec 2010 13:04:53 +0000 (13:04 +0000)]
When setting property on a context extension object do not inherit the
attributes from an existing property on a prototype object.

Review URL: http://codereview.chromium.org/5995002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdding Date::ResetCache() API so that the cache values in the Date object
sgjesse@chromium.org [Fri, 17 Dec 2010 12:45:27 +0000 (12:45 +0000)]
Adding Date::ResetCache() API so that the cache values in the Date object
can be reset to allow DST / timezone changes to be re-cached and reflected
in the Date object.

Patch by Mark Lam from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/5978001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAllow rapid socket reuse on POSIX platforms.
vitalyr@chromium.org [Fri, 17 Dec 2010 12:31:42 +0000 (12:31 +0000)]
Allow rapid socket reuse on POSIX platforms.

Review URL: http://codereview.chromium.org/5990001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImprove regexp split, replace and test.
sandholm@chromium.org [Fri, 17 Dec 2010 11:57:10 +0000 (11:57 +0000)]
Improve regexp split, replace and test.
Review URL: http://codereview.chromium.org/5959002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAvoid comparing a pointer-to-member to NULL, even though C++ is supposed to support it.
whesse@chromium.org [Fri, 17 Dec 2010 11:52:10 +0000 (11:52 +0000)]
Avoid comparing a pointer-to-member to NULL, even though C++ is supposed to support it.
Review URL: http://codereview.chromium.org/5988001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange quicksort pivot from random to median-of-three.
lrn@chromium.org [Fri, 17 Dec 2010 10:06:11 +0000 (10:06 +0000)]
Change quicksort pivot from random to median-of-three.

Tweak quicksort bailout parameter to minimize time.

Review URL: http://codereview.chromium.org/5962003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd a couple of missing includes.
erik.corry@gmail.com [Fri, 17 Dec 2010 08:58:04 +0000 (08:58 +0000)]
Add a couple of missing includes.
Review URL: http://codereview.chromium.org/5899001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPrepare push to trunk. Now working on version 3.0.4.
ager@chromium.org [Fri, 17 Dec 2010 08:24:54 +0000 (08:24 +0000)]
Prepare push to trunk. Now working on version 3.0.4.

Also fix files because of missing prepare for push of version 3.0.2
which was pushed directly.

Review URL: http://codereview.chromium.org/5962002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix 'Optimizations' typo in gyp file.
ager@chromium.org [Fri, 17 Dec 2010 07:52:20 +0000 (07:52 +0000)]
Fix 'Optimizations' typo in gyp file.

BUG=http://code.google.com/p/v8/issues/detail?id=998
Review URL: http://codereview.chromium.org/5970001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoReduce number of iterations in new regression test, this times out on arm and the...
ricow@chromium.org [Fri, 17 Dec 2010 07:23:06 +0000 (07:23 +0000)]
Reduce number of iterations in new regression test, this times out on arm and the regression is hit with an order of magnitude less iterations.

Review URL: http://codereview.chromium.org/5963001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoSupport loading constant functions in hydrogen.
vitalyr@chromium.org [Thu, 16 Dec 2010 22:30:53 +0000 (22:30 +0000)]
Support loading constant functions in hydrogen.

Review URL: http://codereview.chromium.org/5878004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix bugs in the range analysis for integers.
fschneider@chromium.org [Thu, 16 Dec 2010 18:01:36 +0000 (18:01 +0000)]
Fix bugs in the range analysis for integers.

The overflow conditions were not correctly detected for
certain add, sub and mul instructions.

I replaced the previous code by using 64-bit arithmetic
to correctly identify overflows for *, + and -.

Review URL: http://codereview.chromium.org/5860009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUse near labels in write barrier code.
vitalyr@chromium.org [Thu, 16 Dec 2010 17:45:26 +0000 (17:45 +0000)]
Use near labels in write barrier code.

Review URL: http://codereview.chromium.org/5939003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoEmit better code when pushing a constant.
vitalyr@chromium.org [Thu, 16 Dec 2010 16:56:45 +0000 (16:56 +0000)]
Emit better code when pushing a constant.

Review URL: http://codereview.chromium.org/5884003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoA number of instructions use GVN but do not provide a comparison
ager@chromium.org [Thu, 16 Dec 2010 15:40:02 +0000 (15:40 +0000)]
A number of instructions use GVN but do not provide a comparison
function for the data. This leads to wrong results where operations
are wrongly assumed to have the same value as a previous (different)
operation.

Provide the data comparison functions.

BUG=995

Review URL: http://codereview.chromium.org/5898003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix an issue discovered in regress-969.
kmillikin@chromium.org [Thu, 16 Dec 2010 14:18:41 +0000 (14:18 +0000)]
Fix an issue discovered in regress-969.

When running with 10 stress runs we get polymorphic stores.  This revealed
an incorrect bailout ID for the state following a polymorphic store.  The ID
should be the internal ID of the assignment side-effect, not the ID of the
end of the expression.

Review URL: http://codereview.chromium.org/5885003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd flag for running with a non standard number of stress-runs.
ricow@chromium.org [Thu, 16 Dec 2010 13:24:23 +0000 (13:24 +0000)]
Add flag for running with a non standard number of stress-runs.

This allows easy testing with more than 5/2 stress runs in
release/debug and will allow us to have a nightly run with e.g., 10
stress runs in debug mode.

Review URL: http://codereview.chromium.org/5903003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix issue 977, occasional failure of the DeltaBlue benchmark.
kmillikin@chromium.org [Thu, 16 Dec 2010 13:13:36 +0000 (13:13 +0000)]
Fix issue 977, occasional failure of the DeltaBlue benchmark.

Before, when we deoptimized after a branch we jumped to before the branch
was taken in the unoptimized code with a token value that indicated when
edge to take.  There was a lot of machinery to track this value through the
short-circuit logical operations and logical negation, and to handle it
properly at inline function return sites.  There was also machinery to
prevent incorrectly seeing this environment with the extra value never
actually materialized in the unoptimized code.

Instead, now we deoptimize directly to one of the targets of the branch.
Much but not yet all of the extra machinery has been removed or simplified.
The cost is that branching control structures (the looping statements, if
statements, conditional expressions, and the short-circuit binary logical
operations) need extra AST IDs to identify the branch targets.

Review URL: http://codereview.chromium.org/5908001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPerform more aggressive time to NaN conversions. Our internal date
ager@chromium.org [Thu, 16 Dec 2010 13:02:09 +0000 (13:02 +0000)]
Perform more aggressive time to NaN conversions. Our internal date
methods rely on the time values passed in being within a certain range
- not significantly larger than the the ECMA 262 specified time
range. When creating a time, always make it NaN if there is no way
that it can be within range even after UTC conversion.

Review URL: http://codereview.chromium.org/5905003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange DefaultString and DefaultNumber to match the spec required behavior.
lrn@chromium.org [Thu, 16 Dec 2010 12:49:55 +0000 (12:49 +0000)]
Change DefaultString and DefaultNumber to match the spec required behavior.

Previously it did two reads of the .toString and .valueOf properties where
only one was allowed.

Review URL: http://codereview.chromium.org/5950001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit errors
mikhail.naganov@gmail.com [Thu, 16 Dec 2010 12:26:04 +0000 (12:26 +0000)]
Fix presubmit errors

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange Object.defineProperty to accept undefined as getters and setters and to correc...
ricow@chromium.org [Thu, 16 Dec 2010 12:21:08 +0000 (12:21 +0000)]
Change Object.defineProperty to accept undefined as getters and setters and to correctly accept overriding an accessor with a data property.

In the past we only accepted functions as argument for setting an
accessor. Since one should be able to set an accessor to undefined
this had to be changed to take either.

In addition, we did not lookup properties in the prototype chain,
causing us to call the setter of an existing accessor up the prototype
chain when trying to replace an existing accessor (that was not local)
with a data property.

Review URL: http://codereview.chromium.org/5861006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake V8 compilable with profiling support turned off.
mikhail.naganov@gmail.com [Thu, 16 Dec 2010 12:14:56 +0000 (12:14 +0000)]
Make V8 compilable with profiling support turned off.

BUG=990

Review URL: http://codereview.chromium.org/5890003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix a SEGV in the register allocator.
fschneider@chromium.org [Thu, 16 Dec 2010 12:01:22 +0000 (12:01 +0000)]
Fix a SEGV in the register allocator.

This occasionally caused the regress-806 unit test to crash.

Review URL: http://codereview.chromium.org/5913002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoIA32: Optimize instanceof
sgjesse@chromium.org [Thu, 16 Dec 2010 08:58:42 +0000 (08:58 +0000)]
IA32: Optimize instanceof

The instanceoff stub now supports arguments in registers and checks for null,
smi and string values without going to runtime.

Needs porting to X64 and ARM.
Review URL: http://codereview.chromium.org/5828004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix evaluate with context debug protocol
peter.rybin@gmail.com [Wed, 15 Dec 2010 19:55:51 +0000 (19:55 +0000)]
Fix evaluate with context debug protocol

Review URL: http://codereview.chromium.org/5866002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix several register allocation issues revealed by fuzzer:
vegorov@chromium.org [Wed, 15 Dec 2010 18:13:02 +0000 (18:13 +0000)]
Fix several register allocation issues revealed by fuzzer:

- LIsObject had incorrect contraint for value input;
- Temporaries had incorrect lifetime intervals;
- Live ranges for live_out values was not covering the whole block.

Review URL: http://codereview.chromium.org/5899002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoDeoptimize non-smi switch cases if they are reached.
vitalyr@chromium.org [Wed, 15 Dec 2010 17:11:11 +0000 (17:11 +0000)]
Deoptimize non-smi switch cases if they are reached.

This way if the type oracle says an unreachable clause has a non-smi
type, we can still emit optimized code instead of doing an early
bailout.

This change depends of Florian's r5970.

Review URL: http://codereview.chromium.org/5812005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix compilation on x64.
kmillikin@chromium.org [Wed, 15 Dec 2010 16:37:17 +0000 (16:37 +0000)]
Fix compilation on x64.

TBR=ager@chromium.org

Review URL: http://codereview.chromium.org/5873003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix issue 974.
kmillikin@chromium.org [Wed, 15 Dec 2010 16:14:29 +0000 (16:14 +0000)]
Fix issue 974.

When entering a finally block in unoptimized code, we unconditionally
save the accumulator register in the stack in case it holds a return
value or an exception.  In the case of a break, continue, or falling
off the end of the try or catch block, this value is unpredictable and
not necessarily safe for GC.

Review URL: http://codereview.chromium.org/5883003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoEmit a load of the elements array only before the first store.
fschneider@chromium.org [Wed, 15 Dec 2010 16:12:55 +0000 (16:12 +0000)]
Emit a load of the elements array only before the first store.

This avoid emitting the load for empty and constant array literals.

Review URL: http://codereview.chromium.org/5697006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMark TranscendentalCacheSSE2Stub as allowing internal stub calls. Mark pextrd instru...
whesse@chromium.org [Wed, 15 Dec 2010 16:10:13 +0000 (16:10 +0000)]
Mark TranscendentalCacheSSE2Stub as allowing internal stub calls.  Mark pextrd instruction as requiring SSE 4.1.
Review URL: http://codereview.chromium.org/5901001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix deoptimization from %_MathPow. Do not prepare the stack for a C
ager@chromium.org [Wed, 15 Dec 2010 15:25:53 +0000 (15:25 +0000)]
Fix deoptimization from %_MathPow. Do not prepare the stack for a C
call and then bailout without performing the call.

In order to not duplicate code, convert both heap number and smi to a
double in an xmm register if possible. Then setup the stack and call
the C function.

BUG=http://code.google.com/p/v8/issues/detail?id=986

Review URL: http://codereview.chromium.org/5900001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix issue 982.
vegorov@chromium.org [Wed, 15 Dec 2010 14:35:46 +0000 (14:35 +0000)]
Fix issue 982.

When splitting at the beginning of a use interval assign coinciding position to the split child instead of leaving it to parent.

BUG=v8:982

Review URL: http://codereview.chromium.org/5898001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoSecond attempt: Improve our type feedback by recogizining never-executed IC calls...
fschneider@chromium.org [Wed, 15 Dec 2010 13:56:41 +0000 (13:56 +0000)]
Second attempt: Improve our type feedback by recogizining never-executed IC calls for binary operations.

This is an improved version of my earlier change r5970. It avoids degrading the
non-optimized code.

Initially we emit a conditional branch that is either always- or never-taken
after a smi-check (depending on whether we test for smi for for non-smi)
Since test-eax always sets the carry-flag to 0 we use jump-if-carry and
jump-if-not-carry.

The first invocation of the stub patches a jc with a jz and
jnc with a jnz-instruction so that the code looks exactly as it was
without patching. The only difference is the test- or nop-instruction
after the IC-call.

Review URL: http://codereview.chromium.org/5763004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix ES5 failure after removing Number/String/Boolean.prototype.toJSON.
lrn@chromium.org [Wed, 15 Dec 2010 12:39:18 +0000 (12:39 +0000)]
Fix ES5 failure after removing Number/String/Boolean.prototype.toJSON.

The failure is that we no longer fail the tests.

Review URL: http://codereview.chromium.org/5896001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoSupport %_IsObject in Crankshaft.
erik.corry@gmail.com [Wed, 15 Dec 2010 12:32:19 +0000 (12:32 +0000)]
Support %_IsObject in Crankshaft.
Review URL: http://codereview.chromium.org/5806001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix issue 979.
kmillikin@chromium.org [Wed, 15 Dec 2010 11:47:05 +0000 (11:47 +0000)]
Fix issue 979.

The issue is caused when deoptimizing to an internal AST ID in a
postfix increment or decrement operation on variable.  This could
happen for a global variable.  In that case, the optimized code was
not properly simulating an extra stack slot in the unoptimized code to
hold the original value.

Review URL: http://codereview.chromium.org/5871002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit error.
karlklose@chromium.org [Wed, 15 Dec 2010 11:43:35 +0000 (11:43 +0000)]
Fix presubmit error.

Review URL: http://codereview.chromium.org/5891001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd array bound checks to code generated for SwapElements. This fixes a bug that...
karlklose@chromium.org [Wed, 15 Dec 2010 09:52:58 +0000 (09:52 +0000)]
Add array bound checks to code generated for SwapElements. This fixes a bug that lead to a segfault when an array was modified while it was sorted.

Review URL: http://codereview.chromium.org/5686006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix regression in JSON serialization of RegExps.
lrn@chromium.org [Wed, 15 Dec 2010 09:31:05 +0000 (09:31 +0000)]
Fix regression in JSON serialization of RegExps.
Tweaks to the serialization.

Review URL: http://codereview.chromium.org/5676005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd some missing includes and other minor changes intended to keep
erik.corry@gmail.com [Wed, 15 Dec 2010 08:07:27 +0000 (08:07 +0000)]
Add some missing includes and other minor changes intended to keep
the distance between bleeding edge and the gc branch minimal.
Review URL: http://codereview.chromium.org/5788002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoLanding for Martin Maly.
ager@chromium.org [Wed, 15 Dec 2010 07:47:35 +0000 (07:47 +0000)]
Landing for Martin Maly.

Update the XCode project file.

Updating the Xcode project after crankshaft landed.

Codereview URL: http://codereview.chromium.org/5834001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUpdate test expectations for ARM crankshaft build.
ager@chromium.org [Wed, 15 Dec 2010 07:46:22 +0000 (07:46 +0000)]
Update test expectations for ARM crankshaft build.
Review URL: http://codereview.chromium.org/5813002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMerge math function ids and custom call generator ids.
vitalyr@chromium.org [Tue, 14 Dec 2010 18:53:48 +0000 (18:53 +0000)]
Merge math function ids and custom call generator ids.

Two old id types are replaced by builtin function ids. We can use
these in the code generators to emit custom code for the selected
functions.

Review URL: http://codereview.chromium.org/5767002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAPI: Correct documentation of String::WriteUtf8, String::Write
erik.corry@gmail.com [Tue, 14 Dec 2010 13:21:46 +0000 (13:21 +0000)]
API: Correct documentation of String::WriteUtf8, String::Write
and String::WriteAscii and add test.  Correct implementation of
String::Write, fixing bug 975 (the patch in that bug was not
used, however).
Review URL: http://codereview.chromium.org/5718005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoReapply change 5989, adding untagged double calls to Math.pow, with problem in genera...
whesse@chromium.org [Tue, 14 Dec 2010 13:21:29 +0000 (13:21 +0000)]
Reapply change 5989, adding untagged double calls to Math.pow, with problem in generated code for TranscendentalCacheSSE2Stub (unguarded SSE 4.1 code) fixed.
Review URL: http://codereview.chromium.org/5726008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoDon't run mjsunit/compiler/regress-funcaller in debug mode.
ricow@chromium.org [Tue, 14 Dec 2010 13:15:28 +0000 (13:15 +0000)]
Don't run mjsunit/compiler/regress-funcaller in debug mode.

This test takes 12+ minutes to run on the windows slaves. In addition,
the regression is hit in release mode on the code prior to the fix for
this.

Review URL: http://codereview.chromium.org/5701006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPostpone interrupts during marking garbage collection. This allows the check for...
whesse@chromium.org [Tue, 14 Dec 2010 11:48:42 +0000 (11:48 +0000)]
Postpone interrupts during marking garbage collection.  This allows the check for C stack overflow to function correctly.
Review URL: http://codereview.chromium.org/5685010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix assignment compilation bug on ARM and x64.
kmillikin@chromium.org [Tue, 14 Dec 2010 09:47:28 +0000 (09:47 +0000)]
Fix assignment compilation bug on ARM and x64.

SVN revision 5993 ported changes to the unoptimizing compiler from
ia32 to ARM and x64.  A call to AstContext::Plug was moved out of
FullCodeGenerator::EmitVariableAssignment and into the callers.  One
call site was missed in both ports.

Review URL: http://codereview.chromium.org/5781008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoDisable mjsunit/regress/regress-create-exception in debug mode.
ricow@chromium.org [Tue, 14 Dec 2010 08:55:57 +0000 (08:55 +0000)]
Disable mjsunit/regress/regress-create-exception in debug mode.

This test takes a very long time to run in debug mode. This test alone
is causing 10+ minutes of cycle time on the windows debug bots (and the
same in CPU runtime on all slaves!).

Review URL: http://codereview.chromium.org/5748006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agomjsunit/regress/regress-3247124 takes a long time to run, and the original regression...
ricow@chromium.org [Tue, 14 Dec 2010 08:29:33 +0000 (08:29 +0000)]
mjsunit/regress/regress-3247124 takes a long time to run, and the original regression is hit
with two orders of magnitude less iterations.

Review URL: http://codereview.chromium.org/5822001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoInitial attempt to add support for using gyp to build V8 itself
sgjesse@chromium.org [Tue, 14 Dec 2010 08:16:39 +0000 (08:16 +0000)]
Initial attempt to add support for using gyp to build V8 itself

This is based on the structore used in chromium with a script wrapping the call to gyp itself and the default processing of common.gypi.

It is possible to build all our targets on Intel Linux for all architectures (ia32, x64 and ARM simulator). When this is committed I wil take a look at Windows.

See the README.txt file in the changelist for the current way of using it.
Review URL: http://codereview.chromium.org/5701001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange the number of iterations in mjsunit/regress-962
ricow@chromium.org [Tue, 14 Dec 2010 07:57:14 +0000 (07:57 +0000)]
Change the number of iterations in mjsunit/regress-962

This test causes the arm simulator to timeout, and the test reveals
the original problem with three orders of magnitude less iterations.

Review URL: http://codereview.chromium.org/5678007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoIntroduce additional context to evaluate operations
peter.rybin@gmail.com [Tue, 14 Dec 2010 00:07:44 +0000 (00:07 +0000)]
Introduce additional context to evaluate operations

Review URL: http://codereview.chromium.org/5733001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPrepare push to trunk. Now working on version 3.0.2.
kmillikin@chromium.org [Mon, 13 Dec 2010 17:50:29 +0000 (17:50 +0000)]
Prepare push to trunk.  Now working on version 3.0.2.

Review URL: http://codereview.chromium.org/5763002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix ARM and x64 compilation.
kmillikin@chromium.org [Mon, 13 Dec 2010 17:49:55 +0000 (17:49 +0000)]
Fix ARM and x64 compilation.

Fix compilation on ARM and x64 due to a change in the architecture-shared
API of the nonoptimizing code generator.  Also added new PrepareForBailout
to ARM (they are not yet fully implemented on x64).

Review URL: http://codereview.chromium.org/5794002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRename regression test and reenable disabled test.
kmillikin@chromium.org [Mon, 13 Dec 2010 16:52:04 +0000 (16:52 +0000)]
Rename regression test and reenable disabled test.

The regression test for v8 issue 969 was committed with the wrong file
name.  Also reenable a test that was disabled due to that issue.

Review URL: http://codereview.chromium.org/5707008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert change 5989, which causes failures in some benchmarks.
whesse@chromium.org [Mon, 13 Dec 2010 16:34:59 +0000 (16:34 +0000)]
Revert change 5989, which causes failures in some benchmarks.
Review URL: http://codereview.chromium.org/5804003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoDeoptimize to the proper target after assignment side effects.
kmillikin@chromium.org [Mon, 13 Dec 2010 16:29:47 +0000 (16:29 +0000)]
Deoptimize to the proper target after assignment side effects.

This fixes V8 issue 989.

Before, assignments used the AST ID of the assignment expression to
mark the side effect of the store, which became a target for
deoptimization bailout for code after the assignment.  In effect
contexts this environment included the value of the assignment, which
was unexpected by the unoptimized code.

Now we introduce a new assignment ID for AST node types that include
an assignment (Assignment, CountOperation, and ForInStatement) and use
it for the side effect of the store.

Review URL: http://codereview.chromium.org/5682010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAllow optimizing compiler to compute Math.log using untagged doubles.
whesse@chromium.org [Mon, 13 Dec 2010 14:37:19 +0000 (14:37 +0000)]
Allow optimizing compiler to compute Math.log using untagged doubles.
Review URL: http://codereview.chromium.org/5741003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAlign builtins-{arch}.cc on ia32 and x64 platforms by moving functions and editing.
whesse@chromium.org [Mon, 13 Dec 2010 12:24:29 +0000 (12:24 +0000)]
Align builtins-{arch}.cc on ia32 and x64 platforms by moving functions and editing.
Review URL: http://codereview.chromium.org/5781004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoLanding for cira.
ager@chromium.org [Mon, 13 Dec 2010 12:23:32 +0000 (12:23 +0000)]
Landing for cira.

Adding experimental JavaScript internationalization API to V8 as an
extension.  This CL implements Locale object only.

Each embeder has to decide whether to include this extension or not by
editing their build rules.

See ecmascript strawman document for details on i18n
API. http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api

TEST=WebKit CL (in progress) will have layout tests for extension.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoOptimizing BuildResultFromMatchInfo, StringReplace and StringSplit.
sandholm@chromium.org [Mon, 13 Dec 2010 12:19:10 +0000 (12:19 +0000)]
Optimizing BuildResultFromMatchInfo, StringReplace and StringSplit.
Review URL: http://codereview.chromium.org/5708006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake idle notification cleanup less aggressive. Do not clean up on
ager@chromium.org [Mon, 13 Dec 2010 12:14:30 +0000 (12:14 +0000)]
Make idle notification cleanup less aggressive. Do not clean up on
idle notifications after the one that causes the mark-compact
collection unless four or more garbage collections (scavenges) have
occurred.

The embedder should stop sending idle notifications once V8 returns
true from the IdleNotification call. This change is being defensive so
it will not hurt as badly if embedders continue to send idle
notifications.

Review URL: http://codereview.chromium.org/5726005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoTemporarily disable mjsunit/array-splice (issue 969)
ricow@chromium.org [Mon, 13 Dec 2010 12:10:41 +0000 (12:10 +0000)]
Temporarily disable mjsunit/array-splice (issue 969)

Disabling this to get the waterfall green, Kevin knows what the issue
is and is working on a fix.

Review URL: http://codereview.chromium.org/5752005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert 5973 as well (related to previous commit)
fschneider@chromium.org [Mon, 13 Dec 2010 10:49:00 +0000 (10:49 +0000)]
Revert 5973 as well (related to previous commit)

TBR=lrn@chromium.org,
Review URL: http://codereview.chromium.org/5754004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoNew heap profiler: add support for progress reporting and control.
mikhail.naganov@gmail.com [Mon, 13 Dec 2010 10:42:06 +0000 (10:42 +0000)]
New heap profiler: add support for progress reporting and control.

As taking a snapshot of a large heap takes noticeable time, it's
good to be able to monitor and control it.

The change itself is small, big code deletes and additions are in
fact moves. The only significant change is simplification of
approximated retained sizes calculation algorithm.

Review URL: http://codereview.chromium.org/5687003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert r5970 and r5975.
fschneider@chromium.org [Mon, 13 Dec 2010 10:41:50 +0000 (10:41 +0000)]
Revert r5970 and r5975.

Review URL: http://codereview.chromium.org/5717005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix incorrect assumption about young/old space allocation in
erik.corry@gmail.com [Mon, 13 Dec 2010 10:09:09 +0000 (10:09 +0000)]
Fix incorrect assumption about young/old space allocation in
JSON stringify (introduced in r5951).
Review URL: http://codereview.chromium.org/5746005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoLand Vitaly's change to fix compare IC performance.
fschneider@chromium.org [Mon, 13 Dec 2010 10:05:19 +0000 (10:05 +0000)]
Land Vitaly's change to fix compare IC performance.

Original change: http://codereview.chromium.org/5733004/

When we have inlined smi code can transition to heap number state before going to the generic state. Without inlined smi code the behaviour is unchanged.

Review URL: http://codereview.chromium.org/5689005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake RegExp character class match JSC.
lrn@chromium.org [Mon, 13 Dec 2010 08:33:32 +0000 (08:33 +0000)]
Make RegExp character class match JSC.
See http://trac.webkit.org/changeset/73594

Review URL: http://codereview.chromium.org/5723002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix x64 build after r5970, the same way as for ARM.
mikhail.naganov@gmail.com [Fri, 10 Dec 2010 16:33:36 +0000 (16:33 +0000)]
Fix x64 build after r5970, the same way as for ARM.

TBR=fschneider@chromium.org

Review URL: http://codereview.chromium.org/5709005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix bug that disabled optimization when profiling.
karlklose@chromium.org [Fri, 10 Dec 2010 14:49:24 +0000 (14:49 +0000)]
Fix bug that disabled optimization when profiling.

Review URL: http://codereview.chromium.org/5720003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix long line.
fschneider@chromium.org [Fri, 10 Dec 2010 14:35:40 +0000 (14:35 +0000)]
Fix long line.

Review URL: http://codereview.chromium.org/5680005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImprove our type feedback by recogizining never-executed IC calls for binary operations.
fschneider@chromium.org [Fri, 10 Dec 2010 14:33:20 +0000 (14:33 +0000)]
Improve our type feedback by recogizining never-executed IC calls for binary operations.

In the case of inlined smi code in non-optimzied code we could not
distinguish between the smi-only case and the case that the operation was
never executed.

With this change the first execution of a binary operation always jumps
to the stub which in turn patches the smi-check into the correct
conditional branch, so that we benefit from inlined smi code after the
first invocation.

A nop instruction after the call to the BinaryOpIC indicates that no
smi code was inlined. A "test eax" instruction says that there was smi
code inlined and encodes the delta to the patch site and the condition
code of the branch at the patch site to restore the original jump.

Review URL: http://codereview.chromium.org/5714001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix issue 962.
vegorov@chromium.org [Fri, 10 Dec 2010 14:25:10 +0000 (14:25 +0000)]
Fix issue 962.

SplitBetween (formely known as Split with 3 arguments) should select split position from [start, end] instead of [start, end[. This should also improve allocation quality (remove certain redundant move patterns).

Also some minor renaming and refactoring to make register allocator code more readable.

BUG=v8:962
TEST=test/mjsunit/regress/regress-962.js

Review URL: http://codereview.chromium.org/5720001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoIncrease the size of the max object that can be new space allocated.
erik.corry@gmail.com [Fri, 10 Dec 2010 14:11:17 +0000 (14:11 +0000)]
Increase the size of the max object that can be new space allocated.
This is neutral on in-browser SunSpider, but beneficial on other
things, and is likely to lower memory use by collecting earlier.
Review URL: http://codereview.chromium.org/5753003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Fix heap number allocation in lithium-codegen-arm that assumed
ager@chromium.org [Fri, 10 Dec 2010 14:10:54 +0000 (14:10 +0000)]
ARM: Fix heap number allocation in lithium-codegen-arm that assumed
that ip can be used as a scratch register. This is not true because
ip is already used for something else in AllocateInNewSpace in the
macro assembler.

Explicitly allocate a temp register for use in the heap number
allocation instead.
Review URL: http://codereview.chromium.org/5788001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoEnsure that default value is explicitly initialized in DefineOwnProperty.
lrn@chromium.org [Fri, 10 Dec 2010 13:07:52 +0000 (13:07 +0000)]
Ensure that default value is explicitly initialized in DefineOwnProperty.

TBR: kmillikin

Review URL: http://codereview.chromium.org/5781002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd gyp target to build preparser as stand-alone library.
lrn@chromium.org [Fri, 10 Dec 2010 12:58:18 +0000 (12:58 +0000)]
Add gyp target to build preparser as stand-alone library.

Likely only works on Linux yet.

Review URL: http://codereview.chromium.org/5716001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd missing include directory for shell sample.
sgjesse@chromium.org [Fri, 10 Dec 2010 12:33:59 +0000 (12:33 +0000)]
Add missing include directory for shell sample.

BUG=http://code.google.com/p/v8/issues/detail?id=967
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/5680004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Fix missing SetCC in crankshaft code emitted when running with
ager@chromium.org [Fri, 10 Dec 2010 12:12:06 +0000 (12:12 +0000)]
ARM: Fix missing SetCC in crankshaft code emitted when running with
the --debug-code flag.

Review URL: http://codereview.chromium.org/5736003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange test script to make it easy to run crankshaft tests on ARM and
ager@chromium.org [Fri, 10 Dec 2010 12:05:28 +0000 (12:05 +0000)]
Change test script to make it easy to run crankshaft tests on ARM and
x64 where crankshaft is not the default. Add ability to add custom
expectations for running in this special crankshaft mode.

The expectations are not updated in this change. There are a couple of
bugs that I would like to fix before doing that. Otherwise the lists
will be very long. :)

Review URL: http://codereview.chromium.org/5787001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix a bug that caused the runtime profiler to sample huge amounts of stack frames...
karlklose@chromium.org [Fri, 10 Dec 2010 12:00:26 +0000 (12:00 +0000)]
Fix a bug that caused the runtime profiler to sample huge amounts of stack frames in programs with recursively called optimized functions.

Review URL: http://codereview.chromium.org/5786001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix issue 965.
lrn@chromium.org [Fri, 10 Dec 2010 11:27:15 +0000 (11:27 +0000)]
Fix issue 965.

Review URL: http://codereview.chromium.org/5773002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit
ricow@chromium.org [Fri, 10 Dec 2010 11:02:09 +0000 (11:02 +0000)]
Fix presubmit

Review URL: http://codereview.chromium.org/5772003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUse correct calling convention for API calls on MinGW
vegorov@chromium.org [Fri, 10 Dec 2010 10:02:42 +0000 (10:02 +0000)]
Use correct calling convention for API calls on MinGW

BUG=v8:950

Review URL: http://codereview.chromium.org/5699003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoGarbage collection of unused setters in the AST classed.
kmillikin@chromium.org [Thu, 9 Dec 2010 14:09:50 +0000 (14:09 +0000)]
Garbage collection of unused setters in the AST classed.

Review URL: http://codereview.chromium.org/5717001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix cast that fails on Win64.
lrn@chromium.org [Thu, 9 Dec 2010 13:18:23 +0000 (13:18 +0000)]
Fix cast that fails on Win64.

Review URL: http://codereview.chromium.org/5712001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCollect only optimizable function samples.
karlklose@chromium.org [Thu, 9 Dec 2010 13:12:23 +0000 (13:12 +0000)]
Collect only optimizable function samples.

Keep track of the ratio between JS and non-JS ticks and use this ratio to adjust the lookup threshold. (Also add support to trace compilation statistics.)

Review URL: http://codereview.chromium.org/5633009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange the HGraphBuilder to dispatch on the context.
kmillikin@chromium.org [Thu, 9 Dec 2010 12:49:53 +0000 (12:49 +0000)]
Change the HGraphBuilder to dispatch on the context.

Before, expressions didn't take advantage of knowing their context in
the AST.  Now, we use the context to decide what to do with a value at
the end of visiting an expression.

Review URL: http://codereview.chromium.org/5620007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert 5911 (RegExp fail on invalid range syntax).
lrn@chromium.org [Thu, 9 Dec 2010 12:07:52 +0000 (12:07 +0000)]
Revert 5911 (RegExp fail on invalid range syntax).

Review URL: http://codereview.chromium.org/5703001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoLanding for Martyn Capewell.
ager@chromium.org [Wed, 8 Dec 2010 18:08:23 +0000 (18:08 +0000)]
Landing for Martyn Capewell.

Fix detection of VFP support on Nexus One.

BUG=none
TEST=none

Code review URL: http://codereview.chromium.org/5664004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00