kmillikin@chromium.org [Tue, 7 Jul 2009 13:17:22 +0000 (13:17 +0000)]
Remove the support for jump-table switches from the x64 port as well.
Review URL: http://codereview.chromium.org/126197
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2378
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 7 Jul 2009 13:06:40 +0000 (13:06 +0000)]
Revert r2372 to get the tree green again.
TBR=mikhail.naganov@gmail.com
Review URL: http://codereview.chromium.org/155137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2377
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 7 Jul 2009 12:48:57 +0000 (12:48 +0000)]
In Chrome several tabs may share the same v8 instance. Each of those tabs can be inspected with its own devtools window. When such devtools window closes we need to clear all breakpoints that belong to it. Notion of breakpoint group enables us to do that.
Storing the breakpoints on the client(in a different process) would be inreliable since 1) it may crash and 2) some 'setbreakpoint' requests may be not processed yet by the time devtools window closes.
Review URL: http://codereview.chromium.org/149197
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 7 Jul 2009 12:40:15 +0000 (12:40 +0000)]
X64: Disassembler updated to using REX, extended registers and some X64 opcodes.
Not all opcodes fixed yet (some should be invalid in 64-bit mode, others should be added).
Review URL: http://codereview.chromium.org/155087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 7 Jul 2009 12:17:31 +0000 (12:17 +0000)]
X64: Use CmpObjectType macro everywhere, fix problem with sign of instance types.
Review URL: http://codereview.chromium.org/155132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 7 Jul 2009 12:11:12 +0000 (12:11 +0000)]
Add automatic tests for Tick Processor.
Added tests for cmdline args parsing, symbols processing, and the whole process.
Tick Processor code was refactored to make it testable.
Review URL: http://codereview.chromium.org/149195
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 7 Jul 2009 11:57:09 +0000 (11:57 +0000)]
Fix issue 397 and issue 399.
Review URL: http://codereview.chromium.org/149247
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 7 Jul 2009 11:41:21 +0000 (11:41 +0000)]
Change a few sites where the Handle<T>(NULL) constructor is used so
that they use the static Handle<T>::null() member function instead.
Review URL: http://codereview.chromium.org/155135
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2371
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 7 Jul 2009 09:50:12 +0000 (09:50 +0000)]
Fix lint issue.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 7 Jul 2009 09:48:54 +0000 (09:48 +0000)]
Allow variable proxies for the same global variable to share the same
variable object.
Add a map from names to variables for global scopes just like
non-global scopes. Variables are added to the map by the parser when
it encounters a declaration in a global scope or else at scope
resolution time by a failed variable lookup from the global scope or
an inner one and with no intervening with statements or possible calls
to eval.
Review URL: http://codereview.chromium.org/149245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 7 Jul 2009 09:29:41 +0000 (09:29 +0000)]
Changed ?: into if/else to placate compiler.
Review URL: http://codereview.chromium.org/155131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 7 Jul 2009 08:55:55 +0000 (08:55 +0000)]
Fix the order in which ToNumber is called for some Math functions.
Avoid divisions when doing Math.min(0, 0).
https://bugs.webkit.org/show_bug.cgi?id=26978 has been
filed to fix inconsistencies between JSC and V8.
Review URL: http://codereview.chromium.org/149188
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 7 Jul 2009 08:11:19 +0000 (08:11 +0000)]
Separate native and interpreted regexp by compile time flag, not runtime.
Clean-up of RegExp code.
Review URL: http://codereview.chromium.org/155085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 7 Jul 2009 07:53:15 +0000 (07:53 +0000)]
X64: Implement sin and cos.
Review URL: http://codereview.chromium.org/149200
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 6 Jul 2009 13:21:39 +0000 (13:21 +0000)]
X64: Make comparisons work on zero-extended smis.
Review URL: http://codereview.chromium.org/155083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2364
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Mon, 6 Jul 2009 11:00:53 +0000 (11:00 +0000)]
Use attributes to communicate failed lookup instead of retval.
Review URL: http://codereview.chromium.org/151151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2363
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
deanm@chromium.org [Mon, 6 Jul 2009 10:56:52 +0000 (10:56 +0000)]
Remove some unused messages.
Review URL: http://codereview.chromium.org/149194
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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