kmillikin@chromium.org
a48c03bb2a
Fix an issue with optimization of functions inside catch.
...
When optimizing a function defined inside a catch, we did not count
the catch context as part of the context chain.
R=vegorov@chromium.org
BUG=1521
TEST=regress-1521
Review URL: http://codereview.chromium.org/7285032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 14:05:46 +00:00
lrn@chromium.org
b6779044c9
Add duplicate parameter detection to preparser.
...
Add tests for duplicate properties of object initialisers to preparser.
TEST=preparser
Review URL: http://codereview.chromium.org/7168016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 13:46:52 +00:00
vitalyr@chromium.org
8448d09d3b
Do a backing store sparseness check on fast element delete.
...
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/7298004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 13:18:42 +00:00
vitalyr@chromium.org
fe7bdf1fe8
Remove unmarked entries from per context map caches.
...
Made "map_cache" a weak field of global context and added a pass over
all caches late in the marking phase.
R=vegorov@chromium.org
BUG=v8:1516
TEST=cctest/test-api/Regress1516
Review URL: http://codereview.chromium.org/7285031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 12:47:18 +00:00
yangguo@chromium.org
77a3c7226b
exposing a few boolean queries from objects.h
...
TEST=start with ./d8 --allow-natives-syntax and try %ObjectHasFastElements({})
Review URL: http://codereview.chromium.org/7289010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 11:47:55 +00:00
lrn@chromium.org
ff9ce1abd4
Make date parser handle all ES5 Date Time Strings correctly.
...
This means that ES5 Date Time Strings will default to UTC if timezone is absent.
Handle as many legacy strings as possible the same way as before
BUG=v8:1498
TEST=mjsunit/date
Review URL: http://codereview.chromium.org/7291022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 11:41:45 +00:00
jkummerow@chromium.org
31487d29e3
Add missing HandleScope
...
Review URL: http://codereview.chromium.org/7210056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 11:04:36 +00:00
sandholm@chromium.org
9a2165c7fb
An attempt to resolve the win32 build error introduced in r8506
...
Review URL: http://codereview.chromium.org/7278018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 10:59:38 +00:00
mikhail.naganov@gmail.com
33177880c8
Remove "modules" and "tags" of the logging CPU profiler.
...
Modules now makes a little sense, as there is only one module.
Tags was a simplistic attempt of supporting nested profiles.
R=sgjesse@chromium.org
BUG=859
Review URL: http://codereview.chromium.org/7276046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 09:35:16 +00:00
sandholm@chromium.org
7a817f620e
Special case handling of one char split on an ASCII string.
...
Review URL: http://codereview.chromium.org/7285030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 09:29:38 +00:00
jkummerow@chromium.org
3916da5f98
Cleanup polymorphic IC code to make use of ElementsKind information in maps.
...
Review URL: http://codereview.chromium.org/7283044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 07:58:58 +00:00
svenpanne@chromium.org
e6ec7808db
Simplify UnaryOpStub a little bit.
...
Only a single constructor is really needed. Make UnaryOp_Patch's arguments
simpler, avoiding encoding/decoding things in a cryptic way.
Review URL: http://codereview.chromium.org/7248063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 07:50:46 +00:00
ager@chromium.org
75bebf3db8
Fixes the build for the shell on illumos and Solaris. -D__C99FEATURES__ was added to mirror how the build is done on the normal platform. The changes in the platform code are a follow up to a prior review and has the Solaris implementation be more similar to the Linux version as opposed to the FreeBSD.
...
Contributed by Robert Mustacchi <rm@fingolfin.org>
TEST=Note the test suite uncovered a bug in libm where pow(3M) was not doing the right thing on edge cases. The only test failures are related to this bug.
Review URL: http://codereview.chromium.org/7282034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 05:50:14 +00:00
fschneider@chromium.org
f437f859c9
Relax register constraints for instructions that support memory operands on IA32.
...
Review URL: http://codereview.chromium.org/7290006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 18:14:48 +00:00
whesse@chromium.org
473f833699
Change return type of FrameDescription::GetFrameSize to avoid unneeded type casts.
...
Review URL: http://codereview.chromium.org/7282033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 15:57:56 +00:00
kmillikin@chromium.org
05c73983a7
Remove bogus assertion.
...
R=fschneider@chromium.org
Review URL: http://codereview.chromium.org/7291001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 15:49:14 +00:00
fschneider@chromium.org
eb380e0f85
Fix broken ARM debug build.
...
TBR=
Review URL: http://codereview.chromium.org/7284035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 15:05:24 +00:00
karlklose@chromium.org
c0e2268c8c
Fix problem with arguments object ICs not checking for dictionary mode elements.
...
R=kmillikin@chromium.org
BUG=1514
TEST=mjsunit/regress/regress-1513.js
Review URL: http://codereview.chromium.org/7282029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 14:56:06 +00:00
kmillikin@chromium.org
f4c4df2d9a
Introduce scopes to keep track of catch blocks at compile time.
...
The catch variable is bound in the catch scope. For simplicity in this
initial implementation, it is always allocated even if unused and always
allocated to a catch context even if it doesn't escape. The presence of
catch is no longer treated as a with.
In this change, care must be taken to distinguish between the scope where a
var declaration is hoisted to and the scope where the initialization occurs.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7280012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 14:37:55 +00:00
fschneider@chromium.org
b12e933e43
Refactor handling of test expressions in the graph builder.
...
Instead of generating two instructions and combining them
at lithium translation using the EmitAtUses predicate, we
generate the correct branch instruction right from the start.
Review URL: http://codereview.chromium.org/7237024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 14:19:52 +00:00
mikhail.naganov@gmail.com
d0559ee206
Heap profiler: annotate fixed arrays by their purpose.
...
This helps understanding what is a particular array for by
just looking at its name.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/7248058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 14:19:33 +00:00
svenpanne@chromium.org
a482bd7ee3
Unbreak compilation on MIPS after EmitCallIC removal.
...
Note: It has only been verified that compilation is OK, nothing more... ;-)
Review URL: http://codereview.chromium.org/7273097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 14:02:18 +00:00
whesse@chromium.org
3a7e8fb791
Fix compilation on 64-bit Windows build.
...
Review URL: http://codereview.chromium.org/7283043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 13:08:13 +00:00
whesse@chromium.org
03df9dd50b
Improve pseudorandom number generation and move the PNG state to Isolate.
...
Review URL: http://codereview.chromium.org/7248060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 13:07:43 +00:00
svenpanne@chromium.org
dd7e3cbdb2
Nuke EmitCallIC, it is a plain call now.
...
Note that the MIPS part will need some similar changes, too.
Review URL: http://codereview.chromium.org/7283042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 13:05:03 +00:00
ager@chromium.org
0d8c343c90
Do not pass the global object as the receiver to strict-mode and
...
builtin replace and sort functions.
R=ricow@chromium.org
BUG=v8:1360
TEST=mjsunit/regress/regress-1360.js
Review URL: http://codereview.chromium.org/7283006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 12:29:19 +00:00
vegorov@chromium.org
89c83051aa
Fix presubmit failure in gdb-jit.cc.
...
R=ricow@chromium.org
Review URL: http://codereview.chromium.org/7289013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 12:19:47 +00:00
danno@chromium.org
743babcb44
Fix ARM regression introduced with polymorphic array support.
...
BUG=none
TEST=Kraken on ARM
Review URL: http://codereview.chromium.org/7218068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 11:53:15 +00:00
vegorov@chromium.org
64c897b5cb
Extend gdb-jit support (OSX/locals+parameters/prettyprint)
...
Generate Mach-O in-memory objects for OSX. Dump locals and parameters
for non-optimized frames.
Unfortunately, it seems like more-recent-GDB on OSX there is a little
temperamental (eg, the version from macports will be missing symbols
from gdb-integration_g when the version included in xcode will not--
and this is with --gdbjit off).
Includes some Python scripts to make dealing with V8 values in gdb more
pleasant.
Patch by Luke Zarko.
Review URL: http://codereview.chromium.org/6995161
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 11:52:00 +00:00
svenpanne@chromium.org
233a8dc237
Cleaned up calling-related methods in the ARM assembler.
...
Generalized Call macro instruction to handle AST IDs, too, making things more
similar to the Intel assemblers. Removed unused methods. Minor signature
cleanup. Simplified assertions.
Review URL: http://codereview.chromium.org/7284029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 11:26:15 +00:00
kmillikin@chromium.org
3f84fcf6c9
Fix a bug in Object.defineProperty.
...
There was a bug in Object.defineProperty when used to add an indexed
property to an arguments object. When converting the elements backing
store to dictionary mode, the parameter map in front of the backing
store does not change.
R=ager@chromium.org ,karlklose@chromium.org
Review URL: http://codereview.chromium.org/7289011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 11:11:19 +00:00
ager@chromium.org
47ca7358e6
MIPS: stub out Support debugger inspection of locals in optimized frames
...
Added Deoptimizer::FillInputFrame as UNIMPLEMENTED method.
Ported r8464 (34f38d1)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7284026
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 09:25:29 +00:00
jkummerow@chromium.org
39b06d8850
Add support for dictionary elements to polymorphic crankshaft code.
...
Review URL: http://codereview.chromium.org/7285001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 08:40:31 +00:00
kmillikin@chromium.org
7d189d848e
MIPS: port Explicitly pass the closure when allocating a catch or with context.
...
Ported r8453 (59dd697)
Original commit message:
Before: allocation of a catch or with context fetched the closure to store
in the context from the previous context in the context chain. Now: the
closure is passed explicitly.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7289008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 08:34:10 +00:00
kmillikin@chromium.org
861d18032a
MIPS: port Remove the fcontext field from all contexts.
...
Ported 8452 (8a2a360)
Original commit message:
Before: every context cached the nearest enclosing function context. This
assumed that for nested contexts (i.e., with and catch contexts) the
enclosing function had a materialized link in the context chain.
Now: when necessary, we loop up the context chain to find such a context.
This enables catch contexts without forcing the enclosing function to
allocate its own context.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7284025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 08:32:59 +00:00
ager@chromium.org
3a5788915f
Fix platform-solaris after isolate changes.
...
Patch from http://code.google.com/p/v8/issues/detail?id=1509 .
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7273092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 07:24:49 +00:00
ager@chromium.org
2b286a3128
Remove --strict developer flag from V8.
...
It makes V8 not have JavaScript semantics by throwing exception all
the time. Even our own natives JavaScript code cannot run using that.
R=ricow@chromium.org
BUG=v8:1511
Review URL: http://codereview.chromium.org/7248056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-30 06:58:13 +00:00
vitalyr@chromium.org
90c9f1b989
Suspend runtime profiler as soon as we exit JS.
...
Lots of web pages have really frequently firing timers that keep the
profiler thread spinning if we require a period of JS inactivity
before suspending the profiler. While it's possible to throttle it by
increasing the sleep delay and adjusting the duration of the required
inactive period, it seemed much simpler to just stop it immediately on
exiting JS.
Stopping the profiler this way effectively turned off two optimization
heuristics: 1) eager optimization (it's reset on waking up the
profiler and now the profiler wakes up much more frequently) and 2)
optimization throttling based on JS to non-JS state ratio (the ratio
is now 100%). I removed these two heuristics and found no performance
regressions so far.
R=ager@chromium.org
BUG=crbug.com/77625
TEST=none
Review URL: http://codereview.chromium.org/7274024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 14:56:08 +00:00
svenpanne@chromium.org
b6869174c6
Simplify EmitCallIC.
...
Move the identification of the corresponding StatsCounter where it belongs,
namely into the Code class. Use the null pattern to signal "no inlined Smi
code". Removed a few unused counters.
Review URL: http://codereview.chromium.org/7273066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:43:24 +00:00
sgjesse@chromium.org
c4f28bf274
Temporarily add more test output to help locate test failure
...
R=ricow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7250002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:40:23 +00:00
jkummerow@chromium.org
6cd99953f1
Using KeyedStoreIC_Generic_Strict must prevent polymorphic case.
...
TEST=Fewer deopts in existing tests.
Review URL: http://codereview.chromium.org/7282007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:32:27 +00:00
sgjesse@chromium.org
3878096ed8
Fix compilation of all combinations of disassembler=on/off and objectprint=on/off
...
R=jkummerow@chromium.org
BUG=v8:1473
TEST=none
Review URL: http://codereview.chromium.org//7269002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:17:02 +00:00
sgjesse@chromium.org
7d2be7c0e0
Support debugger inspection of locals in optimized frames
...
Optimized frames are now handled by the debugger. When discovering optimized frames during stack inspection in the debugger they are "deoptimized" using the normal deoptimization code and the deoptimizer output information is used to provide frame information to the debugger.
Before this change the debugger reported each optimized frame as one frame no matter the number of inlined functuions that might have been called inside of it. Also all locals where reported as undefined. Locals can still be reposted as undefined when their value is not "known" by the optimized frame.
As the structures used to calculate the output frames when deoptimizing are not GC safe the information for the debugger is copied to another structure (DeoptimizedFrameInfo) which is registered with the global deoptimizer data and processed during GC.
R=fschneider@chromium.org
BUG=v8:1140
TEST=test/mjsunit/debug-evaluate-locals-optimized*
Review URL: http://codereview.chromium.org//7230045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 13:02:00 +00:00
vegorov@chromium.org
cd9356baa6
Prepare push to trunk. Now working on 3.4.9.
...
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7282005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 11:21:23 +00:00
svenpanne@chromium.org
ac7fca826d
Simplify the way we call UnaryOpStubs, saving one unused no-op after the call itself.
...
Review URL: http://codereview.chromium.org/7280005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 11:12:12 +00:00
sandholm@chromium.org
f9c82bf3a3
Improve JSON.parse to use less memory when using escaped and non-ascii
...
characters.
Review URL: http://codereview.chromium.org/7241023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 10:54:20 +00:00
sgjesse@chromium.org
39ed137e10
ARM: Improve register allocation and constraints (try 2).
...
Gives ~20% boost for Crypto benchmark on A9.
BUG=none
TEST=added to mjsunit/div-mod.js
Review URL: http://codereview.chromium.org//7276034
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 10:51:06 +00:00
jkummerow@chromium.org
6f66664386
Error checking for length parameter of external array constructors in shell
...
BUG=v8:1501
Review URL: http://codereview.chromium.org/7268002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 10:27:14 +00:00
yangguo@chromium.org
61c7b030e9
reverting revision r8454
...
Review URL: http://codereview.chromium.org/7218042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 08:45:22 +00:00
erik.corry@gmail.com
f8fdc62c19
Improvement to SmiLexicalCompare. Landing http://codereview.chromium.org/7261008 for Stephen Adams
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 08:35:10 +00:00
kmillikin@chromium.org
81e8b42e1b
Fix lint failure.
...
TBR=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7284004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 08:32:12 +00:00
yangguo@chromium.org
e6dbce1190
added the --test option for d8 into tools/test.py
...
TEST= tools/test.py --shell d8 -v
Review URL: http://codereview.chromium.org/7272028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 08:22:36 +00:00
kmillikin@chromium.org
96bbcaf416
Explicitly pass the closure when allocating a catch or with context.
...
Before: allocation of a catch or with context fetched the closure to store
in the context from the previous context in the context chain. Now: the
closure is passed explicitly.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7275022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-29 07:41:42 +00:00
kmillikin@chromium.org
5e7da7f04f
Remove the fcontext field from all contexts.
...
Before: every context cached the nearest enclosing function context. This
assumed that for nested contexts (i.e., with and catch contexts) the
enclosing function had a materialized link in the context chain.
Now: when necessary, we loop up the context chain to find such a context.
This enables catch contexts without forcing the enclosing function to
allocate its own context.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7230047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 15:22:08 +00:00
fschneider@chromium.org
2760bd2927
Slightly improved register assignment for %_IsObject on IA32 and ARM.
...
The new approach uses one temp register instead of two on IA32. The ARM
instructions are modified so the input can be UseAtStart again.
Review URL: http://codereview.chromium.org/7274025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 14:21:55 +00:00
kmillikin@chromium.org
e859416b9f
Better placement of argument pushing for a few hydrogen call instructions.
...
Where it's simple to do so (keyed calls, calls to unknown global variables,
calls to local variables and non-property/non-variable expressions), end the
live range of argument subexpressions immediately after the last use of the
expression rather than at the call.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7274020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 12:51:21 +00:00
keuchel@chromium.org
3f70c456eb
Fix "illegal access" when calling parseInt with a radix that is not a smi.
...
BUG=v8:1246
TEST=regress-1246.js
Review URL: http://codereview.chromium.org/7206019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 12:31:42 +00:00
fschneider@chromium.org
c9eefb3f88
Fix bug in register assignment of IsObjectAndBranch.
...
Make sure that input and temp registers don't overlap.
Review URL: http://codereview.chromium.org/7273026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 09:09:07 +00:00
ager@chromium.org
3f6043d370
Cleanup to HEnvironment::CopyForInlining
...
* src/hydrogen.cc (HEnvironment::CopyForInlining): As the code for both
the ::HYDROGEN and ::LITHIUM compilation phases is the same, just use
one code path and remove the arg.
* src/hydrogen.h (HEnvironment): Remove now-unused CompilationPhase
enum type and arg to CopyForInlining.
* src/arm/lithium-arm.cc (LChunkBuilder::DoEnterInlined):
* src/ia32/lithium-ia32.cc (LChunkBuilder::DoEnterInlined):
* src/x64/lithium-x64.cc (LChunkBuilder::DoEnterInlined): Adapt
callers.
* AUTHORS: Add Igalia.
BUG=
TEST=I ran tools/test.py.
Review URL: http://codereview.chromium.org/7272002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 08:54:09 +00:00
fschneider@chromium.org
b59f2b700b
Fix a bug in %_GetCachedArrayIndex.
...
This inline runtime function had the wrong super class.
It did not cause any problems since it is only used in
our natives and never in a test context.
Review URL: http://codereview.chromium.org/7253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 08:49:01 +00:00
sgjesse@chromium.org
26e53ac042
MIPS: port Fix receiver check in arguments ICs.
...
Ported r8429 (60a2787)
BUG=
TEST=
Review URL: http://codereview.chromium.org//7276027
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:54:01 +00:00
sgjesse@chromium.org
b6afa34afa
MIPS: Long branch implementation and trampoline improvement.
...
Improve the branch and branch-trampoline mechanism to automatically
use long-jumps when function size grows large. Reduce size of emitted
trampoline pools.
Now passes mozilla regress-80981.js.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7239020
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:31:42 +00:00
ager@chromium.org
614e542869
Ensure 16-byte stack alignment on Solaris.
...
GCC generates instructions such as movdqa that requires 16-byte alignment.
R=ricow@chromium.org
BUG=v8:1505
TEST=
Review URL: http://codereview.chromium.org/7277031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:07:09 +00:00
ager@chromium.org
a8e4b0cfb1
Prepare push to trunk. Now working on version 3.4.8.
...
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/7235025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 13:16:07 +00:00
ager@chromium.org
89cc886ba7
Fix receiver check in arguments ICs.
...
The receiver needs to be checked in the same way as all other KeyedLoadICs to take non-JSObject and objects that require access checks or has interceptors into account.
R=sgjesse@chromium.org
BUG=87478
TEST=mjsunit/regress/regress-crbug-87478.js
Review URL: http://codereview.chromium.org/7259015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 13:02:51 +00:00
sgjesse@chromium.org
54d6072332
Change the handling of stack check on backward branches
...
The hydrogen stack check instruction is now added to each loop and the stack check handling on the back edge has been removed.
This change causes regression on small tight loops as the stack check is now at the top of the loop instead of at the bottom, and that requires one additional unconditional jump per loop iteration. However the reason for this change is to avoid worse regressions for upcoming changes to correctly support debugger break in optimized code.
R=fschneider@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7216009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 12:12:27 +00:00
sgjesse@chromium.org
b7850c06d1
MIPS: port Better codegen for '<expression> === void <literal>'.
...
Ported r8420 (fd2ddbb)
Original commit message:
Detect the pattern in both, the full compiler and crankshaft and generate direct pointer
comparisons. Along the way I cleaned up 'typeof <expression> == <string literal>' comparisons
as well by lifting platform independent code and checking the symmetric case.
BUG=v8:1440
TEST=cctest/test-api.cc
Review URL: http://codereview.chromium.org//7262026
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 10:45:54 +00:00
lrn@chromium.org
fb4a2d160d
Cleanup of return types and names in factory.
...
Review URL: http://codereview.chromium.org/7240025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 09:02:34 +00:00
sgjesse@chromium.org
17c2a7a5ed
MIPS: update missing write barrier for arguments store ICs, per comments.
...
Per review comments in http://codereview.chromium.org/7238020 after
issue was closed, we had used an un-necessary Add, which is removed here.
Thanks for the suggestion.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7259010
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 08:56:25 +00:00
yangguo@chromium.org
310ed9ebba
removed some unnecessary stuff from d8's initialization
...
and got rid of the utility context unless interactive shell is used
Review URL: http://codereview.chromium.org/7219003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 20:04:32 +00:00
cira@chromium.org
ab2c0d4503
Change timeType and dateType in i18n date format API into timeStyle and dateStyle to match the proposal.
...
I've kept old keys too, until ChromeOS user switches to time/dateStyle.
Fixed regex for matching styles in date and number format.
TEST=i18n.kaziprst.org/datetimeformat.html should show proper results for both timeType and timeStyle.
Review URL: http://codereview.chromium.org/7244008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 16:58:28 +00:00
keuchel@chromium.org
ab3d4cf7b8
Proper handling of future reserved words in strict and normal mode.
...
BUG=86442
TEST=mjsunit/keywords-and-reserved_words.js
Review URL: http://codereview.chromium.org/7207007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 14:59:51 +00:00
keuchel@chromium.org
628a2e2a1f
Better codegen for '<expression> === void <literal>'.
...
Detect the pattern in both, the full compiler and crankshaft and generate direct pointer
comparisons. Along the way I cleaned up 'typeof <expression> == <string literal>' comparisons
as well by lifting platform independent code and checking the symmetric case.
BUG=v8:1440
TEST=cctest/test-api.cc
Review URL: http://codereview.chromium.org/7216008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 14:30:10 +00:00
sandholm@chromium.org
22abf6a579
Check for empty substring.
...
Review URL: http://codereview.chromium.org/7237023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 13:44:27 +00:00
sgjesse@chromium.org
b55a673177
MIPS: Minor bug fixes to macro-asm and simulator.
...
3 small fixes:
- Fix erroneous use of reg t6 in macro-assembler.
- Minor optimization to overflow-check macros.
- Fix un-init var use (typo) in simulator FPCall handling.
None of these affected test cases.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7236025
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 13:23:18 +00:00
vegorov@chromium.org
9310a8d78f
Fix three GC unsafe places found by gcmole's dead_vars analysis.
...
Review URL: http://codereview.chromium.org/7247013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 12:04:14 +00:00
mikhail.naganov@gmail.com
f4bf8f8fee
Remove obsolete aggregating and non-working producers heap profilers.
...
2000 LOC are gone!
R=sgjesse@chromium.org
BUG=1481
Review URL: http://codereview.chromium.org/7247018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 11:38:47 +00:00
sgjesse@chromium.org
94e5f2f35a
MIPS: port Add missing write barrier for arguments store ICs.
...
Ported r8390 (52d4605)
BUG=
TEST=
Review URL: http://codereview.chromium.org//7238020
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 08:46:57 +00:00
sgjesse@chromium.org
2f64c849f2
MIPS: Fix a bug in MacroAssembler::CheckFastElements.
...
This fixes 3 mjsunit tests when running with --stress-opt: object-freeze,
object-prevent-extensions, object-seal.
Original commit was 54ce3d60 (r8176).
BUG=
TEST=
Review URL: http://codereview.chromium.org//7236024
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 08:26:47 +00:00
sgjesse@chromium.org
1d53788e7e
Revert "ARM: Improve register allocation and constraints."
...
This reverts r8381.
It was causing Mozilla test mozilla/ecma/Date/15.9.3.8-5 to fail and Sputnik tests S15.9.3.1_A5_T5, S15.9.3.1_A5_T1, S15.9.3.1_A5_T2, S15.9.3.1_A5_T4, S15.9.3.1_A5_T3 and S15.9.3.1_A5_T6 to timeout.
R=ager@chromium.org
BUG=none
TEST=mozilla/ecma/Date/15.9.3.8-5, S15.9.3.1_A5_T5, S15.9.3.1_A5_T1, S15.9.3.1_A5_T2, S15.9.3.1_A5_T4, S15.9.3.1_A5_T3 and S15.9.3.1_A5_T6
Review URL: http://codereview.chromium.org//7246004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-23 12:03:16 +00:00
vitalyr@chromium.org
bbd5889f2c
Trim fast elements tail on significant length decreases.
...
Runtime_RegExpExecMultiple had to be updated because it assumed
setting an array's length to zero still keeps some capacity in the
backing store.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7237004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-23 11:22:21 +00:00
ager@chromium.org
b652d79b10
Shrink dictionaries on deletion if number of elements are less than a
...
quarter of the capacity.
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/7190032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-23 09:30:39 +00:00
fschneider@chromium.org
4bc671c2b0
Add missing write barrier for arguments store ICs.
...
Review URL: http://codereview.chromium.org/7207006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-23 09:20:07 +00:00
ager@chromium.org
5ea7238814
Fix renaming patch to also compile in debug mode.
...
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7236015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-23 06:33:38 +00:00
ager@chromium.org
03fc1660b3
HBasicBlock::CreateSimulate argument name clarity
...
* src/hydrogen.h:
* src/hydrogen.cc (HBasicBlock::CreateSimulate): Rename "id" arg to
"ast_id".
BUG=
TEST=
Review URL: http://codereview.chromium.org/7234010
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-23 06:26:50 +00:00
mikhail.naganov@gmail.com
0416b2edc4
Prevent a NULL deref.
...
Patch by Rachel Blum <groby@chromium.org>
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/7218036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 20:41:02 +00:00
mikhail.naganov@gmail.com
0a12f5dcf8
Fix issue 1354: Bad function name inference.
...
R=kmillikin@chromium.org , vitalyr@chromium.org
BUG=1354
TEST=test-func-name-inference
Review URL: http://codereview.chromium.org/7206015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 20:23:48 +00:00
sgjesse@chromium.org
322d246e7e
ARM: Improve register allocation and constraints.
...
Gives ~20% boost for Crypto benchmark on A9.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7148018
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 19:49:31 +00:00
sgjesse@chromium.org
8677fd370c
ARM: Add PostIndex support to Ldrd/Strd macro fallback code.
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7080052
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 19:18:04 +00:00
cira@chromium.org
2b77b78446
Adding support for number formating to the JS i18n API.
...
This is the last part of the API that belongs in public spec.
Methods supported:
- format
- derive
Options supported:
- style (decimal, scientific, currency and percent)
- pattern
- skeleton
TEST= Visit i18n.kaziprst.org/numberformat.html
Review URL: http://codereview.chromium.org/7129051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 18:55:06 +00:00
yangguo@chromium.org
286f1d6bc3
d8 drops into a shell if no files are passed on command line
...
Fixes regression introduced in r8241.
BUG=
TEST=Run ./d8 --print_code -- should drop into shell.
Review URL: http://codereview.chromium.org/7193011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 17:32:35 +00:00
whesse@chromium.org
183efaee32
Slightly improve r8367, fix to overflow of on-stack replacement.
...
The improvement is included in the port of r8367 to earlier versions of V8.
Review URL: http://codereview.chromium.org/7229011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 15:30:00 +00:00
sandholm@chromium.org
a8921c4681
Inctroduce NewStrictSubstring to avoid check for SubString(str, 0, str.length). Cleanup JsonParser.
...
Review URL: http://codereview.chromium.org/7230006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 14:20:23 +00:00
mikhail.naganov@gmail.com
650df48c55
Cleanup extra initialization of TickSample fields.
...
R=vitalyr@chromium.org
BUG=1293
Review URL: http://codereview.chromium.org/7203005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 13:54:35 +00:00
whesse@chromium.org
8e7405800e
Fix an overflow in on-stack replacement spill-slot allocation for Crankshaft.
...
BUG=v8:1407
TEST=
Review URL: http://codereview.chromium.org/7231008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 13:08:40 +00:00
jkummerow@chromium.org
1e1387f12c
Add possibility to configure 'prototype' property via FunctionTemplate
...
BUG=v8:1479
TEST=test-api/SetPrototypeProperties
Review URL: http://codereview.chromium.org/7229007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 12:39:45 +00:00
lrn@chromium.org
e8b2016b58
Prepare push to trunk. Now working on V8 version 3.4.7.
...
Review URL: http://codereview.chromium.org/7234008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 12:36:29 +00:00
fschneider@chromium.org
d64b48fb3c
Eliminate unnecessary patching of load-length ICs in megamorphic state.
...
This avoid the worst case of patching ICs repeatedly with the
same stub code object.
BUG=v8:1489
Review URL: http://codereview.chromium.org/7230007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 10:24:40 +00:00
erik.corry@gmail.com
5b7b0ce861
Limit the size of the space reserved for code on systems that
...
are short of virtual memory. This should make V8 work in 64 bit
on OpenBSD in its default configuration. It is a simplified
version of the reverted 8133 which also lowered the non-code
heap size, causing test failures in Chromium on MacOS.
Review URL: http://codereview.chromium.org/7234004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 10:13:10 +00:00
lrn@chromium.org
e378829b24
Combined identical classes V8JavaScriptScanner and StandAloneJavaScriptScanner.
...
Now only uses the common superclass of the two scanner classes.
Updated comment on KeywordMatcher.
Review URL: http://codereview.chromium.org/7211013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 09:06:03 +00:00
svenpanne@chromium.org
0bb0d672b6
Make ToBooleanStub more consistent across platforms.
...
The declaration of the ToBoolean class moved to the platform-independent part
and its implementations are now structurally very similar. This is just an
intermediate cleanup step to add type recording at the call site.
Note that the MIPS implementation has not really been touched, so it should
continue to work, too.
Review URL: http://codereview.chromium.org/7218012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 08:28:35 +00:00
sgjesse@chromium.org
ee78600543
MIPS: Fix arguments-branch update per review comments.
...
This is a follow-on to r8340, http://codereview.chromium.org/7216004/
Søren had commited changes and closed issue, as Karl was commenting about
problems in the code.
Thanks Karl, for your detailed code review. I have corrected the issues
you raised.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7232004
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 07:48:32 +00:00
sgjesse@chromium.org
42a87564c3
ARM: Fix context save/restore for VFP registers.
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7217011
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 06:24:34 +00:00
peter.rybin@gmail.com
d689da9108
Issue 1418: Debug: extends setBreakpoint API to accept partial script name as a parameter
...
Review URL: http://codereview.chromium.org/7200024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 19:42:35 +00:00
lrn@chromium.org
097060c699
[x64] Fix disassembly of movmskpd instruction.
...
The destination is a GP register, not an XMM register. ia32 did not
have this problem.
BUG=
TEST=Check --print_code output for code that tests for -0.0.
Review URL: http://codereview.chromium.org/7191015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 13:57:03 +00:00
lrn@chromium.org
12c3e7799c
Make multi-line comments not count when checking whether --> is first on a line.
...
A multi-line comment containing a newline is considered a line-terminator for
other purposes, but a "-->" following such a comment is considered as being
on the same line as the text preceeding the multi-line comment.
This behavior matches JSC matching Firefox.
TEST=cctest/test-parsing/ScanHTMLEndComments
Review URL: http://codereview.chromium.org/7218009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 13:34:16 +00:00
fschneider@chromium.org
01a8cda43e
Remove redundant hydrogen- and lithium instruction for symbol comparison.
...
We had two instructions HCompareJsObjectEq and HCompareSymbolEq that behave
exactly the same. I removed one and renamed the remaining instruction into
HCompareObjectEq.
Review URL: http://codereview.chromium.org/7206040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 11:18:15 +00:00
karlklose@chromium.org
c5a24f64c4
Fix wrong bounds check on arguments object.
...
TEST=added to test/mjsunit/arguments.js
Review URL: http://codereview.chromium.org/7217005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 09:27:38 +00:00
ager@chromium.org
a96b9156a3
Correctly handle non-array receivers in Array length setter.
...
BUG=v8:1491
TEST=mjsunit/regress/regress-1491.js
Review URL: http://codereview.chromium.org/7206038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 08:07:45 +00:00
mikhail.naganov@gmail.com
bf9b2f8c2c
Heap profiler: add an ability to iterate over snapshot's nodes.
...
This is a preparation for removing aggregated heap snapshots.
W/o this API, counting object instances in a snapshot is very hard.
R=sgjesse@chromium.org
BUG=1481
TEST=cctest/test-heap-profiler/NodesIteration
Review URL: http://codereview.chromium.org/7204040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 08:02:34 +00:00
jkummerow@chromium.org
5c63dd26fc
Use issue number instead of username for TODO comment
...
Review URL: http://codereview.chromium.org/7216007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 07:52:19 +00:00
sgjesse@chromium.org
99503281fc
MIPS: port Merge arguments branch to bleeding edge (second try).
...
Ported r8315 (d70d395).
BUG=
TEST=
Review URL: http://codereview.chromium.org//7216004
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 07:47:26 +00:00
sgjesse@chromium.org
57c1899f78
MIPS: Port some DIV changes to BinaryOpStub::GenerateInt32Stub().
...
There were some changes in ARM r8172 that we needed to port to MIPS,
but missed.
The bug was exposed with the Arm & Mips fix in r8321, "Fix wrong
parenthesis in stub ARM and MIPS generation code."
BUG=
TEST=
Review URL: http://codereview.chromium.org//7211006
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 07:34:01 +00:00
sgjesse@chromium.org
c1930b73c6
MIPS: Update an outdated comment in the CEntryStub.
...
Following r8289 (bf0c0cf).
BUG=
TEST=
Review URL: http://codereview.chromium.org//7211007
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-21 07:32:23 +00:00
whesse@chromium.org
61510da25a
Restore accidentally deleted src/extensions/experimental/i18n.js
...
Review URL: http://codereview.chromium.org/7205030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 14:14:33 +00:00
jkummerow@chromium.org
ff55249ffa
Fix DoHasInstanceType on ARM
...
Was broken by the recent JumpIfSmi() cleanup.
TEST=es5conform
Review URL: http://codereview.chromium.org/7206023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 12:45:09 +00:00
svenpanne@chromium.org
af24067fa5
Refactor the way we collect the information for associating type-related infos
...
with AST IDs. Previously 3 different places had to match in how they handle a
given case, now we are down to 2, with an even simpler logic.
The downside is that due to this simpler logic the allocated dictionary could be
larger than before, but test have shown that this happens *very* rarely, because
its capacity is rounded to the next power of 2, anyway. Furthermore, the oracle
doesn't live long enough that we should really care.
The whole oracle is probably still a bit too tricky in its details, but this is
at least a step into the right direction.
Review URL: http://codereview.chromium.org/7204003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 12:33:08 +00:00
sgjesse@chromium.org
4fa40ebc78
Include the loop header block when eliminating stack checks
...
In simple unconditional loops - like the following - the hydrogen stack check elimination did not detect the call as the loop header block itself was not considered.
function f(o) {
while(true) {
o.a();
}
}
R=fschneider@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7210010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 12:29:03 +00:00
erik.corry@gmail.com
5fb7199b8d
Do not automatically pretenure global closures in runtime.cc
...
unless the caller has indicated that pretenuring is desirable.
This is intended to fix http://jsperf.com/scope-lookups/3
Review URL: http://codereview.chromium.org/7210011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 12:20:30 +00:00
lrn@chromium.org
8c538d9012
Made parser not accept unicode escapes inside "native" when used as a keyword.
...
This is a regression relative to the original behavior, when "native" was a keyword,
since keywords cannot contain esacpes.
Added tests for escapes and for not allowing line-terminators betwen "native" and "function".
Review URL: http://codereview.chromium.org/7206022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 11:52:24 +00:00
lrn@chromium.org
480ec43c4e
Make "native" not a keyword.
...
We now only recognize "native function" when it occurs in extension scripts
(parsing with a non-NULL extension), and only if there is no line-terminator
between "native" and "function" (so that it would otherwise be a Syntax Error).
Preparsing never recognizes native functions, which is acceptable since we
never preparse extension scripts (because we don't allow lazy functions
anyway).
BUG=v8:1097
Review URL: http://codereview.chromium.org/7206020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 10:20:57 +00:00
jkummerow@chromium.org
b789cb8c94
Crankshaft support for polymorphic array handling
...
Review URL: http://codereview.chromium.org/7170012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 10:19:00 +00:00
whesse@chromium.org
404434628b
Prepare push to trunk. Now working on version 3.4.6.
...
Review URL: http://codereview.chromium.org/7212007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 09:30:54 +00:00
kasperl@chromium.org
5a547ac413
Generalized Stephen's patch from http://codereview.chromium.org/7044100/ and
...
added a few test cases.
Review URL: http://codereview.chromium.org/7212006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-20 07:40:42 +00:00
jkummerow@chromium.org
2fe5afedf3
Cleanup: use JumpIf[Not]Smi() whenever we can
...
Review URL: http://codereview.chromium.org/7191007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-17 18:32:36 +00:00
fschneider@chromium.org
280134bb36
Fix wrong parenthesis in stub ARM and MIPS generation code.
...
I think the problem did not manifest as a bug, since the only
consequence was to generate extra code to return heap number
results in case of the INT32-stub.
Review URL: http://codereview.chromium.org/7192006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-17 10:45:29 +00:00
mikhail.naganov@gmail.com
973fca1689
Fix issue 1417: check for script source availability when enumerating optimized functions.
...
R=kasperl@chromium.org ,kmillikin@chromium.org
BUG=1417
TEST=test-log/Issue23768
Review URL: http://codereview.chromium.org/7184027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-17 08:40:30 +00:00
erik.corry@gmail.com
c95ecb1fcd
Refix issue 1472. The previous fix worked for the example in the bug
...
report, but was not general enough to catch all cases. This is a new
approach. Includes regression test!
Review URL: http://codereview.chromium.org/7193007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-17 08:01:12 +00:00
lrn@chromium.org
ee59eff127
Make line-terminators inside multi-line comments count.
...
Now follows the specification. Follows WebKit change in revision 89100.
BUG=86431
TEST=regress-892742
Review URL: http://codereview.chromium.org/7184034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-17 07:23:07 +00:00
erik.corry@gmail.com
fbe89ca13e
Add missing assert to Label destructor.
...
Review URL: http://codereview.chromium.org/7172026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-16 15:18:48 +00:00
karlklose@chromium.org
f4e4bc43a8
Merge arguments branch to bleeding edge (second try).
...
Review URL: http://codereview.chromium.org/7187007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-16 14:12:58 +00:00
ricow@chromium.org
b256c9c192
Reinitialize the arguments object in d8 when renewing the evaluation context (fixes issue 1477).
...
Review URL: http://codereview.chromium.org/7189007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-16 08:35:26 +00:00
jkummerow@chromium.org
a5ef18b9de
Fix building in release mode with disassembler=on
...
BUG=v8:1473
Review URL: http://codereview.chromium.org/7147014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-16 07:58:47 +00:00
sgjesse@chromium.org
5efb84623b
ARM: Clean up literal pool generation.
...
Remove dead code, and generate pools less frequently.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7108061
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-16 07:00:46 +00:00
karlklose@chromium.org
cc19d1e278
Revert "Merge arguments branch to bleeding merge."
...
This reverts commit ceb31498b9d69edca3260820fb4047045891ce6d.
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/7172030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-16 06:37:49 +00:00
erik.corry@gmail.com
dc66620251
Avoid OOM on regexps with nested quantifiers.
...
http://code.google.com/p/v8/issues/detail?id=1472
Review URL: http://codereview.chromium.org/7170014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 20:15:40 +00:00
vegorov@chromium.org
14bf246dfa
Add missing branches in code generated for LModI with power-of-2 divisor.
...
BUG=v8:1476
TEST=test/mjsunit/regress/regress-1476.js
Review URL: http://codereview.chromium.org/7097015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 19:57:39 +00:00
karlklose@chromium.org
6cfeb2d400
Merge arguments branch to bleeding merge.
...
Review URL: http://codereview.chromium.org/7167006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 15:09:28 +00:00
ricow@chromium.org
4032d2165e
Make name and message non-enumerable on Error object (this is a partial fix for issue 1215)
...
Review URL: http://codereview.chromium.org/7172011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 13:54:40 +00:00
ricow@chromium.org
b84d07767c
Change DefineOrRedefineDataProperty to use local lookup (fix issue 1435).
...
This prevents us from normalizing when we do not need to.
Review URL: http://codereview.chromium.org/7168012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 11:41:03 +00:00
ricow@chromium.org
23d0aa614b
Ensure that bound functions does not have a prototype (fixes issue 794)
...
Review URL: http://codereview.chromium.org/7148014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 10:47:37 +00:00
sgjesse@chromium.org
962c25bb49
MIPS: port First steps towards better code generation for LBranch.
...
Ported r8274 (03e42c0)
BUG=
TEST=
Review URL: http://codereview.chromium.org//7170006
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 10:07:10 +00:00
svenpanne@chromium.org
88e94a61ff
Prepare push to trunk.
...
Review URL: http://codereview.chromium.org/7171015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 09:58:04 +00:00
fschneider@chromium.org
e5cc31e444
Generate better branch code for instanceof-predicates.
...
Review URL: http://codereview.chromium.org/7168013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 09:20:24 +00:00
karlklose@chromium.org
7c13e67f52
Update an outdated comment in the CEntryStub on ARM.
...
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/7134106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 09:17:54 +00:00
ager@chromium.org
ef7b56bf3e
Remove unused methods.
...
Do not force set DEBUG.
R=kasperl@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7171014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 06:51:22 +00:00
ricow@chromium.org
40fa4a761b
Correctly set ReadOnly flag on indexed properties when using the API Set method (fixes issue 1470)
...
Review URL: http://codereview.chromium.org/7149015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-15 06:44:57 +00:00
kmillikin@chromium.org
9756397b76
Fix invalid assertion.
...
Runtime_DeclareContextSlot is used to declare global variables.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7158001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 19:26:09 +00:00
kmillikin@chromium.org
d77fa99e28
Guard an unsafe cast of a catch context's extension object.
...
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7149019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 15:00:57 +00:00
fschneider@chromium.org
dc47de6732
Distinguish keyed loads with a symbol key from fast elements loads.
...
This change fixes the deoptimization when a keyed load is used with
a symbol key. Before we would wrongly generate a fast elements load.
Now we generate a generic keyed load instead.
BUG=1471
Review URL: http://codereview.chromium.org/7150010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 13:21:24 +00:00
vitalyr@chromium.org
d254298e3a
Make valgrind happy with SparseSet.
...
R=ager@chromium.org
BUG=crbug.com/83626
Review URL: http://codereview.chromium.org/7111047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 12:48:25 +00:00
kmillikin@chromium.org
7d527f857f
Change the representation of catch contexts.
...
Before, they had no extra slots and an extension object with one named
property. Now, they use the extension slot for the property name and have
an extra slot for the thrown object. This increases the size of the context
itself, but removes overall allocation and eliminates a level of indirection.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7152002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 12:16:23 +00:00
ricow@chromium.org
38a75cf731
Geve correct error message when Object.isExtensible is called on a non object (fixes issue 1452)
...
Review URL: http://codereview.chromium.org/7146010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 11:28:14 +00:00
svenpanne@chromium.org
a4cf7be941
First steps towards better code generation for LBranch:
...
* AST Expression nodes get a separate testing ID to record type info in
ToBooleanStub later. This is necessary to avoid clashes with other uses of
already existing IDs.
* In order to avoid threading the condition expression through tons of places,
TestContexts carry it now with them. Note that we will probably only need the
testing ID of the expression, but having the whole thing at hand makes
debugging easier. Probably we will change this later...
Review URL: http://codereview.chromium.org/7046073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 09:15:25 +00:00
sgjesse@chromium.org
906fc4cd01
Always print the deoptimization data when disassembling the generated code
...
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7003093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 09:10:39 +00:00
sgjesse@chromium.org
0135acd8e8
MIPS: port Refactor platform-specific code for determining shared stub for keyed load/stores.
...
Ported r8253 (9d8e6ab).
BUG=
TEST=
Review URL: http://codereview.chromium.org//7003141
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-14 06:37:56 +00:00
yangguo@chromium.org
7a1977544d
added explicit attributes since constructors have only one argument now.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 12:41:43 +00:00
yangguo@chromium.org
b2ffa68884
removed isolates from d8 since they are not necessary anymore
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 12:41:35 +00:00
yangguo@chromium.org
f5a0b2e749
corrected parts in d8 that accesses the new "deisolated" Thread in platform.h
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 12:41:26 +00:00
ager@chromium.org
b7a93d417d
Add GetOwnPropertyNames method for Object in the API
...
Patch by Peter Varga.
BUG=none
TEST=cctest/test-api/PropertyEnumeration
Review URL: http://codereview.chromium.org/7129058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 12:33:55 +00:00
svenpanne@chromium.org
9a1d430f32
Added two convenience methods to access an int/double argument from within a
...
runtime function and use these in various places.
Review URL: http://codereview.chromium.org/7003114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 12:15:30 +00:00
fschneider@chromium.org
5a236ce6fd
Add support for hydrogen control instructions with >2 successor blocks.
...
This change makes the number of successors of a control instruction
configurable with a template parameter and changes the existing instructions
to use it.
To iterate over all successors I added an iterator instead of always calling
First- and SecondSuccessor.
Review URL: http://codereview.chromium.org/7114004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 12:09:48 +00:00
mikhail.naganov@gmail.com
508b22c436
"Deiceolate" Thread classes.
...
Thread class was receiving an isolate parameter by default.
This approact violates the assumption that only VM threads
can have an associated isolate, and can lead to troubles,
because accessing the same isolate from different threads
leads to race conditions.
This was found by investigating mysterious failures of the
CPU profiler layout test on Linux Chromium. As almost all
threads were associated with some isolate, the sampler was
trying to sample them.
As a side effect, we have also fixed the DebuggerAgent test.
Thanks to Vitaly for help in fixing isolates handling!
R=vitalyr@chromium.org
BUG=none
TEST=none
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 09:54:04 +00:00
ager@chromium.org
aa7ad8ee9d
Fix issue 1447 by not redefining properties unneccesarily in seal and freeze.
...
This avoids attempting to redefine function.arguments with a different
value than the current one. function.arguments returns a new copy on
each invocation.
R=lrn@chromium.org
BUG=v8:1447
TEST=mjsunit/regress/regress-1447.js
Review URL: http://codereview.chromium.org/7044104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 09:45:02 +00:00
mikhail.naganov@gmail.com
47248cc5fe
Revert accidental r8254..r8256
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 09:42:08 +00:00
mikhail.naganov@gmail.com
e1db94c0cb
trying to fix test
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 09:36:35 +00:00
mikhail.naganov@gmail.com
f05fd92994
remove isolate reference from threads
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 09:35:31 +00:00
danno@chromium.org
bc4156ca7c
Refactor platform-specific code for determining shared stub for keyed load/stores.
...
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7044083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 07:49:49 +00:00
sgjesse@chromium.org
870ef6bdfe
Remove the flag --debug-info
...
This flag has not bees set to false for years, and even when building without debugging support the position information is required for stack traces.
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7046078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 07:15:46 +00:00
sgjesse@chromium.org
2481f0fc59
MIPS: port Dispatch on ElementsKind rather than ExternalArrayType ...
...
Port r8244 (c90151c)
Orig commit msg:
Dispatch on ElementsKind rather than ExternalArrayType when generating ICs
and Crankshaft code for many element operations. This is preparation to be
able to share more code in the various element accessor implementations.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7134064
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 07:14:34 +00:00
sgjesse@chromium.org
f8ff2b00fa
MIPS: port Link function contexts directly to the previous context.
...
Ported r8238 (7803ed7)
This commit would have also included changes to macro-assembler-mips.cc,
however Kevin M. did those changes in later commit r8248. (thx!)
BUG=
TEST=
Committed: http://code.google.com/p/v8/source/detail?r=8249
Review URL: http://codereview.chromium.org//6995128
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 07:13:07 +00:00
sgjesse@chromium.org
2cdddbf89f
MIPS: port Link function contexts directly to the previous context.
...
Ported r8238 (7803ed7)
This commit would have also included changes to macro-assembler-mips.cc,
however Kevin M. did those changes in later commit r8248. (thx!)
BUG=
TEST=
Review URL: http://codereview.chromium.org//6995128
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 07:09:14 +00:00
kmillikin@chromium.org
9ecfdb340c
Use the previous context link when checking context extension objects.
...
In generated code, when walking the context to inspect context extension
objects, use the previous context link directly.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7044081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 17:44:50 +00:00
danno@chromium.org
7c26e7143f
Fix bogus unreachable in debug code.
...
BUG=none
TEST=none
TBR=jkummerow@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 16:20:41 +00:00
fschneider@chromium.org
424407c727
Simplify the check when to perform loop invariant code motion.
...
Allow HChange instructions to be hoisted out of loops. To avoid
unnecessary code motion we don't hoist instructions from blocks that
have been marked containing an unconditional deoptimization.
Review URL: http://codereview.chromium.org/7003087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 15:49:21 +00:00
danno@chromium.org
9f432cd159
Dispatch on ElementsKind rather than ExternalArrayType when generating ICs and Crankshaft code for many element operations. This is preparation to be able to share more code in the various element accessor implementations.
...
Merge logic to maintain external array and fast element stub caches.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7112010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 15:19:37 +00:00
yangguo@chromium.org
d5951b8ef9
fixed style mistake found in presubmit.py
...
Review URL: http://codereview.chromium.org/6995110
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 15:07:45 +00:00
ager@chromium.org
8ec22db350
Correct the limit of local variables in a optimized functions.
...
The encoding constraint is that we have 128 values. We use [-64,0] for
parameters and [0,63] for locals. However, for locals we restricted to
64 and not 63.
R=kmillikin@chromium.org
TEST=mjsunit/compiler/regress-max-locals-for-osr.js
Review URL: http://codereview.chromium.org/6995108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 14:52:58 +00:00
yangguo@chromium.org
3f80bacffb
added --stress-opt option to d8
...
Review URL: http://codereview.chromium.org/7134040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 14:28:49 +00:00
svenpanne@chromium.org
03a6c2b6af
Moved non-architecture-specific GetFooCodeStub functions to ic.cc, removing
...
duplicate code and the need for 2 free-floating function prototypes.
Review URL: http://codereview.chromium.org/7134043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 13:26:18 +00:00
kmillikin@chromium.org
4b96218589
Link function contexts directly to the previous context.
...
Instead of NULL in the previous field of function contexts, put the previous
context. This saves the indirection of fetching the previous through the
context's closure.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7134042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 12:45:26 +00:00
whesse@chromium.org
c40aa827bf
Add boolean flag to HChange and LNumberUntagD to not convert undefined to NaN.
...
This is needed so that HCompare, optimized for double inputs, works correctly on undefined inputs.
BUG=v8:1434
TEST=mjsunit/bugs/bug-1434.js
Review URL: http://codereview.chromium.org/7044049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 12:27:28 +00:00
kmillikin@chromium.org
371af773cf
A collection of context-related refactoring changes.
...
Introduce separate maps for function and with contexts. Use the function
context map for testing whether a context is a function context (global
contexts are no longer function contexts).
Split the paths for allocating with and catch contexts.
Rename some functions. Generally refactor code to make it simpler.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7003058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 11:26:01 +00:00
fschneider@chromium.org
68eab4a8d8
Fix bug with GVN on array loads.
...
This fixes a bug where an array load was incorrectly hoisted by GVN.
BUG=85177
TEST=mjsunit/regress/regress-85177.js
Review URL: http://codereview.chromium.org/7003054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 11:15:03 +00:00
danno@chromium.org
4de3bb500c
Implement core support for FixedDoubleArrays.
...
Under a flag without IC or Crankshaft support.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7089002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 10:03:35 +00:00
sgjesse@chromium.org
62a65fcc67
Add support for building Xcode project files from GYP files
...
Removed the current Xcode project file.
Fixed a few places where the C++ compiler supplied with Xcode produced warnings.
Review URL: http://codereview.chromium.org/7134016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 09:07:17 +00:00
ager@chromium.org
626cdffaef
Fix Array.prototype.{reduce,reduceRight} to pass undefined as receiver for strict mode callbacks.
...
Propagate strict mode information from pre-parser to parser for lazily compiled functions.
R=lrn@chromium.org
BUG=v8:1436
TEST=mjsunit/regress/regress-1436.js
Review URL: http://codereview.chromium.org/7044054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 09:05:15 +00:00
sgjesse@chromium.org
94be13e794
MIPS: port Stop using with explicitly to implement try/catch.
...
Port r8224 (bdec5d6)
Original commit message:
The AST for TryCatch gives us enough structure that we do not need to expand
it to explicitly include a with. Try/catch is still handled the same as
before at runtime.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7134037
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-09 07:06:15 +00:00
kmillikin@chromium.org
6304b12680
Fix lint error. TBR.
...
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7046046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 14:11:29 +00:00
kmillikin@chromium.org
e9a1ffde92
Stop using with explicitly to implement try/catch.
...
The AST for TryCatch gives us enough structure that we do not need to expand
it to explicitly include a with. Try/catch is still handled the same as
before at runtime.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7134014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 13:55:33 +00:00
fschneider@chromium.org
699d17c3b9
Remove unused function form hydrogen instructions.
...
Review URL: http://codereview.chromium.org/7044045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 12:22:06 +00:00
fschneider@chromium.org
2dc734c108
Cleanup unused lithium instructions.
...
Instructions that have side effects can never have EmitAtUses() true.
These instructions (CmpTAndBranch, InstanceOfAndBranch) are therefore
never generated and can therefor be safely removed.
Review URL: http://codereview.chromium.org/7031074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 10:51:51 +00:00
mikhail.naganov@gmail.com
59485c1060
Add snapshot compression support into d8.
...
I'm not bothering with compressing d8.js, since it makes no sense,
but it is also possible.
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/7046027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 09:00:25 +00:00
jkummerow@chromium.org
6beeec3009
Prepare push to trunk. Now working on version 3.4.4.
...
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/7046042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 08:58:59 +00:00
lrn@chromium.org
bd826d54f5
Fix bug in Object.defineProperty where a growing lements dictionary was ignored.
...
TEST=mjsunit/object-define-property
Review URL: http://codereview.chromium.org/7129017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 08:13:31 +00:00
sandholm@chromium.org
b5144668cd
Specialize JSON parser to only check for SequentialAsciiString once.
...
Review URL: http://codereview.chromium.org/7134010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 08:09:48 +00:00
erik.corry@gmail.com
3a824b86ac
Revert 8133: Lower heap size limits on systems that are short
...
of virtual memory.
Review URL: http://codereview.chromium.org/7041004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 07:28:31 +00:00
vitalyr@chromium.org
2bc305cd9a
Fix bug 1433: clear the global thread table when an isolate is disposed.
...
R=ager@chromium.org
BUG=v8:1433
TEST=test-lockers/Regress1433
Review URL: http://codereview.chromium.org/7129002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-07 18:33:03 +00:00
vitalyr@chromium.org
7ff41d4322
Reduce TLS overhead in v8::TryCatch.
...
R=vegorov@chromium.org
BUG=v8:1426
Review URL: http://codereview.chromium.org/6982059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-07 15:01:52 +00:00
vitalyr@chromium.org
a07bd45c29
Clean up a few TODO(isolates).
...
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6993061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-07 13:09:01 +00:00