platform/upstream/v8.git
15 years agoDo not crash if a V8 extension fails to compile or throws an exception
ager@chromium.org [Wed, 25 Nov 2009 16:46:56 +0000 (16:46 +0000)]
Do not crash if a V8 extension fails to compile or throws an exception
when the code is run.

Instead, return an empty context handle so the failure to create a
context can be handled.

BUG=http://crbug.com/28486
Review URL: http://codereview.chromium.org/442005

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

15 years agoInclude getters and setters callbacks invocations in CPU profiler log.
mikhail.naganov@gmail.com [Wed, 25 Nov 2009 16:39:18 +0000 (16:39 +0000)]
Include getters and setters callbacks invocations in CPU profiler log.

Logging getters and setters from DOM API is extremely useful for web
developers as setting (and getting!) several properties can cause
page relayouts which take significant time.

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

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

15 years agoWhen processing global vars initialization account for the case of splitted
antonm@chromium.org [Wed, 25 Nov 2009 15:45:37 +0000 (15:45 +0000)]
When processing global vars initialization account for the case of splitted
global object (using hidden prototypes):

1) setters might be not on the global object itself, but on its prototypes;
2) if property on one of prototypes is readonly, we could shadow it.
Review URL: http://codereview.chromium.org/434035

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

15 years agoFix 64 bit build. TBR=ager.
erik.corry@gmail.com [Wed, 25 Nov 2009 13:27:15 +0000 (13:27 +0000)]
Fix 64 bit build.  TBR=ager.
Review URL: http://codereview.chromium.org/442003

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

15 years agoMake heap serialization nondestructive.
erik.corry@gmail.com [Wed, 25 Nov 2009 12:55:33 +0000 (12:55 +0000)]
Make heap serialization nondestructive.
Review URL: http://codereview.chromium.org/441017

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

15 years agoUpdate with a hopefully complete list of macros
erik.corry@gmail.com [Wed, 25 Nov 2009 11:23:48 +0000 (11:23 +0000)]
Update with a hopefully complete list of macros
used by gcc to indicate ARM architectures.
Review URL: http://codereview.chromium.org/440017

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

15 years agoXcode project: add fast-codegen sources.
mikhail.naganov@gmail.com [Wed, 25 Nov 2009 10:45:31 +0000 (10:45 +0000)]
Xcode project: add fast-codegen sources.

TBR=iposva@chromium.org

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

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

15 years agoChange 'debugger-auto-break' flag status.
mikhail.naganov@gmail.com [Wed, 25 Nov 2009 10:11:34 +0000 (10:11 +0000)]
Change 'debugger-auto-break' flag status.

I think we can promote this flag to stable status and enable it by default.

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

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

15 years agoFix bug 516 by recognizing yet another gcc macro that
erik.corry@gmail.com [Wed, 25 Nov 2009 09:55:49 +0000 (09:55 +0000)]
Fix bug 516 by recognizing yet another gcc macro that
indicates ARMv6.
Review URL: http://codereview.chromium.org/437056

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

15 years agoFast-compiler: Add stack limit checks to back edges of while, do-while and for.
lrn@chromium.org [Wed, 25 Nov 2009 09:05:30 +0000 (09:05 +0000)]
Fast-compiler: Add stack limit checks to back edges of while, do-while and for.
A few other tweaks.

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

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

15 years agoAdded an ASSERT to code from r3350
sgjesse@chromium.org [Wed, 25 Nov 2009 08:14:23 +0000 (08:14 +0000)]
Added an ASSERT to code from r3350
Review URL: http://codereview.chromium.org/441014

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

15 years agoFix compilation error in r3352
sgjesse@chromium.org [Tue, 24 Nov 2009 15:16:02 +0000 (15:16 +0000)]
Fix compilation error in r3352

Compilation error caught on Windows. Strangely enough gcc did not complaint here.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/436022

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

15 years agoFix compilation error in r3350
sgjesse@chromium.org [Tue, 24 Nov 2009 14:45:27 +0000 (14:45 +0000)]
Fix compilation error in r3350

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/435021

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

15 years agoRemove the different length string types
sgjesse@chromium.org [Tue, 24 Nov 2009 14:10:06 +0000 (14:10 +0000)]
Remove the different length string types

The different length string types was used to encode the string length and the hash in one field. This is now split into two fields one for length and one for hash. The hash field still encodes the array index of the string if it has one. If an array index is encoded in the hash field the string length is added to the top bits of the hash field to avoid a hash value of zero.

On 32-bit this causes an additional 4 bytes to be used for all string objects. On 64-bit this will be half on average dur to pointer alignment.
Review URL: http://codereview.chromium.org/436001

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

15 years agoPrepare push to trunk. Now working on version 2.0.3.
ager@chromium.org [Tue, 24 Nov 2009 13:30:15 +0000 (13:30 +0000)]
Prepare push to trunk.  Now working on version 2.0.3.
Review URL: http://codereview.chromium.org/435018

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

15 years agoRe-enable all declarations in fast top-level compiler.
ager@chromium.org [Tue, 24 Nov 2009 12:23:29 +0000 (12:23 +0000)]
Re-enable all declarations in fast top-level compiler.

Disable fast top-level compiler for now because of issues 525 and 526.

Add regression test for issue 525.

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

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

15 years agoLand gyp change to remove -Os from C++ flags if it exists on Linux.
ager@chromium.org [Tue, 24 Nov 2009 11:08:06 +0000 (11:08 +0000)]
Land gyp change to remove -Os from C++ flags if it exists on Linux.

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

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

15 years agoStore API callback entry address prior to entering a callback.
mikhail.naganov@gmail.com [Mon, 23 Nov 2009 14:43:00 +0000 (14:43 +0000)]
Store API callback entry address prior to entering a callback.

Callback entry address is stored in VMState and is later retrieved by
profiler stack sampler. This makes possible relating API entry to JS
stack, and this is simpler than trying to unwind native stack.

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

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

15 years agoReimplement logging of API callbacks entry points in an easier way.
mikhail.naganov@gmail.com [Mon, 23 Nov 2009 09:19:24 +0000 (09:19 +0000)]
Reimplement logging of API callbacks entry points in an easier way.

Now they are logging during "LogCompiledFunctions" cycle. API functions
are detected by examining SFI's "function_data" field.

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

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

15 years agoChange the signature for StrNDup to match the implementation. This
ager@chromium.org [Fri, 20 Nov 2009 13:08:44 +0000 (13:08 +0000)]
Change the signature for StrNDup to match the implementation.  This
mismatch causes problems if attempting to build d8 with readline
support.

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

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

15 years agoFix issue 520: wrap Logger calls into LOG macro
mikhail.naganov@gmail.com [Fri, 20 Nov 2009 12:38:59 +0000 (12:38 +0000)]
Fix issue 520: wrap Logger calls into LOG macro

BUG=520

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

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

15 years agoAdd logging of callbacks in prof-lazy mode.
mikhail.naganov@gmail.com [Fri, 20 Nov 2009 12:15:46 +0000 (12:15 +0000)]
Add logging of callbacks in prof-lazy mode.

This is needed to show calls to DOM in CPU profiles. I can think
of a better approach like adding specific functions into V8 API
for explicitly providing callback names and modifying bindings codegen
appropriately. My plan is as follows:
 - submit this CL;
 - implement anything I need to process log data and display DOM
   calls in profiles;
 - think again about adding specific functions and modifying bindings
   codegen.

BUG=http://code.google.com/p/chromium/issues/detail?id=27613

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

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

15 years agoPrepare push to trunk. Now working on version 2.0.2.
ager@chromium.org [Fri, 20 Nov 2009 12:03:44 +0000 (12:03 +0000)]
Prepare push to trunk.  Now working on version 2.0.2.

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

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

15 years agoDisable the fast top-level compiler for non-global declarations.
ager@chromium.org [Fri, 20 Nov 2009 11:45:18 +0000 (11:45 +0000)]
Disable the fast top-level compiler for non-global declarations.
Reintroduce the bailout that was put in in revision 3224.

It causes interactive ui test failures in Chromium.

TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/421002

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

15 years agoSome optimizations for packer.js.
erik.corry@gmail.com [Fri, 20 Nov 2009 10:11:45 +0000 (10:11 +0000)]
Some optimizations for packer.js.
Review URL: http://codereview.chromium.org/409007

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

15 years agoImplement IS_OBJECT and IS_FUNCTION as inlined runtime functions.
fschneider@chromium.org [Thu, 19 Nov 2009 07:41:32 +0000 (07:41 +0000)]
Implement IS_OBJECT and IS_FUNCTION as inlined runtime functions.

Summary:
This change fixes a performance regression introduced by the special
handling of regular expressions in typeof expressions.
As a result we regain ~8% speedup on 3d-raytrace and ~13% on boyer
(vs bleeding edge)

Description:
The macros IS_OBJECT and IS_FUNCTION are frequently used in the
JS runtime functions.
By introducing new inlined runtime functions %_IsFunction and %_IsObject
we avoid invoking the more expensive %_ClassOf function plus comparing
its result to a string.

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

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

15 years agoFix crash in string replace with regexp. If the suffix of the subject
ager@chromium.org [Wed, 18 Nov 2009 18:48:04 +0000 (18:48 +0000)]
Fix crash in string replace with regexp.  If the suffix of the subject
string is larger than 2047 chars we will encode the slice as two Smis
instead of one.  The calculation of the max size of the string builder
did not take this into account.

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

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

15 years agoPrepare push of version 2.0.0 to trunk. Now working on version 2.0.1.
ager@chromium.org [Wed, 18 Nov 2009 12:24:46 +0000 (12:24 +0000)]
Prepare push of version 2.0.0 to trunk.  Now working on version 2.0.1.

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

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

15 years agoCorrect dumb assert.
erik.corry@gmail.com [Wed, 18 Nov 2009 12:14:21 +0000 (12:14 +0000)]
Correct dumb assert.
Review URL: http://codereview.chromium.org/402048

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

15 years agoFixed bug in pixel array inline cache on x64. The value was not
ager@chromium.org [Wed, 18 Nov 2009 11:36:29 +0000 (11:36 +0000)]
Fixed bug in pixel array inline cache on x64.  The value was not
zero-extended as it should be.  Therefore, the index into the pixel
array could influence the value on reads.

BUG=http://code.google.com/p/chromium/issues/detail?id=26337
Review URL: http://codereview.chromium.org/399067

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

15 years agoAccelerate charCodeAt on ARM.
erik.corry@gmail.com [Wed, 18 Nov 2009 10:20:24 +0000 (10:20 +0000)]
Accelerate charCodeAt on ARM.
Review URL: http://codereview.chromium.org/402012

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

15 years agoAdd DebugMessageDispatchHandler
sgjesse@chromium.org [Wed, 18 Nov 2009 08:59:28 +0000 (08:59 +0000)]
Add DebugMessageDispatchHandler

A callback on the debugger thread when a message is received. Allows the
embedding application to wake up the main thread in order to handle the
message. Useful when the embedding application is idle and sitting in a
select() call.

Patch by Ryan Dahl <coldredlemur@gmail.com>

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

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

15 years agoMake sure to retry SetHiddenPropertiesObject if it
kasperl@chromium.org [Wed, 18 Nov 2009 00:09:28 +0000 (00:09 +0000)]
Make sure to retry SetHiddenPropertiesObject if it
returns a failure.
Review URL: http://codereview.chromium.org/402034

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

15 years agoSorry, this should have gone to http://codereview.chromium.org/391014
lrn@chromium.org [Tue, 17 Nov 2009 13:54:05 +0000 (13:54 +0000)]
Sorry, this should have gone to codereview.chromium.org/391014

I added some tests and swapped the lhs and rhs of the && operator in v8natives.js as requested.

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

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

15 years agoRestore invariant (next of first deallocated must point to the head) before calling...
antonm@chromium.org [Tue, 17 Nov 2009 13:50:07 +0000 (13:50 +0000)]
Restore invariant (next of first deallocated must point to the head) before calling into weak
callbacks.

Otherwise if callback allocates a new handle, it could orphan some global handles (with disastorous
consequences if those global handles are cached).

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

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

15 years agoSpeed up charCodeAt on very large cons strings, by insisting on
erik.corry@gmail.com [Tue, 17 Nov 2009 10:28:04 +0000 (10:28 +0000)]
Speed up charCodeAt on very large cons strings, by insisting on
flattening the strings and not trying too hard to traverse a big
cons tree from generated code.
Review URL: http://codereview.chromium.org/402008

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

15 years agoAdd missing case for shr in IA-32 disassembler
sgjesse@chromium.org [Tue, 17 Nov 2009 10:24:27 +0000 (10:24 +0000)]
Add missing case for shr in IA-32 disassembler
Review URL: http://codereview.chromium.org/397024

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

15 years agoChanges to Intel shift functions
sgjesse@chromium.org [Tue, 17 Nov 2009 08:35:43 +0000 (08:35 +0000)]
Changes to Intel shift functions

Change name of shifts picking the shift count from cl to sal_cl, shl_cl and shr_cl.

Add special encoding of shift by one for shr which was missing it.

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

15 years agoRe-enable using push instructions for syncing the virtual frame.
fschneider@chromium.org [Mon, 16 Nov 2009 23:11:19 +0000 (23:11 +0000)]
Re-enable using push instructions for syncing the virtual frame.

This change fixes the problem with the original version of this approach
(r3032) that may lead to a corrupted stack if we would invoke spilling during
syncing a large SMI constant (unsafe SMIs) in the virtual frame.

The new code for storing unsafe SMI constants does not use an extra temporary
register. This prevents the compiler from ever having to spill during a
virutal frame sync operation.

For storing a large SMI constant we previously generated:

  mov ecx, (large_smi & 0x0000ffff)
  xor ecx, (large_smi & 0xffff0000)
  push ecx

we now generate:

  push (large_smi & 0x0000ffff)
  or   [esp], (large_smi & 0xffff0000)

Not using a temporary register avoids spilling within an nvocation
of VirtualFrame::SyncRange.

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

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

15 years agoStep next should respect do/while condition block.
yurys@chromium.org [Mon, 16 Nov 2009 21:59:31 +0000 (21:59 +0000)]
Step next should respect do/while condition block.

Condition block of do/while statements is a valid break location so it should have its own position. The block is represented by a regular Expression node so we cannot store the position in it, instead the position is stored in a separate field in DoWhileStatement AST node.

BUG=514
Review URL: http://codereview.chromium.org/385136

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

15 years agoFix some presubmit errors.
yurys@chromium.org [Mon, 16 Nov 2009 16:58:09 +0000 (16:58 +0000)]
Fix some presubmit errors.

TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/400001

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

15 years agoSkip debugger frames when looking for calling context.
yurys@chromium.org [Mon, 16 Nov 2009 14:41:55 +0000 (14:41 +0000)]
Skip debugger frames when looking for calling context.

BUG=509

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

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

15 years agoFix bug 503: undefined <= undefined should return false on ARM.
erik.corry@gmail.com [Mon, 16 Nov 2009 14:12:27 +0000 (14:12 +0000)]
Fix bug 503: undefined <= undefined should return false on ARM.
Review URL: http://codereview.chromium.org/399001

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

15 years agoFix bug 499 by splitting up long-running test to minimise the amount
erik.corry@gmail.com [Mon, 16 Nov 2009 13:06:27 +0000 (13:06 +0000)]
Fix bug 499 by splitting up long-running test to minimise the amount
of code that can't be tested on slow targets.
Review URL: http://codereview.chromium.org/385133

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

15 years ago* Remove old snapshot implementation
erik.corry@gmail.com [Mon, 16 Nov 2009 12:08:40 +0000 (12:08 +0000)]
* Remove old snapshot implementation
Review URL: http://codereview.chromium.org/394007

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

15 years agoRemove trailing whitespace.
yurys@chromium.org [Fri, 13 Nov 2009 15:05:50 +0000 (15:05 +0000)]
Remove trailing whitespace.

TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/384121

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

15 years agoTest that pause can be set in script and won't lead to crash when execution is resumed.
yurys@chromium.org [Fri, 13 Nov 2009 14:04:08 +0000 (14:04 +0000)]
Test that pause can be set in script and won't lead to crash when execution is resumed.

The test currently fails on v8 trunk if the new compiler is used. The issue seems to be fixed on bleeding_edge so there is no changes to src, just test.

Cromium bug: http://crbug.com/26686
Review URL: http://codereview.chromium.org/384120

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

15 years agoImprove the allocation and initialization of locals on IA32 in the top-level compiler.
fschneider@chromium.org [Fri, 13 Nov 2009 13:59:07 +0000 (13:59 +0000)]
Improve the allocation and initialization of locals on IA32 in the top-level compiler.

This optimization is already done on x64 and ARM.

Until now we used a push immediate for each local variable on IA32:

  push $undefined
  push $undefined
  ...

to initialize each local variable. This change does:

  mov eax, $undefined
  push eax
  push eax
  ...

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

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

15 years agoAdd a regression test that exposes a stack corruption problem.
fschneider@chromium.org [Fri, 13 Nov 2009 13:58:48 +0000 (13:58 +0000)]
Add a regression test that exposes a stack corruption problem.

See http://code.google.com/p/chromium/issues/detail?id=27227

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

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

15 years agoDisable "arguments" implementation. It was too optimistic in its assumptions.
lrn@chromium.org [Fri, 13 Nov 2009 13:12:57 +0000 (13:12 +0000)]
Disable "arguments" implementation. It was too optimistic in its assumptions.

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

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

15 years agoAllow a platform to indicate that some CPU features are always
erik.corry@gmail.com [Fri, 13 Nov 2009 12:32:57 +0000 (12:32 +0000)]
Allow a platform to indicate that some CPU features are always
available.  We use this to ensure that snapshots on MacOSX can
use SSE2 instructions.  Also clean up and assertify the
handling of things we can't do when we are generating a
snapshot.  Fix a bug in the new serialization tests where
they activated Snapshot::enable() too late after code had been
generated that assumed no snapshots.
Review URL: http://codereview.chromium.org/391051

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

15 years agoTop-level compiler: Re-allow non-lazily compiled function literals.
fschneider@chromium.org [Fri, 13 Nov 2009 10:02:32 +0000 (10:02 +0000)]
Top-level compiler: Re-allow non-lazily compiled function literals.

This change re-allows non-lazy compiled function literals for top-level compilation.

There was a problem on ARM exposed through this change which was fixed as part of r3289
in fast-codegen-arm.cc (Threading and Threading2 tests failed)

It occurred before r3289 when we allocate a local context at the beginning of a function. The
code for the stack check was split up in an unintended way (load of stack check limit into r2,
and use of r2 in the actual stack check code).

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

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

15 years agoFixes bug in the top-level compiler with the write barrier for assignments to context...
fschneider@chromium.org [Fri, 13 Nov 2009 09:51:49 +0000 (09:51 +0000)]
Fixes bug in the top-level compiler with the write barrier for assignments to context slots:

The test for a SMI before the write barrier tested the wrong register:
r0 = target context address
r1 = value to be written

This change fixes the SMI test and tests r1 instead of r0.

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

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

15 years agoCleanup and fix generated comments in the top-level compiler.
fschneider@chromium.org [Fri, 13 Nov 2009 09:42:18 +0000 (09:42 +0000)]
Cleanup and fix generated comments in the top-level compiler.

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

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

15 years agoRemove trailing whitespace from objects.h
yurys@chromium.org [Thu, 12 Nov 2009 16:52:48 +0000 (16:52 +0000)]
Remove trailing whitespace from objects.h

TBR=vitalyr
Review URL: http://codereview.chromium.org/387037

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

15 years agoMake accessors for hidden properties object not touch interceptors.
yurys@chromium.org [Thu, 12 Nov 2009 16:34:52 +0000 (16:34 +0000)]
Make accessors for hidden properties object not touch interceptors.

Interceptors cannot provide a meaningful result for hidden_symbol anyway and some of them crash on empty property name.

Related Chromium issue: http://code.google.com/p/chromium/issues/detail?id=27385

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

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

15 years agoFix some style issues in the ARM code.
erik.corry@gmail.com [Thu, 12 Nov 2009 13:55:21 +0000 (13:55 +0000)]
Fix some style issues in the ARM code.
Also move a function into the macro assembler.
Fix some *& placement errors that had accumulated.
Review URL: http://codereview.chromium.org/385069

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

15 years agoAdd vfp support on ARM. Patch from John Jozwiak.
erik.corry@gmail.com [Thu, 12 Nov 2009 13:04:02 +0000 (13:04 +0000)]
Add vfp support on ARM.  Patch from John Jozwiak.
Review URL: http://codereview.chromium.org/348019

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

15 years agoUpdated sputnik test expectations to match changes in tests.
christian.plesner.hansen@gmail.com [Thu, 12 Nov 2009 13:01:03 +0000 (13:01 +0000)]
Updated sputnik test expectations to match changes in tests.

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

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

15 years agoIgnore "sputniktests" subdirectory from presubmit checks.
lrn@chromium.org [Thu, 12 Nov 2009 12:11:40 +0000 (12:11 +0000)]
Ignore "sputniktests" subdirectory from presubmit checks.

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

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

15 years agoFast-codegen: Added support for arguments in functions.
lrn@chromium.org [Thu, 12 Nov 2009 11:38:01 +0000 (11:38 +0000)]
Fast-codegen: Added support for arguments in functions.
Functions using "arguments" have their arguments object created on entry.
Also added support for variables rewritten into argument object property access.

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

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

15 years agoRemove passing test from ARM test expectations.
ager@chromium.org [Thu, 12 Nov 2009 11:31:46 +0000 (11:31 +0000)]
Remove passing test from ARM test expectations.

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

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

15 years agoChange expectations for LargeObjectSpace test on ARM. It should pass,
ager@chromium.org [Thu, 12 Nov 2009 10:23:05 +0000 (10:23 +0000)]
Change expectations for LargeObjectSpace test on ARM.  It should pass,
and if it doesn't we need to figure out why.

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

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

15 years agoFixed bug in x64 port of KeyedStoreIC::GenerateExternalArray where it
kbr@chromium.org [Wed, 11 Nov 2009 23:06:11 +0000 (23:06 +0000)]
Fixed bug in x64 port of KeyedStoreIC::GenerateExternalArray where it
was always falling through to the runtime. Re-examined both load and
store ICs and verified they are now in sync with the 32-bit port.

Ran tests and benchmarks.

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

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

15 years agoFixed a few cases where allocators did not respect always_allocate,
christian.plesner.hansen@gmail.com [Wed, 11 Nov 2009 15:25:51 +0000 (15:25 +0000)]
Fixed a few cases where allocators did not respect always_allocate,
potentially leading to bogus FatalProcessOutOfMemory situations.  Also
fixed a few cases where callers relied on getting a NewSpace object
back (to avoid write barrier overhead) which they can't when
always_allocate is in effect.

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

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

15 years agoFix thinko in fix for issue 484.
erik.corry@gmail.com [Wed, 11 Nov 2009 14:32:14 +0000 (14:32 +0000)]
Fix thinko in fix for issue 484.
Review URL: http://codereview.chromium.org/391016

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

15 years agoLog the stubs found in the snapshot so the profiler can give
erik.corry@gmail.com [Wed, 11 Nov 2009 12:35:50 +0000 (12:35 +0000)]
Log the stubs found in the snapshot so the profiler can give
a sensible output.
Review URL: http://codereview.chromium.org/385039

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

15 years agoRemove special-case for arguments.toString to match ES5
christian.plesner.hansen@gmail.com [Wed, 11 Nov 2009 11:28:37 +0000 (11:28 +0000)]
Remove special-case for arguments.toString to match ES5

Patch by Jan de Mooij <jandemooij@gmail.com>
Review: http://codereview.chromium.org/273073

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

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

15 years agoSplit long running test
sgjesse@chromium.org [Wed, 11 Nov 2009 10:28:20 +0000 (10:28 +0000)]
Split long running test

Split a long running test into two parts. The second part still takes most of the time and is skipped on ARM in debug mode.

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

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

15 years agoFix warnings on Win64.
lrn@chromium.org [Wed, 11 Nov 2009 09:50:06 +0000 (09:50 +0000)]
Fix warnings on Win64.
Set warning level to /W3 and change implicit conversions from size_t
to int. Most "fixes" are simply manifesting the implicit casts or using
a special strlen replacement that returns int.

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

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

15 years agoRestore info needed to register profile ticks in functions from
erik.corry@gmail.com [Wed, 11 Nov 2009 09:19:39 +0000 (09:19 +0000)]
Restore info needed to register profile ticks in functions from
the snapshot.  Still needed: info to register profile ticks in
stubs.
Review URL: http://codereview.chromium.org/385035

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

15 years agoFix inline constructor code bailout.
ager@chromium.org [Wed, 11 Nov 2009 09:00:09 +0000 (09:00 +0000)]
Fix inline constructor code bailout.

Remove variable that is currently unused.

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

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

15 years agoRemove trailing whitespace in test-debug.cc to make flexo happy.
yurys@chromium.org [Tue, 10 Nov 2009 17:39:54 +0000 (17:39 +0000)]
Remove trailing whitespace in test-debug.cc to make flexo happy.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/388005

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

15 years agoAll hidden properties of an object are stored in a value of a regular property with...
yurys@chromium.org [Tue, 10 Nov 2009 16:13:21 +0000 (16:13 +0000)]
All hidden properties of an object are stored in a value of a regular property with empty name. This property may confuse user if returned among regular properties. It should not be exposed directly by ObjectMirror. Should we want an access to these properties from debugger we need to implement an explicit method for that.

Current patch filters the hidden_symbol from property names returned to ObjectMirror.

See http://crbug.com/26491

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

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

15 years agoTest mjsunit/string-indexof times out on ARM simulator
sgjesse@chromium.org [Tue, 10 Nov 2009 15:50:23 +0000 (15:50 +0000)]
Test mjsunit/string-indexof times out on ARM simulator

Removal of string slices made this test time out on the ARM simulator. Temporaly mark this as pass or timeout.

BUG=http://code.google.com/p/v8/issues/detail?id=500
TBR=christian.plesner.hansen@gmail.com
Review URL: http://codereview.chromium.org/390002

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

15 years agoRevert r3032 that uses push instead of 'sub esp, size'. This change
ager@chromium.org [Tue, 10 Nov 2009 14:58:16 +0000 (14:58 +0000)]
Revert r3032 that uses push instead of 'sub esp, size'.  This change
leads to stack corruption in 32-bit version of V8.

See http://code.google.com/p/chromium/issues/detail?id=27227 for a
reproducible case.

Since this is only an issue on 32-bit V8 I think this has got
something to do with the UnsafeSmi handling that we do on ia32.  I'm
reverting for now so we can push a fix, but we should track down the
issue and create a regression test for this.

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

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

15 years agoModify test using string slices
sgjesse@chromium.org [Tue, 10 Nov 2009 14:41:53 +0000 (14:41 +0000)]
Modify test using string slices

With slices string string type removed generating a large amount of sub-strings takes more time. Change a test to avoid timeout in debug mode.
Review URL: http://codereview.chromium.org/385006

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

15 years agoRemove sliced string string type
sgjesse@chromium.org [Tue, 10 Nov 2009 13:23:05 +0000 (13:23 +0000)]
Remove sliced string string type

As a first step to reduce the complexity of the string hierachy the sliced string type is removed. Whenever a sub-string is created it is allocated as a fresh flat string.
Review URL: http://codereview.chromium.org/385004

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

15 years agoMarked cyrillic as expected to fail.
christian.plesner.hansen@gmail.com [Tue, 10 Nov 2009 12:19:36 +0000 (12:19 +0000)]
Marked cyrillic as expected to fail.

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

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

15 years agoReapply 3246 and 3247 after fixing valgrind warning.
lrn@chromium.org [Tue, 10 Nov 2009 10:23:23 +0000 (10:23 +0000)]
Reapply 3246 and 3247 after fixing valgrind warning.

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

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

15 years agoReport both size and count from the heap profile processor
sgjesse@chromium.org [Tue, 10 Nov 2009 10:18:41 +0000 (10:18 +0000)]
Report both size and count from the heap profile processor

Added two options for controlling this --size and --count. Default is --size to match the original behaviour.
Review URL: http://codereview.chromium.org/385001

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

15 years agoFixed bug in while-loops that caused an assertion to fail.
fschneider@chromium.org [Tue, 10 Nov 2009 09:57:13 +0000 (09:57 +0000)]
Fixed bug in while-loops that caused an assertion to fail.

We forgot resetting true-/false-label to NULL after evaluating the
condition expression in dowhile- and while-loops.
This change fixes this.

This causes an assertion to fail in VisitIfStatement whenever there is an
if-statement after a while-loop before. e.g. like in:

  var i=0, j=0;
  while(j<5) { j++; }
  if (i ==0 ) { j++; }

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

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

15 years agoRevert 3245 and 3246 because they cause valgrind failures.
erik.corry@gmail.com [Mon, 9 Nov 2009 17:05:51 +0000 (17:05 +0000)]
Revert 3245 and 3246 because they cause valgrind failures.
TBR=lrn
Review URL: http://codereview.chromium.org/372059

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

15 years agoTemporarily de-activate while-loops in the top-level compiler because
fschneider@chromium.org [Mon, 9 Nov 2009 15:31:15 +0000 (15:31 +0000)]
Temporarily de-activate while-loops in the top-level compiler because
it makes some debug tests fail.

TBR=christian.plesner.hansen@gmail.com
Review URL: http://codereview.chromium.org/371069

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

15 years agoFix small memory leak in new serialization code.
erik.corry@gmail.com [Mon, 9 Nov 2009 13:30:50 +0000 (13:30 +0000)]
Fix small memory leak in new serialization code.
Review URL: http://codereview.chromium.org/371068

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

15 years agoRevert change r3240-3241 because it causes ARM tests to fail.
fschneider@chromium.org [Mon, 9 Nov 2009 13:30:35 +0000 (13:30 +0000)]
Revert change r3240-3241 because it causes ARM tests to fail.

(non-lazily compiled function literals)

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

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

15 years agoFast-compiler: Added trivial implementations of while and do/while.
lrn@chromium.org [Mon, 9 Nov 2009 13:22:38 +0000 (13:22 +0000)]
Fast-compiler: Added trivial implementations of while and do/while.

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

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

15 years agohttp://codereview.chromium.org/371067 thanks to Jan de Mooij
erik.corry@gmail.com [Mon, 9 Nov 2009 13:21:14 +0000 (13:21 +0000)]
codereview.chromium.org/371067 thanks to Jan de Mooij

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

15 years agoInline common case of one capture when using replace with a regexp and
ager@chromium.org [Mon, 9 Nov 2009 13:17:50 +0000 (13:17 +0000)]
Inline common case of one capture when using replace with a regexp and
a function.

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

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

15 years agoFix lint issue.
lrn@chromium.org [Mon, 9 Nov 2009 12:18:25 +0000 (12:18 +0000)]
Fix lint issue.

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

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

15 years agoRemove unnecessary buffer doubling and content copying.
lrn@chromium.org [Mon, 9 Nov 2009 11:52:18 +0000 (11:52 +0000)]
Remove unnecessary buffer doubling and content copying.

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

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

15 years agoFix SVN merge problem in the top-level compiler.
fschneider@chromium.org [Mon, 9 Nov 2009 10:30:33 +0000 (10:30 +0000)]
Fix SVN merge problem in the top-level compiler.

(Remove bailout on non-global declarations again)

TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/372054

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

15 years agoFixed breakage of test running when sputniktests not checked out.
christian.plesner.hansen@gmail.com [Mon, 9 Nov 2009 10:23:50 +0000 (10:23 +0000)]
Fixed breakage of test running when sputniktests not checked out.

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

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

15 years ago* Fix regexp benchmark regression where we were doing work to
erik.corry@gmail.com [Mon, 9 Nov 2009 10:01:23 +0000 (10:01 +0000)]
* Fix regexp benchmark regression where we were doing work to
make standard regexps like \s and . case independent.
* Make use of the fact that the subject string is ASCII only
when making character classes case independent.
* Avoid spending time making large ideogram or punctuation
ranges case independent when there is no case mapping anyway.
Review URL: http://codereview.chromium.org/378024

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

15 years agoEnable writes and reads of context slots in fast compiler.
whesse@chromium.org [Mon, 9 Nov 2009 09:56:57 +0000 (09:56 +0000)]
Enable writes and reads of context slots in fast compiler.
Review URL: http://codereview.chromium.org/360054

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

15 years agoAdd function literals that always require non-lazy compilation to the top-level compiler.
fschneider@chromium.org [Mon, 9 Nov 2009 09:43:24 +0000 (09:43 +0000)]
Add function literals that always require non-lazy compilation to the top-level compiler.

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

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

15 years agoAdded test runner for sputnik tests.
christian.plesner.hansen@gmail.com [Mon, 9 Nov 2009 09:31:57 +0000 (09:31 +0000)]
Added test runner for sputnik tests.

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

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

15 years agoFix missing () on function call causing warning on some versions
erik.corry@gmail.com [Fri, 6 Nov 2009 14:06:35 +0000 (14:06 +0000)]
Fix missing () on function call causing warning on some versions
of gcc.
Review URL: http://codereview.chromium.org/371020

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

15 years agoKeep natives source code in external strings instead of putting
erik.corry@gmail.com [Fri, 6 Nov 2009 13:48:33 +0000 (13:48 +0000)]
Keep natives source code in external strings instead of putting
it in regular flat strings that are part of the snapshot.
After this change we don't need libraries-empty.cc any more.  In
this change libraries-empty.cc is just a the same as libraries.cc
and the scons build builds it but does not use it.  We can move
in stages to a situation where it is not generated at all for all
the build systems that we have.
Review URL: http://codereview.chromium.org/360050

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

15 years agoFixed problem where popping a handle scope after calling an accessor
christian.plesner.hansen@gmail.com [Fri, 6 Nov 2009 11:35:47 +0000 (11:35 +0000)]
Fixed problem where popping a handle scope after calling an accessor
would clobber the register holding the result.

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

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