platform/upstream/v8.git
15 years agoPrepare to push version 1.2.12 to trunk.
kasperl@chromium.org [Mon, 6 Jul 2009 07:45:39 +0000 (07:45 +0000)]
Prepare to push version 1.2.12 to trunk.
Review URL: http://codereview.chromium.org/149192

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

15 years agoFix win32 build by moving template function definition.
kasperl@chromium.org [Mon, 6 Jul 2009 06:57:32 +0000 (06:57 +0000)]
Fix win32 build by moving template function definition.

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

15 years agoLint error fix
whesse@chromium.org [Sun, 5 Jul 2009 15:38:06 +0000 (15:38 +0000)]
Lint error fix
Review URL: http://codereview.chromium.org/149189

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

15 years agoX64: Fix LoadFloatOperands.
whesse@chromium.org [Sun, 5 Jul 2009 15:22:59 +0000 (15:22 +0000)]
X64: Fix LoadFloatOperands.
Review URL: http://codereview.chromium.org/155073

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

15 years agoX64: Use low bits of registers in emit_sse_operand. Enable --stop-at flag.
whesse@chromium.org [Fri, 3 Jul 2009 13:30:15 +0000 (13:30 +0000)]
X64: Use low bits of registers in emit_sse_operand.  Enable --stop-at flag.
Review URL: http://codereview.chromium.org/155052

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

15 years agoARM improvements to constant div, mod and mul.
erik.corry@gmail.com [Fri, 3 Jul 2009 12:44:31 +0000 (12:44 +0000)]
ARM improvements to constant div, mod and mul.
* Fast runtime calls for div and mod.
* Fix assembly and disassembly of multiply instructions.
* Strength reduce and inline multiplications to shift-add.
* Strength reduce and inline mod by power of 2.
* Strength reduce mod by other small integers to mul.
* Strength reduce div by 2 and 3.
Review URL: http://codereview.chromium.org/155047

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

15 years agoFix thinko in IC code.
erik.corry@gmail.com [Fri, 3 Jul 2009 12:43:59 +0000 (12:43 +0000)]
Fix thinko in IC code.
Review URL: http://codereview.chromium.org/149175

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

15 years agoRemove unneeded ToString calls. We call ToString if necessary
kasperl@chromium.org [Fri, 3 Jul 2009 12:08:00 +0000 (12:08 +0000)]
Remove unneeded ToString calls. We call ToString if necessary
when the result of calling the replace function is added to the
ReplaceResultBuilder.
Review URL: http://codereview.chromium.org/149179

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

15 years agoReverted RegExp parser error message change that broke layout test.
lrn@chromium.org [Fri, 3 Jul 2009 11:09:34 +0000 (11:09 +0000)]
Reverted RegExp parser error message change that broke layout test.
Also cleaned up some leftover crud.

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

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

15 years agoX64: Exit frame should use x64 ABI callee-save registers.
whesse@chromium.org [Fri, 3 Jul 2009 10:13:05 +0000 (10:13 +0000)]
X64: Exit frame should use x64 ABI callee-save registers.
Review URL: http://codereview.chromium.org/155045

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

15 years agoOptimize Date construction and string concatenation with
kasperl@chromium.org [Fri, 3 Jul 2009 10:09:59 +0000 (10:09 +0000)]
Optimize Date construction and string concatenation with
string objects (not values).
Review URL: http://codereview.chromium.org/149177

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

15 years agoWe've got complains that sending afterCompile events to debug message handler may...
yurys@chromium.org [Fri, 3 Jul 2009 10:02:51 +0000 (10:02 +0000)]
We've got complains that sending afterCompile events to debug message handler may have considerable impact on the profiler when inspected script does lots of 'eval's. The proposed solution is to request source of the compiled script lazily instead of sending it in afterCompile event.

Corresponding Chromium bug:
http://code.google.com/p/chromium/issues/detail?id=15913
Review URL: http://codereview.chromium.org/149176

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

15 years agoX64: Remove optimistic smi operations on non-smis. They cannot be undone on X64.
whesse@chromium.org [Fri, 3 Jul 2009 09:24:53 +0000 (09:24 +0000)]
X64: Remove optimistic smi operations on non-smis.  They cannot be undone on X64.
Review URL: http://codereview.chromium.org/151200

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

15 years agoX64: Ignore extra bits in Smi::value()
whesse@chromium.org [Fri, 3 Jul 2009 09:22:22 +0000 (09:22 +0000)]
X64: Ignore extra bits in Smi::value()
Review URL: http://codereview.chromium.org/155046

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

15 years agoX64: Fix floating point and integer instructions in assembler.
whesse@chromium.org [Fri, 3 Jul 2009 09:16:23 +0000 (09:16 +0000)]
X64: Fix floating point and integer instructions in assembler.
Review URL: http://codereview.chromium.org/151207

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

15 years agoChanged RegExp parser to use a recursive data structure instead of stack-based recursion.
lrn@chromium.org [Fri, 3 Jul 2009 08:18:35 +0000 (08:18 +0000)]
Changed RegExp parser to use a recursive data structure instead of stack-based recursion.
Shouldn't run out of stack space while parsing deeply nested regexps.
Might be a little faster.

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

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

15 years agoM ic-arm.cc
bak@chromium.org [Fri, 3 Jul 2009 08:00:51 +0000 (08:00 +0000)]
M    ic-arm.cc

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

15 years agoMissing file from last change
bak@chromium.org [Fri, 3 Jul 2009 06:58:56 +0000 (06:58 +0000)]
Missing file from last change

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

15 years agoImproved code for megamorphic stub on ia32.
bak@chromium.org [Fri, 3 Jul 2009 06:34:59 +0000 (06:34 +0000)]
Improved code for megamorphic stub on ia32.

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

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

15 years ago- Cache on backtracking stack in the irregexp interpreter for future use.
iposva@chromium.org [Thu, 2 Jul 2009 19:46:28 +0000 (19:46 +0000)]
- Cache on backtracking stack in the irregexp interpreter for future use.
Review URL: http://codereview.chromium.org/149131

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

15 years agoFixed test failures caused by enabling stack traces by default
christian.plesner.hansen@gmail.com [Thu, 2 Jul 2009 15:30:03 +0000 (15:30 +0000)]
Fixed test failures caused by enabling stack traces by default

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

15 years agoPort %ClassOf() optimization to X64 and ARM.
ager@chromium.org [Thu, 2 Jul 2009 14:17:10 +0000 (14:17 +0000)]
Port %ClassOf() optimization to X64 and ARM.
Review URL: http://codereview.chromium.org/150226

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

15 years agoEnable capture of the top of the stack on error instantiation.
christian.plesner.hansen@gmail.com [Thu, 2 Jul 2009 12:26:31 +0000 (12:26 +0000)]
Enable capture of the top of the stack on error instantiation.
Performance impact on v8 benchmarks seems limited.  Will be backed out
if chrome performance regresses.

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

15 years agoX64: Align start of remembered set to a 4-byte boundary
whesse@chromium.org [Thu, 2 Jul 2009 11:49:39 +0000 (11:49 +0000)]
X64: Align start of remembered set to a 4-byte boundary
Review URL: http://codereview.chromium.org/151198

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

15 years agoTemplate instantiations for Windows build.
bak@chromium.org [Thu, 2 Jul 2009 10:59:34 +0000 (10:59 +0000)]
Template instantiations for Windows build.

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

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

15 years agoFix crash when calling non-function globals.
kasperl@chromium.org [Thu, 2 Jul 2009 10:51:46 +0000 (10:51 +0000)]
Fix crash when calling non-function globals.
Review URL: http://codereview.chromium.org/151199

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

15 years agoAdd regression test case for issue 396.
kasperl@chromium.org [Thu, 2 Jul 2009 09:08:15 +0000 (09:08 +0000)]
Add regression test case for issue 396.
Review URL: http://codereview.chromium.org/150215

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

15 years agoReverted change to ASSERT is void Dictionary<Shape, Key>::SetEntry.
bak@chromium.org [Thu, 2 Jul 2009 08:07:56 +0000 (08:07 +0000)]
Reverted change to ASSERT is void Dictionary<Shape, Key>::SetEntry.

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

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

15 years agoX64: Move remembered set to a safe location on x64 platform.
whesse@chromium.org [Thu, 2 Jul 2009 07:48:05 +0000 (07:48 +0000)]
X64: Move remembered set to a safe location on x64 platform.
Review URL: http://codereview.chromium.org/151148

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

15 years agoX64: Implement InstanceofStub. Prohibit zero-size code objects.
whesse@chromium.org [Thu, 2 Jul 2009 07:09:49 +0000 (07:09 +0000)]
X64: Implement InstanceofStub.  Prohibit zero-size code objects.
Review URL: http://codereview.chromium.org/151142

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

15 years agoFixed arm/mac errors and presubmitting 2324.
bak@chromium.org [Thu, 2 Jul 2009 06:50:43 +0000 (06:50 +0000)]
Fixed arm/mac errors and presubmitting 2324.

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

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

15 years agoPrepare to push version 1.2.11 to trunk.
kasperl@chromium.org [Thu, 2 Jul 2009 06:31:57 +0000 (06:31 +0000)]
Prepare to push version 1.2.11 to trunk.
Review URL: http://codereview.chromium.org/150209

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

15 years agoMake global variable initialization consistent with Firefox and Safari
ager@chromium.org [Thu, 2 Jul 2009 06:28:37 +0000 (06:28 +0000)]
Make global variable initialization consistent with Firefox and Safari
behavior.  Only force the introduction of a variable directly on the
global object if there is an explicit initial value in a variable
declaration.

BUG=http://crbug.com/12548
Review URL: http://codereview.chromium.org/151191

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

15 years agoRevert r2324 until we can fix build and test errors.
ager@chromium.org [Wed, 1 Jul 2009 16:49:54 +0000 (16:49 +0000)]
Revert r2324 until we can fix build and test errors.

TBR=bak@chromium.org

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

15 years agoRemoved virtual behavior from Dictionaries.
bak@chromium.org [Wed, 1 Jul 2009 15:38:25 +0000 (15:38 +0000)]
Removed virtual behavior from Dictionaries.

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

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

15 years agoFix the snapshotter when ENABLE_DEBUGGER_SUPPORT is off.
feng@chromium.org [Wed, 1 Jul 2009 15:36:28 +0000 (15:36 +0000)]
Fix the snapshotter when ENABLE_DEBUGGER_SUPPORT is off.

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

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

15 years agoIgnore interceptors with no getters when doing any kind of read.
antonm@chromium.org [Wed, 1 Jul 2009 15:06:46 +0000 (15:06 +0000)]
Ignore interceptors with no getters when doing any kind of read.

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

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

15 years agoAlways scavenge when doing GCs.
kasperl@chromium.org [Wed, 1 Jul 2009 13:20:09 +0000 (13:20 +0000)]
Always scavenge when doing GCs.
Review URL: http://codereview.chromium.org/151149

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

15 years agoX64: Add Math.random, fix UnarySubStub
whesse@chromium.org [Wed, 1 Jul 2009 11:59:10 +0000 (11:59 +0000)]
X64: Add Math.random, fix UnarySubStub
Review URL: http://codereview.chromium.org/151077

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

15 years agoTreat the builtins object like other global objects (with
kasperl@chromium.org [Wed, 1 Jul 2009 11:44:37 +0000 (11:44 +0000)]
Treat the builtins object like other global objects (with
cells in old space for properties) and avoid allocating tons
of unused properties in new space when creating new contexts.
Review URL: http://codereview.chromium.org/151146

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

15 years agoARM: Don't always go into the runtime system just because a
erik.corry@gmail.com [Wed, 1 Jul 2009 11:32:08 +0000 (11:32 +0000)]
ARM:  Don't always go into the runtime system just because a
mul gave zero.
Review URL: http://codereview.chromium.org/151144

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

15 years agoHandle JavaScript accessors on the global object.
sgjesse@chromium.org [Wed, 1 Jul 2009 11:20:33 +0000 (11:20 +0000)]
Handle JavaScript accessors on the global object.

With the new representation of the global object adding JavaScript accessors for a property after global inline caches was created for that property did not work property as the inline caches did not take the JavaScript accessor information (fixed array with two elements) that could be present in a global object property cell into account.

This is now fixed by changing the map for a global object when a JavaScript accessor is defined on it.

BUG=394
TEST=test\mjsunit\regress\regress-394.js
Review URL: http://codereview.chromium.org/150162

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

15 years agoFix presubmit error.
mikhail.naganov@gmail.com [Wed, 1 Jul 2009 09:11:33 +0000 (09:11 +0000)]
Fix presubmit error.

TBR=iposva@chromium.org

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

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

15 years agoReimplement profiler sampler on Mac OS X to get it working under Chromium.
mikhail.naganov@gmail.com [Wed, 1 Jul 2009 08:46:59 +0000 (08:46 +0000)]
Reimplement profiler sampler on Mac OS X to get it working under Chromium.

Previous implementation of sampler for OS X was copied from the Linux one. But BSD (OS X) and Linux has a very important difference in signal handling. LinuxThreads doesn't support the notion of process-directed signals. So, the SIGPROF signal was directed to the thread that installed the handler---the V8 thread. But on BSD, signal handling is implemented according to POSIX spec, where process-directed signal is to be handled by an arbitrary selected thread. By a coincidence, in V8's sample shell and in Chromium's test shell, V8's thread was picked almost every time, so sampling seemed working. But not in case of Chromium.

So, I've changed the implementation of profiler sampler to use the same scheme as on Windows---a dedicated thread with high priority is used to periodically pause and sample V8's thread.

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

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

15 years ago- Avoid allocating an overly large stack frame in the irregexp
iposva@chromium.org [Tue, 30 Jun 2009 22:36:35 +0000 (22:36 +0000)]
- Avoid allocating an overly large stack frame in the irregexp
  interpreter.
Review URL: http://codereview.chromium.org/151119

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

15 years agoAdd missing cases. Thanks to polarjs for bug 393.
erik.corry@gmail.com [Tue, 30 Jun 2009 20:57:44 +0000 (20:57 +0000)]
Add missing cases.  Thanks to polarjs for bug 393.
Review URL: http://codereview.chromium.org/151112

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

15 years agoFix the redness on Flexo.
feng@chromium.org [Tue, 30 Jun 2009 19:02:59 +0000 (19:02 +0000)]
Fix the redness on Flexo.

/auto/JavaScriptV8/flexo/linux64/v8/src/x64/stub-cache-x64.cc:0:  One or more unexpected \r (^M) found;better to use only a \n  [whitespace/newline] [1]

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

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

15 years agoYoung space should be same size on snapshot builder and snapshot users
erik.corry@gmail.com [Tue, 30 Jun 2009 17:34:41 +0000 (17:34 +0000)]
Young space should be same size on snapshot builder and snapshot users
because this gets backed into the generated code.
Review URL: http://codereview.chromium.org/151083

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

15 years agoWe have to be sure to generate a relocatable instruction when
erik.corry@gmail.com [Tue, 30 Jun 2009 16:35:42 +0000 (16:35 +0000)]
We have to be sure to generate a relocatable instruction when
handling external references before a heap serialization.
Review URL: http://codereview.chromium.org/151080

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

15 years agoFixed X64 compilation.
sgjesse@chromium.org [Tue, 30 Jun 2009 14:58:33 +0000 (14:58 +0000)]
Fixed X64 compilation.

TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/150103

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

15 years agoTweaks to global object inline cache code.
sgjesse@chromium.org [Tue, 30 Jun 2009 14:07:29 +0000 (14:07 +0000)]
Tweaks to global object inline cache code.

Remove the check for deleted properties in the global load inline cache if the property is known to be read only.

Propegate the in loop flag for the global call inline cache.

Changed the propagation of the code flags in the call stub compiler to compute these the same way for all types of call stubs and assert that the flags for the generated code is the same as those used for the cache lookup.

Addressed a few comments from previous review in test-api.cc.
Review URL: http://codereview.chromium.org/150101

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

15 years agoMore changes to make the simulator run code that is for the ARM5 snapshot.
erik.corry@gmail.com [Tue, 30 Jun 2009 13:38:40 +0000 (13:38 +0000)]
More changes to make the simulator run code that is for the ARM5 snapshot.
Review URL: http://codereview.chromium.org/150100

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

15 years agoDon't do a second lookup as we have it already.
antonm@chromium.org [Tue, 30 Jun 2009 12:29:45 +0000 (12:29 +0000)]
Don't do a second lookup as we have it already.

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

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

15 years agoX64: Make lazy arguments objects work
whesse@chromium.org [Tue, 30 Jun 2009 12:16:47 +0000 (12:16 +0000)]
X64: Make lazy arguments objects work
Review URL: http://codereview.chromium.org/151075

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

15 years agoX64: Implement unary subtraction, ObjectPair. 350 tests still fail.
whesse@chromium.org [Tue, 30 Jun 2009 12:11:21 +0000 (12:11 +0000)]
X64: Implement unary subtraction, ObjectPair. 350 tests still fail.
Review URL: http://codereview.chromium.org/150093

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

15 years agoX64: Fix bad value in stack layout constants.
lrn@chromium.org [Tue, 30 Jun 2009 11:09:57 +0000 (11:09 +0000)]
X64: Fix bad value in stack layout constants.
Remove references to Array:kHeaderSize.

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

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

15 years agoWhen Error.collectStackTraces is set to true all new instances of
christian.plesner.hansen@gmail.com [Tue, 30 Jun 2009 11:08:37 +0000 (11:08 +0000)]
When Error.collectStackTraces is set to true all new instances of
Error, ReferenceError, etc. are given a stack property that gives a
stack trace.  Here's an example stack trace:

ReferenceError: FAIL is not defined
    at Constraint.execute (deltablue.js:527)
    at Constraint.recalculate (deltablue.js:426)
    at Planner.addPropagate (deltablue.js:703)
    at Constraint.satisfy (deltablue.js:186)
    at Planner.incrementalAdd (deltablue.js:593)
    at Constraint.addConstraint (deltablue.js:164)
    at Constraint.BinaryConstraint (deltablue.js:348)
    at Constraint.EqualityConstraint (deltablue.js:517)
    at chainTest (deltablue.js:809)
    at deltaBlue (deltablue.js:881)
    at deltablue.js:888

If Error.prepareStackTrace holds a function this function is used to
format the stack trace, for instance allowing code generators to
customize the way stack traces are reported to make them easier to
process.

Next step: performance measurements to see if it is feasible to turn
this on by default.

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

15 years agoChanged the global object representation.The global object is now always in dictionar...
sgjesse@chromium.org [Tue, 30 Jun 2009 10:05:36 +0000 (10:05 +0000)]
Changed the global object representation.The global object is now always in dictionary (slow) mode with each of its properties stored in a cell object. A cell object has one field containing the actual value for the property. Inline caches for access to global properties which uses direct to the cell are now created for load, store and call to properties of the global object. When properties of the global object are deleted the cell for that property is kept with an indcation of that the property is deleted.Added counters to track the use of the global property inline caches.Added additional information on IC's in the disassembler.
Review URL: http://codereview.chromium.org/151019

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

15 years agoWorkaround a gcc 4.4 bug.
feng@chromium.org [Mon, 29 Jun 2009 21:15:03 +0000 (21:15 +0000)]
Workaround a gcc 4.4 bug.

Gcc generates wrong vtable entries for certain code pattern. The change in heap.cc has detailed explanation.

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

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

15 years ago- Add a "#error Unsupported target architecture." where needed. A chain of
iposva@chromium.org [Mon, 29 Jun 2009 17:07:30 +0000 (17:07 +0000)]
- Add a "#error Unsupported target architecture." where needed. A chain of
  platform dependent ifdefs is useless if it does not include an error like
  this. You will end up searching for the failure in all the wrong places.
Review URL: http://codereview.chromium.org/150026

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

15 years agoX64: Remove temporary compiler and assembler tests, now that shell runs.
whesse@chromium.org [Mon, 29 Jun 2009 15:04:24 +0000 (15:04 +0000)]
X64: Remove temporary compiler and assembler tests, now that shell runs.
Review URL: http://codereview.chromium.org/151022

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

15 years agoFix build on x64 after compare stub change.
erik.corry@gmail.com [Mon, 29 Jun 2009 14:23:33 +0000 (14:23 +0000)]
Fix build on x64 after compare stub change.
Review URL: http://codereview.chromium.org/150022

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

15 years agoAdd a compare stub on ARM.
erik.corry@gmail.com [Mon, 29 Jun 2009 13:52:13 +0000 (13:52 +0000)]
Add a compare stub on ARM.
Review URL: http://codereview.chromium.org/151003

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

15 years agoReplaced DateFromTime and isNaN with macro calls in date code.
bak@chromium.org [Mon, 29 Jun 2009 12:41:18 +0000 (12:41 +0000)]
Replaced DateFromTime and isNaN with macro calls in date code.

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

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

15 years agoOptimize %ClassOf() on IA-32 and use it instead of the
kasperl@chromium.org [Mon, 29 Jun 2009 10:45:16 +0000 (10:45 +0000)]
Optimize %ClassOf() on IA-32 and use it instead of the
custom %HasXXXClass() calls.
Review URL: http://codereview.chromium.org/151018

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

15 years ago* Add missing imul instruction on Intel.
erik.corry@gmail.com [Mon, 29 Jun 2009 09:32:06 +0000 (09:32 +0000)]
* Add missing imul instruction on Intel.
* Fix incorrect signedness in disassembly of umull/mull on ARM.
* Fix incorrect register order in disassembly of umull/mull.
* Fix incorrect assembly of umull on ARM.
* Remove retroactively obsoleted restriction on choice of
  registers in mul instructions on ARM.
Review URL: http://codereview.chromium.org/150002

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

15 years agoOptimize %IsConstructCall() on IA-32.
kasperl@chromium.org [Mon, 29 Jun 2009 08:14:06 +0000 (08:14 +0000)]
Optimize %IsConstructCall() on IA-32.
Review URL: http://codereview.chromium.org/150018

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

15 years agoPrepare push of version 1.2.10 to trunk.
ager@chromium.org [Mon, 29 Jun 2009 08:12:02 +0000 (08:12 +0000)]
Prepare push of version 1.2.10 to trunk.
Review URL: http://codereview.chromium.org/151015

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

15 years agoX64: Fix error in running handlers, disable TakeValue optimization for count operators.
whesse@chromium.org [Mon, 29 Jun 2009 08:11:35 +0000 (08:11 +0000)]
X64: Fix error in running handlers, disable TakeValue optimization for count operators.
Review URL: http://codereview.chromium.org/150007

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

15 years agoX64 Implementation: Implement Generate_Function(Call,Apply)
whesse@chromium.org [Mon, 29 Jun 2009 08:04:39 +0000 (08:04 +0000)]
X64 Implementation: Implement Generate_Function(Call,Apply)
Review URL: http://codereview.chromium.org/147205

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

15 years agoChanged HashTable::EnsureCapacity to gurantee at least 50% of the entries are free...
bak@chromium.org [Mon, 29 Jun 2009 07:19:17 +0000 (07:19 +0000)]
Changed  HashTable::EnsureCapacity to gurantee at least 50% of the entries are free (up from 25%).
This reduces the mount of probing in large hash tables.

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

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

15 years agoFix issue 392 by disabling the TakeValue optimization for
kasperl@chromium.org [Mon, 29 Jun 2009 06:20:52 +0000 (06:20 +0000)]
Fix issue 392 by disabling the TakeValue optimization for
access to the arguments object.
Review URL: http://codereview.chromium.org/150016

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

15 years agoX64 implementation: Store to lookup slots
whesse@chromium.org [Fri, 26 Jun 2009 13:52:05 +0000 (13:52 +0000)]
X64 implementation: Store to lookup slots
Review URL: http://codereview.chromium.org/147203

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

15 years ago- Inlined the code for make simple cons strings.
bak@chromium.org [Fri, 26 Jun 2009 13:09:50 +0000 (13:09 +0000)]
- Inlined the code for make simple cons strings.
- Simplify generated code for Runtime_** functions.

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

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

15 years agoX64 Implementation: Correct type, add VisitCallEval
whesse@chromium.org [Fri, 26 Jun 2009 11:35:42 +0000 (11:35 +0000)]
X64 Implementation: Correct type, add VisitCallEval
Review URL: http://codereview.chromium.org/149066

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

15 years agoX64 Implementation: Implement floating-point compare
whesse@chromium.org [Fri, 26 Jun 2009 11:01:13 +0000 (11:01 +0000)]
X64 Implementation: Implement floating-point compare
Review URL: http://codereview.chromium.org/147201

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

15 years agoX64: Break and continue.
lrn@chromium.org [Fri, 26 Jun 2009 10:59:04 +0000 (10:59 +0000)]
X64: Break and continue.

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

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

15 years agoX64 implementation: Add arguments object to context when needed.
whesse@chromium.org [Fri, 26 Jun 2009 08:38:48 +0000 (08:38 +0000)]
X64 implementation: Add arguments object to context when needed.
Review URL: http://codereview.chromium.org/149063

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

15 years agoX64: Added support for "with" and "switch".
lrn@chromium.org [Fri, 26 Jun 2009 08:29:01 +0000 (08:29 +0000)]
X64: Added support for "with" and "switch".

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

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

15 years agoX64: Added for-in
lrn@chromium.org [Fri, 26 Jun 2009 07:41:19 +0000 (07:41 +0000)]
X64: Added for-in

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

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

15 years agoX64 Implementation: Correct error with initializer blocks
whesse@chromium.org [Fri, 26 Jun 2009 07:27:06 +0000 (07:27 +0000)]
X64 Implementation: Correct error with initializer blocks
Review URL: http://codereview.chromium.org/149008

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

15 years agoReintroduce recording of source position that was lost on ia32 for
ager@chromium.org [Thu, 25 Jun 2009 12:20:15 +0000 (12:20 +0000)]
Reintroduce recording of source position that was lost on ia32 for
some reason.
Review URL: http://codereview.chromium.org/147147

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

15 years agoX64 implementation: Add some inline runtime functions.
whesse@chromium.org [Thu, 25 Jun 2009 12:06:30 +0000 (12:06 +0000)]
X64 implementation: Add some inline runtime functions.
Review URL: http://codereview.chromium.org/149004

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

15 years agoX64: Count operations (increment, decrement)
lrn@chromium.org [Thu, 25 Jun 2009 11:48:27 +0000 (11:48 +0000)]
X64: Count operations (increment, decrement)

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

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

15 years agoFix instance type check in apply optimization.
ager@chromium.org [Thu, 25 Jun 2009 11:35:03 +0000 (11:35 +0000)]
Fix instance type check in apply optimization.

We accidentally compared a map address with an instance type.  This
fix additionally avoids an upper bounds check that is not needed.

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

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

15 years ago* Fix compile errors on Android.
erik.corry@gmail.com [Thu, 25 Jun 2009 10:51:34 +0000 (10:51 +0000)]
* Fix compile errors on Android.
Review URL: http://codereview.chromium.org/149001

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

15 years agoX64 implementation: VisitLoop and StackCheck
whesse@chromium.org [Thu, 25 Jun 2009 10:39:28 +0000 (10:39 +0000)]
X64 implementation: VisitLoop and StackCheck
Review URL: http://codereview.chromium.org/147143

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

15 years agoMake sure that message reporting works when the builtin string and
ager@chromium.org [Thu, 25 Jun 2009 10:27:36 +0000 (10:27 +0000)]
Make sure that message reporting works when the builtin string and
array functions are overwritten.

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

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

15 years agoX64 implementation: VisitUnaryOperation, configure dtoa for X64 platform.
whesse@chromium.org [Thu, 25 Jun 2009 10:15:50 +0000 (10:15 +0000)]
X64 implementation: VisitUnaryOperation, configure dtoa for X64 platform.
Review URL: http://codereview.chromium.org/147141

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

15 years agoDo not use common INFINITY name as it might be overriden by some other include file...
antonm@chromium.org [Wed, 24 Jun 2009 17:25:46 +0000 (17:25 +0000)]
Do not use common INFINITY name as it might be overriden by some other include file.  Let's use
project specific name.

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

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

15 years agoX64 implementation: GenerateAdaptor builtin.
whesse@chromium.org [Wed, 24 Jun 2009 15:02:46 +0000 (15:02 +0000)]
X64 implementation: GenerateAdaptor builtin.
Review URL: http://codereview.chromium.org/146085

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

15 years agoX64 implementation: Start compiling native functions.
whesse@chromium.org [Wed, 24 Jun 2009 13:48:09 +0000 (13:48 +0000)]
X64 implementation: Start compiling native functions.
Review URL: http://codereview.chromium.org/146083

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

15 years agoX64 implementation: comparison operations.
whesse@chromium.org [Wed, 24 Jun 2009 13:46:07 +0000 (13:46 +0000)]
X64 implementation: comparison operations.
Review URL: http://codereview.chromium.org/146082

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

15 years agoAttempt to reduce performance penalty for logging and profiling
antonm@chromium.org [Wed, 24 Jun 2009 13:09:34 +0000 (13:09 +0000)]
Attempt to reduce performance penalty for logging and profiling

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

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

15 years agoRemoved static type inference and add a dynamic test for string addition.
lrn@chromium.org [Wed, 24 Jun 2009 12:46:00 +0000 (12:46 +0000)]
Removed static type inference and add a dynamic test for string addition.
The complexity of static type inference never really paid off, and as an
analysis it didn't fit well with codegen frame propagation.

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

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

15 years agoX64: Implemented LikelySmiBinaryOperation
lrn@chromium.org [Wed, 24 Jun 2009 12:12:17 +0000 (12:12 +0000)]
X64: Implemented LikelySmiBinaryOperation

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

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

15 years agoA helper function to speed up creation of V8 wrappers for DOM Nodes.
antonm@chromium.org [Wed, 24 Jun 2009 11:52:52 +0000 (11:52 +0000)]
A helper function to speed up creation of V8 wrappers for DOM Nodes.

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

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

15 years agoChanged benchmark html and css files to be almost validating HTML 4.01 and CSS.
lrn@chromium.org [Wed, 24 Jun 2009 10:10:49 +0000 (10:10 +0000)]
Changed benchmark html and css files to be almost validating HTML 4.01 and CSS.

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

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

15 years agoRevert attempt to optimize away the allocation of a temporary.
ager@chromium.org [Wed, 24 Jun 2009 08:56:55 +0000 (08:56 +0000)]
Revert attempt to optimize away the allocation of a temporary.

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

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

15 years agox64 code generation for construct calls, declaring global variables
ager@chromium.org [Wed, 24 Jun 2009 08:28:42 +0000 (08:28 +0000)]
x64 code generation for construct calls, declaring global variables
and for runtime calls.

We could not handle functions with no explicit return statement.  I
added support for that as well.  The place was hard to find because
code was left out from the codegenerator with no TODO comment.  We
need to make sure to comment if we leave out code when porting
something. :-)

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

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